命令解釋
我們用ls
這個命令去舉例,使用whereis ls
後,可以看到ls
的的完整檔名為:/bin/ls
。你會不會覺的很奇怪,為什麼我可以在任何地方執行此命令呢?那是因為環境變數path的幫助。
[root@localhost ceshi]# whereis ls
ls: /bin/ls /usr/share/man/man1p/ls
.1p.gz /usr/share/man/man1/ls
.1.gz
命令說明使用root身份列出查詢的的路徑
[root@localhost ceshi]# echo $path
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/sbin:/home/wenjie/bin:/sbin
試問,如果將ls
命令從/bin/ls移動到/root/ls(可用」mv /bin/ls /root
「命令實現),然後你也在/root目錄下,請問:
1、你能不能直接輸入ls
來執行?
2、若不能,你該如何執行這個命令
3、如果想直接使用ls
執行,我們該如何進行
1、接下來不論你在哪個目錄,都沒有辦法順利執行ls了,因為/root這個目錄並不在path指定的目錄中,所以你即使在/root目錄下,也不能使用ls
這個命令了
2、因為ls
確實存在於/root目錄下,所以我們可以使用絕對路徑或者相對路徑去使用這個命令
[root@localhost ceshi]# /root/ls
test1 test3
3、如果想要讓/root在目錄均可執行ls
,那麼將/root加入到path當中即可。
[root@localhost ~]# path="$path":/root
該命令僅對本次登入有效也就是說,在你重啟後你設定的環境變數就失效了。
關於執行檔案路徑的變數 PATH
quote b 關於執行檔案路徑的變數 path b 我們知道查閱檔案屬性的指令ls完整檔名為 bin ls 這是絕對路徑 那你會不會覺得很奇怪 為什麼我可以在任何地方執行 bin ls這個指令呢?為什麼我在任何目錄下輸入 ls 就一定可以顯示出一些訊息而不會說找不到該 bin ls 指令呢?這是因...
關於執行檔案路徑的變數 PATH
我們知道查閱檔案屬性的指令ls完整檔名為 bin ls 這是絕對路徑 但是我們在任何目錄下輸入ls就一定能顯示出一些資訊,這就是環境變數path的幫助了。當我們在執行乙個指令的時候,以ls為例,系統就會依照path的設定去每個path定義的目錄下搜尋檔名為ls的可執行檔案,如果在path定義的目錄下...
Linux關於執行檔案路徑的變數 PATH
path變數儲存了一些命令所在的目錄,當我們執行命令時,就會在這些目錄裡查詢,找到的就執行。我們知道命令 ls 的完整檔名為 bin ls,為什麼我可以在任何地方執行 bin ls 命令呢?這是因為環境變數path的幫助。當我們執行乙個命令的時候,系統會依照path的設定去path定義的目錄下查詢檔...