Linux第二週學習筆記(4)

Linux第二週學習筆記(4)bash


2.10環境變量PATHide

PATH:只要加入了PATH的路徑均可以直接打開命令,能夠不去運行命令的絕對路徑。這就是環境變量在起做用。學習

which命令:用於查找並顯示給定命令的絕對路徑,環境變量PATH中保存了查找命令時須要遍歷的目錄。也就是說,使用which命令,就能夠看到某個系統命令是否存在,以及執行的究竟是哪個位置的命令。spa

[root@daizhihong01 ~]# which rmdirit

/usr/bin/rmdirclass

 [root@daizhihong01 ~]# echo $PATH變量

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/binfile

which指令會在環境變量$PATH設置的目錄裏查找符合條件的命令,也就是說which直接在$PATH設置的目錄裏直接查找命令的絕對路徑比較迅速,若是說你鍵入的命令在$PATH設置的目錄裏,就不須要鍵入這個命令的絕對路徑直接鍵入命令便可。終端

---------------------------------------------------------------------------------------- 遍歷

實驗運行ls/usr/bin/ls效果是同樣的,也就是說ls$PATH設置的目錄裏就本身鍵入ls就能夠了

[root@daizhihong01 ~]# which ls

alias ls='ls --color=auto'

  /usr/bin/ls

[root@daizhihong01 ~]# ls

anaconda-ks.cfg

[root@daizhihong01 ~]# /usr/bin/ls

anaconda-ks.cfg

----------------------------------------------------------------------------------------

複製ls命令到/tmp/目錄下新建一個ls1的名稱,新建好了之後咱們運行「ls1」的絕對路徑是能夠使用的,若是直接使用ls1就不行了,由於/tmp/目錄沒有在$PATH設置的目錄裏因此不能直接鍵入ls1命令

[root@daizhihong01 ~]# which ls

alias ls='ls --color=auto'

  /usr/bin/ls

[root@daizhihong01 ~]# cp /usr/bin/ls /tmp/ls1

[root@daizhihong01 ~]# /tmp/ls1

anaconda-ks.cfg

[root@daizhihong01 ~]# ls1

-bash: ls1: 未找到命令

---------------------------------------------------------------------------------------------

若是要直接使用ls1那就須要更改環境變量,把/tmp/這個目錄加入到$PATH設置的目錄,一下的實驗結果只要把ls1所在目錄/tmp/加入到$PATH設置的目錄下就能夠直接運行ls1,查看路徑就能夠直接查看到了

[root@daizhihong01 ~]# PATH=$PATH:/tmp/

[root@daizhihong01 ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/tmp/

[root@daizhihong01 ~]# ls1

anaconda-ks.cfg

 [root@daizhihong01 ~]# which ls1

/tmp/ls1

[root@daizhihong01 ~]#

以上兩個實驗就是環境變量的做用以及含義

------------------------------------------------------------------------------------------- 

當咱們在重新打開一個終端的時候,發現ls1又不能使用了,在查一下$PATH設置的目錄下/tmp/目錄又不存在了,因此咱們須要作一個永久性的設置

[root@daizhihong01 ~]# ls1

-bash: ls1: 未找到命令(在新的終端不能運行)

[root@daizhihong01 ~]#

-----------------------------------------------------------------------------------------

編輯/profile/文件在最後一行加入PATH=$PATH:/tmp/,在此打開終端就能夠看到/tmp/就永久的加到了$PATH設置的目錄下,鍵入ls1就能夠直接使用了

[root@daizhihong01 ~]# vi /etc/profile編輯profile文件在最後一行加入PATH=$PATH:/tmp/

[root@daizhihong01 ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/tmp/:/root/bin

[root@daizhihong01 ~]# ls1(再次打開終端這時鍵入ls1就可直接使用)

anaconda-ks.cfg

12.png

----------------------------------------------------------------------------------------

新添加ls1之後不須要的話,是能夠刪除ls1

[root@daizhihong01 ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/tmp/:/root/bin

[root@daizhihong01~]#PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin

 [root@daizhihong01 ~]# ls1

-bash: ls1: 未找到命令

[root@daizhihong01 ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin

這樣就直接從$PATH設置目錄裏面刪除了/tmp/目錄

第二種刪除的方法

[root@daizhihong01 ~]# vi /etc/profile編輯profile文件刪除最後一行PATH=$PATH:/tmp/就能夠了

[root@daizhihong01 ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/tmp/:/root/bin

再次查詢在$PATH設置目錄裏面就沒有/tmp/目錄了

相關文章
相關標籤/搜索