.bashrc、.bash_profile 和 .profile 的區別
在 Unix 或 Linux 作業系統上使用命令列時,有三個檔案在設定和配置 shell 環境中起著重要作用:.bashrc、.bash_profile 和 .profile。這些檔案用於自定義 shell 環境,並根據您的需求設定不同的設定和配置。
在本文中,我們將仔細研究這些檔案中的每一個,並探討它們之間的區別,包括如何使用它們來自定義 shell 環境的示例。
bashrc
.bashrc 檔案是一個配置檔案,用於設定和自定義 Bash shell,它是大多數基於 Linux 和 Unix 的作業系統的預設 shell。此檔案通常位於使用者的 home 目錄中,並在每次開啟新的終端視窗或啟動新的 Bash shell 時執行。
此檔案用於設定各種環境變數,例如 PATH 變數(它確定 shell 搜尋可執行檔案的目錄)和 PS1 變數(它控制 shell 提示符的外觀)。此外,它可以用於設定別名(常用命令的簡寫形式)以及配置其他設定,例如 shell 的歷史記錄設定。
例如,您可以使用 .bashrc 檔案為“ls”命令設定別名,以便當您在終端中鍵入“ll”時,它將執行“ls -l”命令,該命令以長格式顯示目錄中的檔案。
.bashrc 檔案也常用於設定自定義函式和指令碼,這些函式和指令碼可用於自動化某些任務或自定義 shell 的行為。
值得注意的是,某些系統使用 .bash_profile 檔案而不是 .bashrc 檔案,但這兩個檔案的內容和用途相同,您可以根據系統的偏好使用其中任何一個。
.bash_profile
.bash_profile 檔案是一個配置檔案,用於在使用者登入系統時設定和自定義 Bash shell。此檔案通常位於使用者的 home 目錄中,僅在使用者登入系統時執行一次。
此檔案用於設定各種環境變數,例如 PATH 變數(它確定 shell 搜尋可執行檔案的目錄)和 PS1 變數(它控制 shell 提示符的外觀)。此外,它可以用於設定別名(常用命令的簡寫形式)以及配置其他設定,例如 shell 的歷史記錄設定。
例如,您可以使用 .bash_profile 檔案設定一個環境變數,該變數定義系統的預設編輯器,以便當您在終端中鍵入“nano”時,它將預設執行“vi”編輯器。
.bash_profile 檔案也常用於設定自定義函式和指令碼,這些函式和指令碼可用於自動化某些任務或自定義 shell 的行為。
值得注意的是,某些系統使用 .bashrc 檔案而不是 .bash_profile 檔案,但這兩個檔案的內容和用途相同,您可以根據系統的偏好使用其中任何一個。
profile
.profile 檔案是一個配置檔案,用於在使用者登入系統時設定和自定義 shell 環境。此檔案通常位於使用者的 home 目錄中,僅在使用者登入系統時執行一次。
此檔案用於設定各種環境變數,例如 PATH 變數(它確定 shell 搜尋可執行檔案的目錄)和 PS1 變數(它控制 shell 提示符的外觀)。此外,它可以用於設定別名(常用命令的簡寫形式)以及配置其他設定,例如 shell 的歷史記錄設定。
例如,您可以使用 .profile 檔案設定一個環境變數,該變數定義系統的預設語言,以便當您在終端中鍵入“locale”時,它將顯示您在 .profile 檔案中設定的預設語言。
.profile 檔案也常用於設定自定義函式和指令碼,這些函式和指令碼可用於自動化某些任務或自定義 shell 的行為。
值得注意的是,某些系統使用 .bash_profile 或 .bashrc 檔案而不是 .profile 檔案,但這三個檔案的內容和用途相同,您可以根據系統的偏好使用其中任何一個。
| 檔案 | 用途 | 執行時間 |
|---|---|---|
| .bashrc | 用於設定和配置 Bash shell | 每次開啟新的終端視窗或啟動新的 Bash shell 時執行 |
| .bash_profile | 用於在登入系統時設定環境和配置 | 僅在使用者登入系統時執行 |
| .profile | 用於在登入系統時設定環境和配置 | 僅在使用者登入系統時執行 |
結論
總之,.bashrc、.bash_profile 和 .profile 檔案都用於自定義您的 shell 環境,並根據您的需求設定不同的設定和配置。.bashrc 檔案在每次開啟新的終端視窗或啟動新的 Bash shell 時執行,.bash_profile 檔案在您登入系統時執行,.profile 檔案也在您登入系統時執行。理解這些檔案之間的區別以及如何使用它們來自定義 shell 環境對於有效地使用 Unix 或 Linux 作業系統的命令列至關重要。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP