日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

详解/etc/profile、/etc/bash.bahsrc、~/.profile、~/.bashrc的用途

發(fā)布時(shí)間:2025/3/21 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 详解/etc/profile、/etc/bash.bahsrc、~/.profile、~/.bashrc的用途 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
之前安裝 Linux的一些軟件時(shí),總要修改Linux的配置文件。當(dāng)時(shí)也是一知半解。而且,網(wǎng)上有些安裝教程,會(huì)說,修改配置文件后要重啟Linux。但事實(shí)上是不需要重啟的。

?

? ? ? ? Linux安裝時(shí)可能要修改的配置文件:/etc/profile、/etc/bashrc(ubuntu沒有這個(gè)文件,對應(yīng)地,其有/etc/bash.bashrc文件。我用的是ubuntu系統(tǒng),所以下面將一律使用/etc/bash.bashrc來敘述)、~/.bash_profile、~/.bash_login、~/.profile、~/.bashrc。

我的ubuntu系統(tǒng)(版本為10.04)默認(rèn)情況下,只有/etc/profile、/etc/bash.bahsrc、~/.profile、~/.bashrc這四個(gè)文件。其他文件可以創(chuàng)建。

?

? ? ? ??現(xiàn)在來簡單說一下這些配置文件。

?

1.這些文件的作用

? ? ? ??這些文件的作用有很多,比如環(huán)境變量的設(shè)定、定制符合自己風(fēng)格的shell、還可以設(shè)置縮寫功能,那個(gè)ll命令是 ls –alF命令的縮寫。

? ? ? ??相信大家最關(guān)心這些文件在安裝軟件時(shí)候的作用。為什么要配置這些文件?配置后,要不要重啟Linux才能使得生效。

?

? ? ? ??要弄清這些問題。首先要知道打開一個(gè)終端或者打開一個(gè)新shell時(shí)(注意,兩者是不同的。比如在終端里輸入bash,會(huì)進(jìn)入一個(gè)新shell。此時(shí)并沒有打開新終端),會(huì)讀取到哪些文件。

? ? ? ??之所以是要配置這些文件,是因?yàn)檫@些軟件要在環(huán)境變量中添加屬于自己的信息,或者新建一個(gè)屬于自己的環(huán)境變量(如安裝JDK時(shí)要新建一個(gè)JAVA_HOME環(huán)境變量)。系統(tǒng)會(huì)根據(jù)環(huán)境變量里的值,找到軟件的一些文件的路徑。

2.這些文件的訪問順序

2.1測試

? ? ? ??如果對測試過程沒興趣的,直接跳過這一步,到結(jié)論部分看結(jié)論。

?

? ? ? ??分別在這個(gè)四個(gè)文件的最后,加入一個(gè)新的環(huán)境變量TESTBASH。每一個(gè)文件都為這個(gè)環(huán)境變量加入不同的值。如下圖所示:

/etc/profile ?

/etc/bash.bashrc?

~/.profile?

~/.bashrc?

?

? ? ? ??都保存后,在原來這個(gè)終端輸入$export(這個(gè)命令可以用來導(dǎo)入和查看環(huán)境變量),并沒有在輸出中看到這個(gè)TESTBASH。現(xiàn)在輸入$bash?,打開一個(gè)新的shell。再輸入$export?可以看到輸出已經(jīng)有這個(gè)環(huán)境變量了(如果在一大串輸出中沒有找到這個(gè)TESTBASH,那么就用命令$echo $TESTBASH)。并且,該環(huán)境變量的值為: /etc/bash.bashrc:/home/luotuo/.bashrc。

? ? ? ??現(xiàn)在打開一個(gè)新的終端。輸入$export?可以看到其結(jié)果和輸入$bash命令,再輸入$export?一樣。只有其中兩項(xiàng)。

?

? ? ? ??現(xiàn)在輸入$su root?切換到root用戶。再輸入$export?其結(jié)果是在原來的基礎(chǔ)上加上了?/home/luotuo/.bashrc:/etc/bash.bashrc。

? ? ? ??輸入$exit?退出root。然后再輸入$su –l root?切換到root用戶,此時(shí)輸入$export?看到其結(jié)果僅僅為?/etc/bash.bashrc:/etc/profile。

? ? ? ??(這兩種方式是不同的。分別叫做nonlogin shelllogin shell。另外,在終端輸入bash打開一個(gè)新的shell也是non login?

?

? ? ? ??現(xiàn)在是時(shí)候重啟Linux了。

?

? ? ? ??重啟之后,在終端輸入?$export?,其結(jié)果為: ??

? ? ? ??已經(jīng)有/etc/profile和/etc/bash.bashrc了。

? ? ? ??此時(shí),輸入$bash?打開一個(gè)新的shell 。再輸入$export?.可以看到:

? ? ? ??

? ? ? ??是在原來的基礎(chǔ)上加入了 /etc/bash.bashrc:/home/luotuo/.bashrc

?

? ? ? ??輸入$exit?退出這個(gè)shell(注意,此時(shí)這個(gè)終端是沒有被關(guān)閉了。因?yàn)樵谶@個(gè)終端打開了兩個(gè)shell。一個(gè)exit只能退出一個(gè)).

