Linux——絕對路徑與相對路徑

根據檔名寫法的不同,可將所謂的路徑(path)定義爲絕對路徑(absolute)與相對路徑(relative)。 這兩種文件名/路徑的寫法依據是:

  • 絕對路徑:由根目錄(/)開始寫起的文件名或目錄名稱, 例如 /home/dmtsai/.bashrc
  • 相對路徑:相對於目前路徑的文件名寫法。 例如 ./home/dmtsai ../../home/dmtsai/ 等等。反正開頭不是 /就屬於相對路徑的寫法,而你必須要瞭解,相對路徑是以『你當前所在路徑的相對位置』來表示的。舉例來說,你目前在 /home這個目錄下, 如果想要進入 /var/log 這個目錄時,可以怎麼寫呢?
    1、cd /var/log   (absolute)
    2、cd ../var/log (relative)

因爲你在 /home 底下,所以要回到上一層 (../) 之後,才能繼續往 /var 來移動的! 特別注意這兩個特殊的目錄:

  • “ . ”  :代表當前的目錄,也可以使用 ./ 來表示;
  • “ .. ” :代表上一層目錄,也可以 ../ 來代表。

這個 . .. 目錄概念是很重要的,你常常會看到 cd .. ./command 之類的指令下達方式, 就是代表上一層與目前所在目錄的工作狀態喔!很重要的吶!

例題:

如何先進入/var/spool/mail/目錄,再進入到/var/spool/cron/目錄內? 答:

由於/var/spool/mail 與/var/spool/cron 是同樣在/var/spool/目錄中,因此最簡單的指令下達方法爲:

  1. cd /var/spool/mail
  2. cd ../cron

如此就不需要在由根目錄開始寫起了。這個相對路徑是非常有幫助的!尤其對於某些軟件開發商來說。 一般來說軟件開發商會將數據放置到/usr/local/裏面的各相對目錄。 但如果用戶想要安裝到不同目錄呢?就得要使用相對路徑囉!^_^

例題:

網絡文件常常提到類似『./run.sh』之類的數據,這個指令的意義爲何? 答:

由於指令的執行需要變量(bash 章節纔會提到)的支持,若你的執行文件放置在本目錄,並且本目錄並非正規的執行文件目錄(/bin, /usr/bin 等爲正規),此時要執行指令就得要嚴格指定該執行檔。『./』代表『本目錄』的意思,所以『./run.sh』代表『執行本目錄下, 名爲run.sh 的文件』!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章