linux相對路徑和絕對路徑
願解如來真實義
講解思路:
什麼是絕對路徑
什麼是相對路徑
相對路徑和絕對路徑存在的合理性
什麼是絕對路徑
系統中的所有檔案路徑,構成一棵樹。你在查詢一個檔案的過程,其實就是在遍歷一棵樹,你想要的那個檔案就是樹上的一個節點,從樹根到當前節點的遍歷就是一條路徑。如果你無論查詢什麼檔案都從樹根開始,那麼最終找到目標檔案所遍歷的路徑就是絕對路徑。比如在根路徑/下有一個目錄lives,這個目錄的結構如下:
lives
├── animal
│ ├── cat
│ └── dog
├── human
│ ├── man
│ │ ├── programmer
│ │ ├── scientist
│ │ └── teacher
│ └── woman
└── planet
├── earth
└── mars
如果你現在在programmer目錄下:
[[email protected] programmer]# pwd
/lives/human/man/programmer
你想從當前programmer目錄跳轉到scientist目錄下,你怎麼做?
如果採用絕對路徑:
[[email protected] programmer]# cd /lives/human/man/scientist/
[[email protected] scientist]#
如果採用相對路徑:
[[email protected] programmer]# cd ../scientist/
[[email protected]
一句話:
相對路徑是相對於程式當前所在的目錄,當前目錄隨著程式的執行不斷地發生變化。但是,絕對路徑是相對於根路徑/的,根路徑是恆定不變的。作為一個工科生,對標準性和靈活性的關係應該比較清楚。
絕對路徑雖然有失靈活,但是比較安全,你不必在意當前所處的目錄,定位任何檔案或者目錄都從根路徑開始。
相對路徑雖然靈活,但是不大安全,很可能遺漏了或者混淆了當前所處目錄,造成出錯。
因此,平時個人隨意地操作,可以使用相對路徑,但是軟體安裝目錄必須保證正確,絕對路徑是唯一的明智選擇。