在 Ubuntu 里“alias 无效”是一个很常见的问题,通常不是 alias 写错,而是生效范围或加载时机不对。下面按最常见原因逐一说明。
alias ll='ls -l'
这种写法只在当前终端会话有效,关掉终端或新开一个窗口就没了。
✅ 正确做法:写入配置文件
nano ~/.bashrc
在最后加:
alias ll='ls -l'
然后:
source ~/.bashrc
⚠️ 注意:
#!/bin/bash
alias ll='ls -l'
ll
❌ 默认失败
✅ 解决方式 1:启用 alias 扩展
shopt -s expand_aliases
alias ll='ls -l'
ll
✅ 解决方式 2(推荐):用函数
ll() {
ls -l "$@"
}
Ubuntu 22.04+ 默认可能是 zsh
检查:
echo $SHELL
/bin/bash → 改 ~/.bashrc/bin/zsh → 改 ~/.zshrc例如:
alias ll='ls -l'
# 后面又有
alias ll='ls'
结果以后面的为准。
排查:
alias ll
~/.bashrc~/.zshrc/etc/bash.bashrc/etc/profile⚠️ 改系统文件可能影响所有用户
sudo ll
❌ alias 不会传给 sudo
✅ 解决:
sudo ls -l
或用:
alias sudo='sudo '
~/.bashrc 或 ~/.zshrcsource如果你愿意,可以把**具体的 alias 写法 + 使用场景(终端 / 脚本 / sudo)**发出来,我可以直接帮你定位是哪一条原因。