linux中PATH变量-详细介绍
轉自:https://blog.csdn.net/haozhepeng/article/details/100584451
文章目錄
- 說明
- 查看、添加、修改PATH環(huán)境變量
- 一. 添加環(huán)境變量
- 二. 環(huán)境變量改名
- 三.環(huán)境變量刪除
說明
在講環(huán)境變量之前,先介紹一下命令which,它用于查找某個命令的絕對路徑,示例如下:
在上面的示例中,用which查到rm命令的絕對路徑為/usr/bin/rm。
那么問題來了:為什么我們使用命令時,只是直接打出了命令,而沒有使用這些命令的絕對路徑呢?
答:環(huán)境變量PATH在起作用。
PATH環(huán)境變量存儲的是路徑,當我們在命令行下輸入一個命令如ls時,linux就會PATH表示的路徑中查找
變量寫入到 .bash_profile 中,相當于每次我們打開一個終端都會執(zhí)行一次環(huán)境變量。
可以輸入echo $PATH查看當前環(huán)境變量,其中以分號隔開。
查看、添加、修改PATH環(huán)境變量
一. 添加環(huán)境變量
(Bash shell中用export,C shell中用setenv)
- 1.直接在終端修改當前生效
export PATH=$PATH:.(其中export可不要,.是當前目錄的意思,也可以自定義絕對路徑)
配置完后可以通過echo $PATH查看配置結果。
生效方法:立即生效
有效期限:臨時改變,只能在當前的終端窗口中有效,當前窗口關閉后就會恢復原有的path配置
用戶局限:僅對當前用戶
-
2.對用戶生效
因為寫入到 .bash_profile 中的,而.bash_profile中是調(diào)用/.profile,所以可以直接在/.profile中定義變量
在home/用戶/.profile中修改調(diào)用文件:vi ~/.bashrc
#在最后一行添上
export PATH=路徑:$PATH
生效方法:(有以下兩種)
1、關閉當前終端窗口,重新打開一個新終端窗口就能生效
2、輸入“source ~/.bashrc”命令,立即生效
使用 echo $PATH 看不到定義變量
有效期限:永久有效
用戶局限:僅對當前用戶
-
3.修改系統(tǒng)級
vi /etc/profile/profile
export PATH=$PATH:路徑
保存文件,重啟即可(有的系統(tǒng)執(zhí)行./profile即可,不需重啟;有的系統(tǒng)必須重啟)
重啟后可查看PATH環(huán)境變量看是否更改:
echo $PATH
我在root用戶下系統(tǒng)不允許我寫入,沒有深究,所以該條pass
- 4.永久生效
-
第一種方法
通過修改profile文件:
vi /etc/profile
在最后一行添加
export PATH=系統(tǒng)路徑(echo $PATH 查看復制在這):新路徑:$PATH
echo $PATH 看得到定義環(huán)境
生效方法:系統(tǒng)重啟
有效期限:永久有效
用戶局限:對所有用戶
注:下圖中我忘記在路徑后面加上:$PATH了,不過好像沒報錯,但還是建議加上!!!!
-
第二種方法
通過修改environment文件:
vi /etc/environment
echo $PATH 看不到定義環(huán)境
生效方法:系統(tǒng)重啟
有效期限:永久有效
用戶局限:對所有用戶-
里面可能有:PATH="系統(tǒng)路徑"
如果有則PATH="系統(tǒng)路徑:新路徑" -
如果沒有,則需要先echo $PATH查看自己當前的變量,然后復制進去,系統(tǒng)路徑:新路徑
- 如果不加系統(tǒng)路徑,重啟后就會只剩下 你定義的變量 其他的全部不在了,然鵝你的系統(tǒng)也沒法正常使用了!!!(下翻有解決方法)
- 真發(fā)生了這種事后,解決方法,找一臺正常的機器,echo $PATH ,然后復制,在問題服務器上臨時定義一下:
PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin 然后vi /etc/environment ,把剛才那段環(huán)境加進去, 如果vim /etc/profile(第一種方法) 里面也不是全路徑,也需要修改為全路徑(參考第一種方法) 然后 重啟!!!搞定
- 如果不加系統(tǒng)路徑,重啟后就會只剩下 你定義的變量 其他的全部不在了,然鵝你的系統(tǒng)也沒法正常使用了!!!(下翻有解決方法)
-
-
二. 環(huán)境變量改名
echo ${path/old_name/new_name} #變更一個目錄名old_name
echo ${path//old_name/new_name} #變更所有目錄名old_name
親測無用,可能是我方法不對
如果要修改,建議用下面方法
單獨用戶:vi ~/.bashrc 在里面修改
全部用戶:vi /etc/profile or vi /etc/environment 在哪配置了在哪修改
三.環(huán)境變量刪除
echo ${path#/deletion_name:}
親測 無用,可能是我方法不對
臨時定義不用刪除 重新打開窗口即消失
如果要刪除永久的,建議用下面方法
單獨用戶:vi ~/.bashrc 在里面刪除
全部用戶:vi /etc/profile or vi /etc/environment 在哪配置了在哪刪除
總結
以上是生活随笔為你收集整理的linux中PATH变量-详细介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网上银行密码被锁怎么办
- 下一篇: 招商银行借钱好借吗