環(huán)境變量與文件查找

一:變量

變量就是計算機中用于記錄一個值(不一定是數(shù)值,也可以是字符或字符串)的符號,而這些符號將用于不同的運算處理中。

變量的創(chuàng)建:declare +變量名

變量的賦值:變量名=值

變量的讀?。篹cho $變量名

二:環(huán)境變量

通常我們會涉及到的變量類型有三種:

當前Shell進程私有用戶自定義變量,如上面我們創(chuàng)建的tmp變量,只在當前Shell中有效。

Shell本身內(nèi)建的變量。

從自定義變量導出的環(huán)境變量。

也有三個與上述三種環(huán)境變量相關(guān)的命令:set,env,export


關(guān)于哪些變量是環(huán)境變量,可以簡單地理解成在當前進程的子進程有效則為環(huán)境變量,否則不是(有些人也將所有變量統(tǒng)稱為環(huán)境變量,只是以全局環(huán)境變量和局部環(huán)境變量進行區(qū)分。

按變量的生存周期來劃分,Linux變量可分為兩類:

1.永久的:需要修改配置文件,變量永久生效;

2.臨時的:使用export命令行聲明即可,變量在關(guān)閉shell時失效。

注:/etc/bashrc存放shell變量

/etc/profile存放環(huán)境變量

三:命令的查找路徑與順序

當我們在Shell中執(zhí)行一個命令時,系統(tǒng)就會按照PATH中設(shè)定的路徑按照順序依次到目錄中去查找,如果存在同名的命令,則執(zhí)行先找到的那個。

查看環(huán)境變量的內(nèi)容:echo $PATH

如何做到想使用系統(tǒng)命令一樣執(zhí)行自己創(chuàng)建的腳本文件或者程序呢?那就要將命令所在路徑添加到PATH環(huán)境變量了

4添加自定義路徑到“PATH”環(huán)境變量

形式:PATH=$PATH: +絕對路徑(只是在當前Shell有效)

讓添加的環(huán)境變量全局有效——讓其自啟動

在每個用戶的home目錄中有一個Shell每次啟動時會默認執(zhí)行一個配置腳本,以初始化環(huán)境,包括添加一些用戶自定義環(huán)境變量等等。zsh的配置文件是.zshrc,相應(yīng)Bash的配置文件為.bashrc。它們在etc下還都有一個或多個全局的配置文件,不過我們一般只修改用戶目錄下的配置文件。

我們可以簡單地使用下面命令直接添加內(nèi)容到.zshrc中:

echo “PATH=$PATH: +路徑”>>.zshrc

上述命令中>>表示將標準輸出以追加的方式重定向到一個文件中,注意前面用到的>是以覆蓋的方式重定向到一個文件中,使用的時候一定要注意分辨。在指定文件不存在的情況下都會創(chuàng)建新的文件。

5修改和刪除已有變量

變量刪除:unset

+變量名

修改變量:


6如何讓環(huán)境變量立即生效

source .zshrc(“.”與zshrc是一個整體

四:搜索文件

與搜索相關(guān)的命令常用的有whereis,which,find和locate。

whereis簡單快速

它并沒有從硬盤中依次查找,而是直接從數(shù)據(jù)庫中查詢。whereis只能搜索二進制文件(-b),man 幫助文件(-m)和源代碼文件(-s)。

形式:whereis +文件名

locate快而全

通過“ /var/lib/mlocate/mlocate.db ”數(shù)據(jù)庫查找有時需要手動執(zhí)行updatedb命令

形式:locate +某路徑下的某文件格式

which小而精

which本身是Shell內(nèi)建的一個命令,我們通常使用which來確定是否安裝了某個指定的軟件,因為它只從PATH環(huán)境變量指定的路徑中去搜索命令。

形式:which

+PATH環(huán)境變量指定的路徑

find精而細

基本命令格式為find [path] [option] [action]


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容