PATH環境變數觀念一問 - Linux

Table of Contents

小弟對於為什麼要設定PATH環境變數還不甚懂

之前在學JAVA時候,就有接觸到,所以這邊先以JAVA導入概念

設定PATH的原因: 執行JAVA檔案,可是JAVA檔案卻不知道JAVA的指令庫在哪?

所以在PATH加入了JAVA指令庫的路徑

所以我猜測系統的運作程序是:

啟動JAVA檔案>經由PATH尋找路徑>找到符合JAVA指令庫的路徑

那LINUX呢???為什麼我在LINUX輸入: echo $PATH,會跑出一堆路徑呢???

/usr/kerberos/shin:/usr/kerberos/bin:usr/local/sbin:/usr/local/bin:/sbin:
/bin:/usr/sbin:/usr/bin:/root/bin ........

這是我以下的疑問:

1.為什麼LINUX和WINDOW都要設定這麼多路徑?幹嘛用低?
2.我說明的PAHT概念哪裡有錯誤??
3.以JAVA為例,路徑最後才設定JAVA的路徑,則系統是第一個開始找??(影響速度?)

希望大大可以幫我解答,或者丟一些關鍵字、書籍或網站給我閱讀學習

謝謝

--

All Comments

Charlie avatarCharlie2012-02-25
Unix的$PATH是指令搜尋的路徑,而且有先後次序。
Mason avatarMason2012-02-27
沒設PATH的話, 你每次 ls 都要打 /bin/ls
Gary avatarGary2012-02-27
預設的那幾個沒事不用砍,而且你砍了也不會省什麼時間...
Lydia avatarLydia2012-02-29
是從左邊開始跑沒錯,所以以安全考量,一般額外加上去的路徑
應該加在後面而不是前面。