在 CentOS(以及大多数 Linux 发行版)中,alias(别名) 和 .bashrc 的关系可以这样理解:
alias 是 Bash 提供的命令别名机制,用来给一条或多条命令起一个更短/更方便的名字。
例如:
alias ll='ls -l'
alias rm='rm -i'
之后在终端输入 ll,就相当于执行 ls -l。
⚠️ alias 只在当前 shell 会话中有效,退出终端后就失效了。
.bashrc 是 用户级别的 Bash 配置文件,位于:
~/.bashrc
当你**打开一个交互式非登录 Bash(如终端窗口)**时,Bash 会自动读取并执行 ~/.bashrc 中的内容。
常见用途:
关系总结一句话:
.bashrc是用来“持久化”alias 的地方。
在终端直接写:
alias ll='ls -l'
✅ 当前终端可用
❌ 重启终端后失效
把 alias 写进 ~/.bashrc:
vim ~/.bashrc
添加:
alias ll='ls -l'
让配置立即生效:
source ~/.bashrc
或
. ~/.bashrc
之后,每次打开新终端,alias 都会自动加载。
除了用户级:
~/.bashrc
还有系统级配置文件:
/etc/bashrc
或
/etc/profile.d/*.sh
这些对所有用户生效,但通常不推荐普通用户修改,除非你是系统管理员。
❌ alias 写在 .bash_profile 里不会每次终端都生效
✅ 交互式终端主要读 .bashrc
❌ alias 在脚本里默认不生效
✅ 脚本中需要 shopt -s expand_aliases 或直接使用函数
| 项目 | 说明 |
|---|---|
| alias | 临时命令别名 |
| .bashrc | 用户 Bash 配置文件 |
| 关系 | .bashrc 用来保存 alias,使其永久生效 |
如果你愿意,我也可以帮你看一段 CentOS 的 .bashrc 示例,或者讲 alias vs function 的区别。