九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
一文理解linux環(huán)境變量(初學(xué)者之友)

我的戲份在文末,建議結(jié)合我們技能樹(shù)以前出品的一文系列一起學(xué)習(xí):

linux命令行文本操作一文就夠

健明

繼續(xù)見(jiàn)證學(xué)徒的成長(zhǎng)!

對(duì)于Linux初學(xué)者來(lái)說(shuō),環(huán)境變量是個(gè)很陌生的名詞,很多人不能理解它是到底是什么,可以用來(lái)干嘛。其實(shí),環(huán)境變量,在windows中也有,只是我們平時(shí)不怎么直接接觸它,所以我們下面也只針對(duì)Linux來(lái)講環(huán)境變量。

什么是環(huán)境變量

首先,在百度百科中,環(huán)境變量的解釋是這樣的:

環(huán)境變量(environment variables)一般是指在操作系統(tǒng)中用來(lái)指定操作系統(tǒng)運(yùn)行環(huán)境的一些參數(shù),如:臨時(shí)文件夾位置和系統(tǒng)文件夾位置等。
環(huán)境變量是在操作系統(tǒng)中一個(gè)具有特定名字的對(duì)象,它包含了一個(gè)或者多個(gè)應(yīng)用程序所將使用到的信息。例如Windows和DOS操作系統(tǒng)中的path環(huán)境變量,當(dāng)要求系統(tǒng)運(yùn)行一個(gè)程序而沒(méi)有告訴它程序所在的完整路徑時(shí),系統(tǒng)除了在當(dāng)前目錄下面尋找此程序外,還應(yīng)到path中指定的路徑去找。用戶通過(guò)設(shè)置環(huán)境變量,來(lái)更好的運(yùn)行進(jìn)程。

描述性文字理解起來(lái)還是太抽象了,我們還是用幾個(gè)簡(jiǎn)單的例子,來(lái)學(xué)習(xí)一下環(huán)境變量吧

首先,我們登陸上服務(wù)器,然后輸入ls命令:

vip18 10:06:09 ~
$ ls
readme.txt

可以看到,在當(dāng)前用戶vip18的家目錄~下,有一個(gè)文件叫readme.txt,但是,當(dāng)前目錄下面并沒(méi)有ls命令所對(duì)應(yīng)的可執(zhí)行文件。真正的ls命令的可執(zhí)行文件,其實(shí)是在別處,我們用which ls可以查看到ls所在的位置:

vip18 10:06:13 ~
$ which ls
/bin/ls

可以看到,ls其實(shí)是保存在/bin/ls這個(gè)目錄下的。而我們之所以可以隨時(shí)隨地的調(diào)用ls,是因?yàn)?strong style="color: inherit;;">當(dāng)要求系統(tǒng)運(yùn)行一個(gè)程序而沒(méi)有告訴它程序所在的完整路徑時(shí),系統(tǒng)除了在當(dāng)前目錄下面尋找此程序外,還應(yīng)到path中指定的路徑去找。接下來(lái)我們看看當(dāng)前的環(huán)境變量PATH是什么,用echo $PATH可以查看到

vip18 10:11:28 ~
$ echo $PATH
/trainee/vip18/bin:/trainee/vip18/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

可以看到,PATH記錄的是很多個(gè)目錄,這些目錄以冒號(hào):作分割,為了讓大家看的清楚,我們把冒號(hào):替換成\n

vip18 10:27:59 ~
$ echo $PATH|tr ':' '\n'
/trainee/vip18/bin
/trainee/vip18/.local/bin
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin
/usr/games
/usr/local/games
/snap/bin

其實(shí),PATH就是記錄了很多以bin或者sbin為結(jié)尾的目錄,這些目錄下面就包涵了很多可執(zhí)行文件,比如我們上面提到的ls命令所在的目錄/bin就是倒數(shù)第4個(gè)。感興趣的可以去看看其他命令對(duì)應(yīng)的可執(zhí)行文件都記錄在哪個(gè)目錄里面,這里不再展示。

如何修改環(huán)境變量

修改環(huán)境變量,其實(shí)就是對(duì)環(huán)境變量進(jìn)行重新賦值,比如我們安裝了一個(gè)軟件叫aspera

# 下載
wget -c https://download.asperasoft.com/download/sw/connect/3.8.1/ibm-aspera-connect-3.8.1.161274-linux-g2.12-64.tar.gz
# 解壓
tar zxvf ibm-aspera-connect-3.8.1.161274-linux-g2.12-64.tar.gz
# 安裝
bash ibm-aspera-connect-3.8.1.161274-linux-g2.12-64.sh

這個(gè)軟件安裝好了之后,會(huì)在用戶的家目錄下的生成一個(gè)隱藏目錄.aspera,需要用ls -a來(lái)查看

進(jìn)一步查看這個(gè)目錄的結(jié)構(gòu):


