1. 程式人生 > >linux相對路徑和絕對路徑

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]

scientist]#

一句話:

相對路徑是相對於程式當前所在的目錄,當前目錄隨著程式的執行不斷地發生變化。但是,絕對路徑是相對於根路徑/的,根路徑是恆定不變的。作為一個工科生,對標準性和靈活性的關係應該比較清楚。

絕對路徑雖然有失靈活,但是比較安全,你不必在意當前所處的目錄,定位任何檔案或者目錄都從根路徑開始。

相對路徑雖然靈活,但是不大安全,很可能遺漏了或者混淆了當前所處目錄,造成出錯。

因此,平時個人隨意地操作,可以使用相對路徑,但是軟體安裝目錄必須保證正確,絕對路徑是唯一的明智選擇。