Linux學習 bash的環境配置檔案

2021-08-31 20:50:50 字數 1892 閱讀 1209

當我們通過bash進入linux系統中的時候,我們還沒有進行任何的操作,其實此時有許多的命令已經載入好了,這是什麼原因呢?

其實是因為系統中有一些配置檔案的存在,在bash啟動的時候,會自動讀取這些配置檔案,而這些配置檔案又分為系統配置檔案使用者個人配置檔案

3 non-login shell

在說明配置檔案之前,需要先說清楚login shellnon-login shell,因為在這兩個不同的狀態下讀取的配置檔案是不一樣的

login shell:取得bash(就是終端)時需要完整的登入流程。

non-login shell:取得bash的方法不需要重複登入的舉動。

以上兩種不同取得bash的方式,讀取的配置檔案並不一致

我們大部分時候都是通過賬號和密碼登入到linux系統中去的,所以login shell用到的頻率也會比較大一些,我們先來說一下login shell會讀取的配置檔案。

/etc/profile:這個檔案中儲存的是整個系統的設定,它利用使用者的識別符號(uid)來決定很多重要的變數資料,同時這也是每乙個使用者登入取得bash時,一定會讀取的配置檔案,所以當需要為所有使用者設定環境變數時,應該修改這個檔案。

~/.bash_profile~/.bash_login~/.profile:屬於使用者個人配置,登入bash讀取完整體設定/etc/profile,就會讀取登入使用者的個人配置,按照以下的順序進行讀取,bashlogin shell設定只會按順序讀取下面三個檔案中的乙個(注意是乙個)。

下面檢視一下~/.bash_profile檔案裡面的內容

# .bash_profile

# get the aliases and functions

if [ -f ~/.bashrc ]; then #這三行進行判斷,之後讀取~/.bashrc

. ~/.bashrc

fi# user specific environment and startup programs

path=$path:$home/bin

export path

關於這個檔案中內容有兩點記錄一下

bash只有在取得的時候才會讀取配置檔案,所以我們剛剛修改了配置檔案的話,是不會立即生效的,需要等到我們下一次登入才生效。

有乙個命令可以讓剛剛修改的配置檔案立即生效,這就是source

作用:將指定的配置檔案讀取到本bash的環境中。

source ~/.bashrc    #這兩個形式的命令是等價的

. ~/.bashrc

對於non-login shell,僅會讀取~/.bashrc這乙個配置檔案而已

對於兩種不同的bash,最後都會讀取的配置檔案就是~/.bashrc

參考書籍:《鳥哥的私房菜·第3版》

Linux學習 bash及其特性

shell 外殼 gui gnome,kde,xfce cli sh,csh,ksh,bash bourne again shell tcsh,zsh 不同使用者啟動相同sh程式,但是是不同的程序。程序 在每個程序看來,當前主機上只存在核心和當前程序。程序是程式的副本,也是程式執行的例項,具有生命週...

Bash的環境變數

一 環境變數與使用者自定義變數的區別 使用者自定義變數只在當前的shell中生效 環境變數在當前shell和這個shell的所有自shell中生效 對系統生效的環境名和變數作用是固定的。環境變數和使用者自定義變數最主要的區別在於,環境變數是全域性變數,而使用者自定義變數是區域性變數。使用者自定義變數...

Linux學習筆記 bash的基礎特性

history d offset 在指定位置刪除歷史命令 history c 清空歷史命令 history 顯示歷史中最近的 條命令 history a 手動追加當前繪畫緩衝區的命令歷史至歷史檔案中 呼叫歷史中的命令 esc,同上 alt 同上 控制命令歷史的記錄方式 修改環境變數值的方式 expo...