當前位置:首頁 > IT技術(shù) > 系統(tǒng)服務(wù) > 正文

Linux下配置文件修改PATH環(huán)境變量、alias別名、個性化提示符,env
2021-10-28 15:38:00

配置文件

linux系統(tǒng)普通用戶目錄(cd ~)或root用戶目錄(cd /root)下,用指令ls -al可以看到4個隱藏文件,

~/.bash_history?記錄之前輸入的命令

~/.bash_logout?當你退出bash shell時執(zhí)行的命令

~/.bash_profile?當你登入shell時執(zhí)行(用戶登錄時,該文件僅僅執(zhí)行一次。默認情況下執(zhí)行用戶的~/.bashrc文件)

~/.bashrc?當你登入shell時執(zhí)行(登錄時以及每次打開新的shell時,該文件被讀?。┌瑢S糜谟脩舻腷ash shell的bash信息

?

~/.bash_profile和~/.bashrc的區(qū)別:~/.bash_profile只在會話開始時被讀取一次,而~/.bashrc則每次打開新的終端時,都要被讀取。

~/.bash_profile 是交互式、login 方式進入 bash 運行的;~/.bashrc 是交互式 non-login 方式進入 bash 運行的。通常二者設(shè)置大致相同,所以通常前者會調(diào)用后者。

這些文件是每一位用戶對終端功能和屬性設(shè)置,修改~/.bashrc可以改變環(huán)境變量PATH、別名alias和提示符。

?

除了修改~/.bashrc文件外,還可以修改如“/etc/profile”文件【/etc/profile文件為系統(tǒng)的每個用戶設(shè)置環(huán)境信息】、“/etc/bashrc”文件【為每一個運行bash shell的用戶執(zhí)行此文件】及目錄“/etc /profile.d”下的文件。

但是修改/etc路徑下的配置文件將會應(yīng)用到整個系統(tǒng),屬于系統(tǒng)級的配置;而修改~/.bashrc則只是限制在用戶應(yīng)用上,屬于用戶級設(shè)置。

修改~/.bashrc,無需root權(quán)限,不會影響其他用戶。

/etc/profile中設(shè)定的變量(全局)可以作用于任何用戶,而~/.bashrc等中設(shè)定的變量(局部)只能繼承/etc/profile中的變量,他們是"父子"關(guān)系。

?

執(zhí)行順序為:/etc/profile -> (~/.bash_profile | ~/.bash_login | ~/.profile) -> ~/.bashrc -> /etc/bashrc -> ~/.bash_logout

首先啟動 /etc/profile 文件,然后再啟動用戶目錄下的 ~/.bash_profile、 ~/.bash_login或 ~/.profile文件中的其中一個。

如果 ~/.bash_profile文件存在的話,一般還會執(zhí)行 ~/.bashrc文件。因為在 ~/.bash_profile文件中一般會有下面的代碼:

1
2
3
if?[?-f?~/.bashrc?]?;?then
.?./bashrc
fi

~/.bashrc中,一般還會有以下代碼:

1
2
3
if?[?-f?/etc/bashrc?]?;?then
.?/etc/bashrc
fi

所以,~/.bashrc會調(diào)用 /etc/bashrc文件。最后,在退出shell時,還會執(zhí)行 ~/.bash_logout文件。

?

PATH環(huán)境變量修改

PATH變量決定了shell 將到哪些目錄中尋找命令或程序。如果要執(zhí)行的命令的目錄在 $PATH 中,您就不必輸入這個命令的完整路徑,直接輸入命令就可以了。一些第三方軟件沒有將可執(zhí)行文件放到 Linux 的標準目錄中。因此,將這些非標準的安裝目錄添加到 $PATH 是一種解決的辦法。

作為慣例,所有環(huán)境變量名都是大寫。(Linux 區(qū)分大小寫)

如:在文件/etc/profile中新增:

1
2
export?JAVA_HOME=/opt/java/jdk
export?JRE_HOME=${JAVA_HOME}/jre

?

alias別名?

一般在.bashrc或/etc/bashrc文件里有定義alias的幾行

1
2
3
alias?rm=’rm?-i’
alias?cp=’cp?-i’
alias?mv=’mv?-i’

可以在該配置文件中添加自己風格的別名,如

1
2
alias?cls=clear
alias?ls='/bin/ls?-F?--color=tty?--show-control-chars'

也許你用慣了top,我們也可以用top來打開htop。

編輯/root/.bashrc文件,添加如下代碼

1
2
3
if?[?-f?/usr/local/bin/htop?];?then
????alias?top=’/usr/local/bin/htop
fi

?

提示符

1
echo?$PS1?#顯示當前的提示符設(shè)定

可以通過編輯各自home目錄下的.bash_profile和.bashrc來設(shè)置個性化提示符。(設(shè)置格式可查man bash手冊中的PROMPTING部分)

例如PS1=”[u: w]$ ” ,提示符就變成:[root:/usr/bin]$?

1
PS1='${debian_chroot:+($debian_chroot)}[