Ubuntu 中别名(alias)失效通常是因为终端会话、Shell 类型或配置文件加载顺序的问题。下面按常见原因给你系统排查一下。
如果你是这样定义的:
alias ll='ls -l'
那么关闭终端后就会失效。
✅ 解决办法:写入配置文件
不同 Shell 用的配置文件不同:
| Shell | 配置文件 |
|---|---|
| bash | ~/.bashrc |
| zsh | ~/.zshrc |
| sh | 不支持 alias 持久化 |
✅ 检查你当前 shell:
echo $SHELL
如果是 bash:
nano ~/.bashrc
如果是 zsh:
nano ~/.zshrc
加入:
alias ll='ls -l'
然后执行:
source ~/.bashrc
# 或
source ~/.zshrc
sudo、管道、子 shell 都会失效❌ 示例(会失效):
sudo ll
✅ 正确方式:
sudo ls -l
查看是否已有别名:
alias ll
取消别名:
unalias ll
su / ssh 后失效su 不会加载 .bashrc✅ 解决:
bash -i
或显式加载:
source ~/.bashrc
❌ 错误示例:
/etc/profile(不推荐)~/.profile(不一定生效)✅ 推荐:
~/.bashrc
echo $SHELL
alias
type ll
source ~/.bashrc
# ~/.bashrc
alias update='sudo apt update && sudo apt upgrade -y'
alias cls='clear'
然后:
source ~/.bashrc
直接把下面命令的输出贴出来即可:
echo $SHELL
cat ~/.bashrc | grep alias