在 CentOS 中 alias 失效通常是环境或配置文件加载的问题,可按下面步骤排查和解决。
alias
或
alias ll
如果没有显示,说明 alias 根本没生效。
aliases 一般应写在:
~/.bashrc
而不是:
~/.bash_profile(登录 shell 才加载)~/.profile✅ 正确写法示例:
alias ll='ls -l'
alias grep='grep --color=auto'
然后执行:
source ~/.bashrc
如果你登录的是:
shdash.bashrc 不会自动执行。
检查当前 shell:
echo $0
或
ps -p $$
✅ 解决:
bash 登录~/.bash_profile 里加:if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
你可能在:
su root
而不是
su - root
⚠️ su 不会加载用户环境,su - 才会。
✅ 解决:
su -
或
source ~/.bashrc
确保:
~/.bashrc
里没有被提前 return
典型问题:
# 如果非交互式则退出
case $- in
*i*) ;;
*) return;;
esac
✅ 解决:
su - 用户名说明配置文件没保存或写错位置。
确认:
ls -a ~ | grep bashrc
在 ~/.bashrc 末尾加:
# custom aliases
alias ll='ls -l'
alias la='ls -la'
然后:
source ~/.bashrc
把下面信息发我,我帮你精准定位:
cat /etc/redhat-release)echo $SHELL
cat ~/.bashrc | tail -20
我可以一步步帮你排。