某个时候,你肯定觉得你的 Linux 使用体验可以加点调味料。也许你遇到了重复的任务,或者希望命令行界面更流畅。那么,你知道吗?你的系统掌握了关键:`.bashrc` 文件,静静地藏在你的主目录中!
通过本教程深入了解`~/.bashrc` 文件的基本方面,改变你与 Linux 系统互动的方式。你正在正确的道路上,从定制命令提示符到自动化任务和设置个性化快捷方式。
告别单调的任务,拥抱更高效、更愉快的 Linux 使用体验!
先决条件
在玩弄`~/.bashrc` 文件之前,请确保具备以下条件以便跟随教程:
- A Linux distribution is installed on your machine – This tutorial uses Ubuntu 20.04 LTS, but any other distribution works.
- A non-root user with sudo privileges.
在 Linux 中,Bash 运行命令(.bashrc)文件是什么?
想象一下,在 Linux 中`~/.bashrc`文件就像是你房间里的一个秘密玩具盒。当你打开盒子时,这个玩具盒会为你准备并设置你喜欢的玩具。
但是因为`~/.bashrc`是一个秘密文件,所以当你运行ls
命令时,它不会显示。除非你也指定显示隐藏文件,使用-la
参数,如下所示。
以下是列出的 .bashrc 文件,以及其他一些也是隐藏的文件。

定義自訂別名以快速執行命令
A short definition wouldn’t cut into realizing the ~/.bashrc file’s role in customizing your Linux experience. So, how does this file work exactly? When you crack open that ~/.bashrc file, one of the powerful tricks it lets you achieve is defining custom aliases for your favorite commands.
例如,不需要輸入 sudo apt-get update
來更新系統的本地套件索引,可以在 .bashrc 文件中定義一個具有相同功能的別名。
? 注意:本教程使用 root 帳戶運行命令(不推薦),以示系統配置等管理任務。但出於安全原因,確保在系統上執行類似操作時使用具有
sudo
權限的非 root 用戶。
要定義命令的別名,請按照以下步驟進行:
1. 通過您喜歡的編輯器(如 nano
或 vim
)打開您的家目錄(~/
)中的 .bashrc
文件。
? 如果您使用的是非 root 帳戶,在運行需要提升權限的命令時,請在命令之前加上
sudo
。
2. 然後,滾動到文件底部並定義目標命令(即 sudo apt-get update
)的 alias
(即 update
),如下所示。
保存更改到文件,然後關閉編輯器。

3.保存後,在終端中執行以下命令以source
~/.bashrc
文件。此命令不會在終端中產生任何輸出,但會應用您的更改。
4.現在,運行您定義的update
別名,並確認相應的命令(sudo apt-get update
)執行。
下面的輸出確認了您的update
別名像執行sudo apt-get update
命令一樣,但按鍵較少。

編寫功能以增強生產力
當您需要重複執行複雜操作時,定義別名就會顯得不足夠。但請不要擔心; 函數在這裡提供了一個解決方案,可以應對別名可能會遇到困難的情況。
與僅僅作為單個命令的簡寫的別名不同,函數涵蓋了一系列複雜的命令,旨在執行複雜的操作。
為了了解函數的工作原理,執行以下操作:
1. 在~/.bashrc文件中,追加名為manage_package
(任意)的以下函數。
當執行時,此函數會檢查給定的包是否已安裝,並根據該信息更新或安裝包。
請記住,此函數僅接受一個參數,即您感興趣的包名。
2. 添加函數後,保存更改,關閉編輯器,然後source
~/.bashrc
檔案以應用更改。
3. 一旦 sourced,請在終端中調用該函數(manage_package
),然後是您希望檢查、更新或安裝的 package-name
,如下所示。
本教程選擇的包是 NGINX,但請確保將 package-name
替換為您喜歡的包名。
正如您在輸出中所看到的,這類函數使套件管理變得輕而易舉,為您做了繁重的工作。它們會自動確定您想要的套件是否存在,因此您不必操心。

個性化您的Linux終端和Shell提示(PS1)
將您的Linux終端視為個人工作空間。自定義您的終端會使其變成更具視覺吸引力和信息豐富的環境。
當您為您的Linux終端增添趣味時,天空是極限。您可以通過添加一個很酷的歡迎消息或調整您的shell提示以獲得額外的吸引力,來提升您的終端。
要個性化您的Linux終端,請按照以下步驟進行:
1. 將以下行添加到您的〜/ .bashrc文件的底部。此行在每次啟動終端會話時都會打印一條(問候)消息。
2. 接下來,如果存在,修改主提示字符串1(PS1
)環境變量,或將以下行添加到您的〜/ .bashrc文件中。 PS1
變量精確控制主提示字符串,即當shell準備接受命令時顯示的主提示(例如,user@linux:〜#)。
修改PS1
變量可以更改您的shell提示的外觀,包括其顏色、格式和顯示信息。以下表達式:
- 使用户名(
\u
)和主机名(\h
)显示为亮绿色(32m
)。 - 使当前工作目录(
\w
)显示为亮蓝色(34m
)。 - 为后续出现的文本重置颜色属性为默认颜色(通常为白色)(
\[\033[00m\]
)。此重置确保终端的其余文本不受影响。
3. 保存并关闭文件,然后source
您的~/.bashrc
文件以应用更改。
请注意,下方的欢迎消息会在执行source
后立即出现,并且您定义的Shell提示符的外观会更改。

启动您的脚本:没有路径?没问题!
增强系统以识别附加目录以执行命令可以简化工作流程。以运行脚本为例,不再需要处理长路径,只需纯粹的便利。
要启动您的脚本而无需记忆每个路径,请完成以下步骤:
1. 执行以下命令创建一个名为~/scripts
(任意)的目录(mkdir
)。
2. 接下來,打開~/.bashrc文件並將以下行添加到末尾,這會修改系統的命令搜索路徑。此行將~/scripts
目錄添加到現有的PATH
變量之前。
此行為確保shell優先使用您的腳本,而不是系統中其他位置具有相同名稱的可執行文件。
3. 保存並關閉文件,然後source
它以應用更改而不重新啟動終端。
4. 隨後,運行以下每個命令以在您的~/scripts
目錄中創建一個名為testscript
(任意)的腳本。
這些命令沒有輸出,但此腳本是可執行的(chmod
),它將一條消息(echo
)打印到終端。
5. 最後,通過在終端中調用其名稱來執行您的腳本(testscript
)。
系統將從您專用的~/scripts目錄執行您的腳本,而不管終端中的工作目錄如何。
下面的输出确认了您的脚本,以及系统修改后的命令搜索路径按预期工作。

结论
在~/.bashrc文件的世界中,您已经通过了其角色的基础知识,以及命令别名和函数自定义的工作方式。甚至现在调整 Linux 终端的外观也可以实现。
除了外观之外,您通过扩展PATH
环境变量,解锁了无需每次指定完整路径即可执行脚本的便利性。这些修改节省了时间,增强了用户界面,使您与 Linux 的交互更加高效和愉快。
当您结束对~/.bashrc文件的探索时,请记住 Linux 的真正精髓在于其灵活性和提供给您的控制权。旅程仍在继续,那么为什么不通过探索 ZSH 的增强功能来追求一个定制的体验呢?
深入到 ZSH 和诸如Oh My Zsh这样的框架提供的主题和插件的海洋中。看着您的终端变成一个更具生产力和视觉吸引力的工作空间!