發(fā)現(xiàn)它的下下層目錄也有一個(gè)叫bin的目錄,包涵的可執(zhí)行文件有$ ls .aspera/connect/bin/
ascp  asperaconnect  asperaconnect.bin  asperacrypt  asunprotect

假如我們想像調(diào)用ls那樣隨時(shí)隨地的調(diào)用這個(gè)軟件的命令,即~/.aspera/connect/bin/目錄中的可執(zhí)行文件,那么就需要把這個(gè)路徑添加到環(huán)境變量里面去,方法是:

export PATH="~/.aspera/connect/bin/:$PATH"
# 注意這里要用雙引號(hào),不能用單引號(hào)

運(yùn)行上面這一行命令之后,就可以隨時(shí)隨地得調(diào)用了,如:

但是,這方法并不能一勞永逸,我們需要把它寫(xiě)進(jìn)去.bashrc里面去

.bashrc文件

.bashrc是一個(gè)配置文件,也是一個(gè)隱藏文件,存在于用戶的家目錄~下,需要用ls -a才能查看到,當(dāng)我們每次登陸服務(wù)器時(shí),這個(gè)文件就會(huì)被執(zhí)行一次,也就是說(shuō)文件內(nèi)的代碼會(huì)被運(yùn)行一遍。因此,當(dāng)我們把export PATH="~/.aspera/connect/bin/:$PATH"這一行命令寫(xiě)入.bashrc后,以后每次登陸服務(wù)器,系統(tǒng)就會(huì)幫我們把這一行命令執(zhí)行一次,我們就不能再自行運(yùn)行了,方法如下:

echo export PATH="~/.aspera/connect/bin/:$PATH" >>.bashrc

這樣我們就把這一行代碼寫(xiě)入到.bashrc里面了,我們說(shuō)過(guò),.bashrc是在登錄服務(wù)器的時(shí)候才會(huì)被執(zhí)行,因此,我們修改好了之后,要重新登錄服務(wù)器,或者重新運(yùn)行一下.bashrc,方法如下:

source .bashrc

這里不建議新手采用vim來(lái)編輯.bashrc,除非你已經(jīng)知道如何使用vim這個(gè)工具

一些其他軟件,如conda,在安裝的時(shí)候會(huì)有一句提示,問(wèn)我們是否要把conda的環(huán)境添加到.bashrc如:

Do you wish the installer to prepend the Miniconda2 install location
to PATH in your /trainee/vip18/.bashrc ? [yes|no]
[no] >>> 

我們直接輸入yes,這樣conda的環(huán)境就自動(dòng)添加到.bashrc里面了,不需要像上面那樣自己添加。

補(bǔ)充一個(gè)錯(cuò)誤的示例

有一些初學(xué)者,在修改環(huán)境變量的時(shí)候,不小心改成了這樣:

echo export PATH="~/.aspera/connect/bin/:$ PATH" >>.bashrc

咋一看好像沒(méi)什么問(wèn)題,但其實(shí)這是個(gè)大問(wèn)題,后面的$PATH之間按多了一個(gè)空格,重新激活.bashrc后,就會(huì)出現(xiàn)下面的現(xiàn)象:

上面的這些命令都用不了了,報(bào)錯(cuò)信息都寫(xiě)著:xxx is not included in the PATH environment variable
但是同時(shí),報(bào)錯(cuò)信息也給出了非常重要的一點(diǎn),如:Command 'ls' is available in '/bin/ls',也就是告訴你了ls命令的可執(zhí)行文件所在的路徑,那么,我們只需要采用全路徑調(diào)用的方法即可使用這些命令了。

當(dāng)然,我們最終的解決辦法還是要把環(huán)境變量改回來(lái),一個(gè)方法就是刪掉最后一行,也就是我們前面追加的一行代碼,如:

/bin/sed -i '$d' .bashrc

最后在重新登錄服務(wù)器就ok了。

后記

修改PATH也許并不是一個(gè)好習(xí)慣

如果每次安裝一個(gè)軟件就添加其路徑到環(huán)境變量,最后我們的PATH會(huì)變得非常臃腫,通常并不建議這種方式管理軟件。

另外一個(gè)比較常見(jiàn)的方式是設(shè)置文件鏈接到PATH的其中一個(gè)路徑,或者直接把可執(zhí)行的文件拷貝過(guò)去。

再或者設(shè)置 alias也可以,相信技能樹(shù)的粉絲高手眾多,也許會(huì)有自己的軟件管理技巧,歡迎留言分享自己的心得體會(huì)!

      ■

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
團(tuán)結(jié)-協(xié)作-共享-開(kāi)源--Linux Shell
linux PATH環(huán)境變量全解析
Linux基礎(chǔ).umask,權(quán)限影響,文件類(lèi)型,/根目錄文件,環(huán)境變量,alias別名,man手冊(cè)
PATH 環(huán)境變量的刪除方法
Linux:-bash: ***: command not found,系統(tǒng)很多命令都用不了,均提
Linux下將默認(rèn)的python命令從python2更改為python3
更多類(lèi)似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服