? ? ? ??此時(shí),輸入$su root?切換到root用戶。然后再輸入$export???梢钥吹捷敵鰹?

? ? ? ??

? ? ? ??在原來的基礎(chǔ)上加入了/etc/bash.bashrc。

? ? ? ??現(xiàn)在輸入$pwd?,可以看到其路徑為:

? ? ? ? ?

? ? ? ??現(xiàn)在輸入$exit?退出這個(gè)root。然后輸入$su –l root?切換到root用戶。此時(shí)再輸入$export?其結(jié)果為:

? ? ? ??

? ? ? ??現(xiàn)在輸入$pwd,可以看到其路徑為:

? ? ? ? ?

? ? ? ??兩者有不同的路徑。后者是轉(zhuǎn)到了root用戶的用戶目錄下,而前者還是在之前所在的目錄。

2.2、結(jié)論

? ? ? ??從測試過程可以看到。打開一個(gè)新的shell(包括打開一個(gè)新終端和在終端上輸入bash),都會(huì)重新讀取/etc/bash.bashrc 和 ~/.bashrc文件里面的內(nèi)容。

? ? ? ??而Linux啟動(dòng)登錄時(shí)會(huì)讀取/etc/profile和~/.profile文件的內(nèi)容。所以,在測試的時(shí)候,重啟登錄時(shí)會(huì)讀取/etc/profile~/.profile文件的內(nèi)容(此時(shí)并不讀取/etc/bash.bashrc~/.bashrc文件)。然后再打開終端時(shí),會(huì)去讀取/etc/bash.bashrc?~/.bashrc文件。這就出現(xiàn)了那種結(jié)果。

?

? ? ? ??使用login和non login術(shù)語來說,就是使用login 方式是會(huì)讀取/etc/profile 和 ~/.profile文件。使用non login方式的話,會(huì)讀取/etc/bash.bashrc 和 ~/.bashrc文件的內(nèi)容。

也就是說/etc/profile 和 ~/.profile文件是在login時(shí)才會(huì)讀取。所以,在不使用su命令的情況下,只有在Linux啟動(dòng)登錄的時(shí)候才會(huì)被讀取(這也就導(dǎo)致了有些軟件安裝后,要重啟才能生效)。

?

? ? ? ??因?yàn)槲业?/span>ubuntu沒有~/.bash_profile?~/.bash_login文件。如果有這兩個(gè)文件的話,那么用login方式登錄,將只讀取?~/.bash_profile?、~/.bash_login、~/.profile三個(gè)中的一個(gè)。其讀取順序在上面的排序順序。

?

? ? ? ??說了這么多。到講安裝軟件時(shí)的修改這些文件的配置信息 了。安裝軟件修改這個(gè)文件,一般是為了在這個(gè)文件中添加用于那些軟件的環(huán)境變量。在這些配置文件中都可以添加環(huán)境變量。但由于,有些文件會(huì)被讀取,有些文件卻不會(huì)被讀取(這個(gè)上面已經(jīng)說了),所以在不同文件下的配置信息的有效性或者說生效日期就有所不同了。這也導(dǎo)致了在這些文件添加配置信息,要不要重啟的問題。

?

? ? ? ??如果是在/etc/bash.bashrc 和 ~/.bashrc文件中添加配置信息,那么打開一個(gè)新的shell,就生效了,可以用了(因?yàn)榇蜷_新的shell會(huì)讀取這個(gè)兩個(gè)文件)。也可以輸入$source /etc/bash.bashrc或者$./etc/bash.bashrc命令(?./之間還有一個(gè)空格)來使得在本shell中,也可以生效使用。

? ? ? ??如果是在/etc/profile 和 ~/.profile 文件中添加配置信息。那么就只能重啟了。因?yàn)檫@個(gè)兩個(gè)文件只會(huì)在login 下才會(huì)讀取。當(dāng)然,也是可以使用$source /etc/profile?命令的。但也只能在使用過這個(gè)命令的shell才能使用。

?

?

3.總結(jié)

? ? ? ??如果為了一完成配置信息就能使用,那么就不用在/etc/profile 和 ~/.profile文件中添加關(guān)于軟件的配置信息。而是在/etc/bash.bashrc 或者 ~/.bashrc 中添加,這樣就能馬上使用了。

總結(jié)

以上是生活随笔為你收集整理的详解/etc/profile、/etc/bash.bahsrc、~/.profile、~/.bashrc的用途的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。