2.10 環境變量PATH

which命令介紹

  • which 能夠查看命令所在的路徑
  • which查詢的路徑是經過如下的路徑,進行查詢
[root@aminglinux-01 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
  • 這個路徑又以 : 分割 若是命令在以上路徑內,能夠不用輸入絕對路徑,真正使用命令是經過絕對路徑進行操做

which例子

[root@hf-01 ~]# which ls	查看ls所在路徑
alias ls='ls --color=auto'
    /usr/bin/ls
[root@hf-01 ~]# ls /usr/bin/ls	
/usr/bin/ls
[root@hf-01 ~]# cp /usr/bin/ls /tmp/ls2     複製/usr/bin/ls路徑到/tmp/ls2下
[root@hf-01 ~]# /tmp/ls2	使用命令/tmp/ls2查看結果,會發現和ls命令出來的結果同樣
anaconda-ks.cfg
[root@hf-01 ~]# ls		
anaconda-ks.cfg
[root@ahf-01 ~]# ls2	執行ls2命令,會提示未找到命令,由於這個命令不在上述目錄裏面
-bash: ls2:未找到命令
[root@hf-01 ~]# PATH=$PATH:/tmp/    若想直接運行ls2命令,須要改變環境變量	從新給PATH賦值
[root@hf-01 ~]# echo $PATH 會發現多出了/tmp/
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/tmp/
[root@hf-01 ~]# ls2	這時在運行發現就能夠執行了
anaconda-ks.cfg
[root@hf-01 ~]# which ls2	
/tmp/ls2

新建的環境變量在終端失效了

  • 這時,打開一個終端,執行ls2命令,會發現又失效了 (打開終端方法,鼠標右擊-複製SSH渠道)
  • 若想一直生效,

解決方法

1.在系統 vi /etc/profile		(在開機、打開終端都會加載這個命令)
2.結尾處加上PATH=$PATH:/tmp/ 並保存退出
3.在使用cat /etc/profile查看下是否加載成功
4.這時echo $PATH會獲得/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/tmp/:/root/bin
如今無論哪個終端均可以執行ls2命令,都會執行成功

解除ls2命令,方法

若不想要這個ls2命令了,有兩種方法。linux

  1. 方法一:從新賦值
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin		(去除:/tmp/)
    這時在執行ls2命令,就會失效
  2. 方法二:從新編輯文件/etc/profile
    快捷鍵dd,刪除PATH=$PATH:/tmp/並:wq保存
    在去新建終端,執行echo $PATH
    就會發現/tmp/目錄消失了
相關文章
相關標籤/搜索