简介
在之前的实验中,终端关闭后,配置就会消失。这就像住酒店:离开后房间会恢复原状。
如果要保留更改,就需要将其写入指定的配置文件。
这是一个重要的操作习惯。临时更改适合用于试验,但长期生效的 Shell 行为通常应写入启动文件,因为 Shell 会在会话开始时读取这些文件。
不同的 Shell 使用不同的配置文件:
- Zsh(LabEx 默认 Shell):
~/.zshrc。 - Bash:
~/.bashrc。
这一点很重要,因为「Shell」不是唯一的通用程序。每种 Shell 都有自己的约定、启动规则和配置文件。
在本实验中,你将:
- 修改 Zsh 配置。
- 切换到 Bash。
- 修改 Bash 配置。
编辑 Zsh 配置(.zshrc)
LabEx 默认使用的 Shell 是 Zsh。它的配置文件是 ~/.zshrc。
- 打开
~/.zshrc:
nano ~/.zshrc
- 滚动到文件末尾,添加以下内容:
alias hellozsh='echo Hello from Zsh'
- 保存并退出(
Ctrl + O→Enter→Ctrl + X)。
你已经写入了配置,但 Shell 还没有读取它。
编辑配置文件会修改磁盘上的文件,但不会立即改变正在运行的 Shell 的行为。新的设置生效前,Shell 必须重新读取该文件。
重新加载配置(source)
使用 source 强制 Shell 重新加载配置文件。
source 命令会让当前 Shell 从文件中读取命令,并在当前会话中执行这些命令,而不是在新的子进程中执行。
- 重新加载配置:
source ~/.zshrc
- 测试新别名:
hellozsh
输出:
Hello from Zsh
现在,这个别名已对 Zsh 持久生效。
切换到 Bash
现在,测试不同 Shell 之间的隔离性。
- 切换到 Bash:
bash
- 尝试运行 Zsh 别名:
hellozsh
输出:command not found。
这是因为 Bash 只会读取 ~/.bashrc。
这很好地说明了 Shell 自定义设置通常只适用于特定的 Shell。为一种 Shell 创建的设置不会自动对所有 Shell 生效。
编辑 Bash 配置(.bashrc)
现在配置 Bash。
- 打开
.bashrc:
nano ~/.bashrc
- 在文件末尾添加以下别名:
alias hellobash='echo Hello from Bash'
保存并退出。
重新加载 Bash 配置:
source ~/.bashrc
- 测试该别名:
hellobash
输出:Hello from Bash。
- 退出 Bash,返回 Zsh:
exit
总结
在本实验中,你学习了如何永久自定义 Linux 环境:
- Shell 的差异:不同的 Shell(Zsh、Bash)使用不同的配置文件(
.zshrc、.bashrc)。 - 持久化:在终端会话中进行的更改,除非保存到这些文件中,否则只是临时的。
- Source:使用
source可以立即应用更改,而无需重启终端。
现在,无论使用哪种 Shell,你都了解如何自定义自己的环境了!



