国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

Linux PATH環境變量及作用(初學者必讀)

2024-08-27 23:57:10
字體:
來源:轉載
供稿:網友

 在講解 PATH 環境變量之前,首先介紹一下 which 命令,它用于查找某個命令所在的絕對路徑。例如:

[root@localhost ~]# which rm/bin/rm[root@localhost ~]# which rmdir/bin/rmdir[root@localhost ~]# which lsalias ls='ls --color=auto'        /bin/ls

注意,ls 是一個相對特殊的命令,它使用 alias 命令做了別名,也就是說,我們常用的 ls 實際上執行的是 ls --color=auto。

通過使用 which 命令,可以查找各個外部命令(和 shell 內置命令相對)所在的絕對路徑。學到這里,讀者是否有這樣一個疑問,為什么前面在使用 rm、rmdir、ls 等命令時,無論當前位于哪個目錄,都可以直接使用,而無需指明命令的執行文件所在的位置(絕對路徑)呢?其實,這是 PATH 環境變量在起作用。

首先,執行如下命令:

[root@localhost ~]# echo $PATH/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin

這里的 echo 命令用來輸出 PATH 環境變量的值(這里的 $ 是 PATH 的前綴符號),PATH 環境變量的內容是由一堆目錄組成的,各目錄之間用冒號“:”隔開。當執行某個命令時,linux 會依照 PATH 中包含的目錄依次搜尋該命令的可執行文件,一旦找到,即正常執行;反之,則提示無法找到該命令。

如果在 PATH 包含的目錄中,有多個目錄都包含某命令的可執行文件,那么會執行先搜索到的可執行文件。

從執行結果中可以看到,/bin 目錄已經包含在 PATH 環境變量中,因此在使用類似 rm、rmdir、ls等命令時,即便直接使用其命令名,Linux 也可以找到該命令。

為了印證以上觀點,下面舉個反例,如果我們將 ls 命令移動到 /root 目錄下,由于 PATH 環境變量中沒有包含此目錄,所有當直接使用 ls 命令名執行時,Linux 將無法找到此命令的可執行文件,并提示 No such file or directory,示例命令如下:

[root@localhost ~]# mv /bin/ls /root[root@localhost ~]# lsbash: /bin/ls: No such file or directory


此時,如果仍想使用 ls 命令,有 2 種方法,一種是直接將 /root 添加到 PATH 環境變量中,例如:

[root@localhost ~]# PATH=$PATH:/root[root@localhost ~]# echo $PATH/usr/local/sbin:/usr/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin:/root[root@localhost ~]# lsDesktop    Downloads    Music    post-install     Public    VideosDocuments  ls           Pictures post-install.org Templates

注意,這種方式只是臨時有效,一旦退出下次再登陸的時候,$PATH 就恢復成了默認值。


另一種方法是以絕對路徑的方式使用此命令,例如:

[root@localhost ~]# /root/lsDesktop    Downloads    Music    post-install     Public    VideosDocuments  ls           Pictures post-install.org Templates

 

為了不影響系統的正常使用,強烈建議大家將移動后的 ls 文件還原,命令如下:

[root@localhost ~]# mv /root/ls /bin
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 油尖旺区| 博野县| 鲁甸县| 临桂县| 五台县| 迭部县| 新密市| 普兰县| 福鼎市| 鄂州市| 隆安县| 成都市| 阳信县| 额济纳旗| 和林格尔县| 绍兴县| 临夏县| 呼和浩特市| 瑞金市| 通州市| 贵德县| 鄄城县| 曲松县| 淅川县| 丰宁| 云霄县| 阿勒泰市| 黄石市| 班戈县| 平泉县| 张家港市| 根河市| 普陀区| 海口市| 延川县| 旌德县| 万山特区| 广州市| 湟中县| 长兴县| 龙岩市|