在 Ubuntu 中配置 alias 后“无效”,通常不是 alias 本身有问题,而是生效范围或加载时机不对。下面按最常见原因逐一说明。
如果你这样写:
alias ll='ls -l'
它只在当前终端会话有效,关掉终端再开就失效。
✅ 正确做法:写入配置文件
nano ~/.bashrc
添加:
alias ll='ls -l'
然后执行:
source ~/.bashrc
Ubuntu 22.04+ 默认 shell 可能是 zsh。
检查当前 shell:
echo $SHELL
/bin/bash → 改 ~/.bashrc/bin/zsh → 改 ~/.zshrc✅ zsh 用户:
nano ~/.zshrc
source ~/.zshrc
脚本中 alias 默认不展开。
例如:
#!/bin/bash
alias ll='ls -l'
ll
会报错。
✅ 解决方式之一:
shopt -s expand_aliases
source ~/.bashrc
但更推荐在脚本里用函数:
ll() {
ls -l "$@"
}
.bashrc 中后面如果有:
unalias ll
或再次定义:
alias ll='ls'
会导致你前面的 alias 无效。
✅ 检查:
alias ll
sudo ll
❌ 无效
✅ 解决:
sudo ls -l
或
alias sudo='sudo '
错误示例:
alias ll = 'ls -l' # 等号两边不能有空格
✅ 正确:
alias ll='ls -l'
系统级:
/etc/bash.bashrc
一般用户 shell 不会自动 source(除非配置)。
~/.bashrc 或 ~/.zshrcsourceunalias 覆盖sudo如果你愿意,可以把你的 alias 内容 + 报错信息 + shell 类型发出来,我可以直接帮你定位。