? 絕對路徑名和相對路徑名是在 Linux 上指定目錄或文件的虛擬地址的兩種方式。那么這兩種路徑類型之間有什么區(qū)別,您應(yīng)該在命令中使用哪一種?現(xiàn)在就讓我們一起來看看吧。
Linux 中的相對路徑和絕對路徑
如果您曾經(jīng)使用過任何基于參數(shù)的 Linux 命令,如 cd 或 ls,您應(yīng)該知道有多種方法可以指定目錄或文件的路徑。
您可能更喜歡使用普通的路徑表達(dá)式,或者,如果您是高級 Linux 用戶,可以使用復(fù)雜的正則表達(dá)式將文件名或目錄名傳遞給程序。無論哪種方式,在 Linux 上只有兩種方法可以指定目錄路徑:絕對路徑和相對路徑。
絕對路徑表達(dá)式
絕對路徑始終從根目錄開始,到您要指向的實(shí)際目錄或文件結(jié)束。在使用絕對路徑表達(dá)式時,您需要鍵入層次結(jié)構(gòu)中存在的所有子目錄名,這些子目錄名通向最終位置。
例如,如果您想使用絕對路徑表達(dá)式指向 /var/www 目錄中的 /html/linuxmi.com,您可以使用:
?
┌──(linuxmi?linuxmi)-[~/www.linuxmi.com] └─$ /var/www/html/linuxmi.com
?
…其中表達(dá)式開頭的 / 表示 Linux 上的根目錄。
相對路徑表達(dá)式
另一方面,相對路徑是指使用另一個路徑(通常是當(dāng)前工作目錄)作為其根或基的路徑表達(dá)式。顧名思義,它與系統(tǒng)上的現(xiàn)有路徑“相對”。
例如,如果您當(dāng)前位于 /var/www 目錄中,并且需要指向 /html/linuxmi.com,則可以使用:
?
┌──(linuxmi?linuxmi)-[/var/www] └─$ cd ./html/linuxmi.com
?
…其中 . 表示您所在的當(dāng)前目錄。您可以使用 cd 命令更改當(dāng)前工作目錄。
除了單個句點(diǎn)(.)之外,相對路徑表達(dá)式還使用雙句點(diǎn)(..)來引用父目錄。
例如,假設(shè)您位于以下目錄結(jié)構(gòu)中的 /www 文件夾中:
?
/var/www/html/linuxmi.com
?
在上述路徑表達(dá)式中,. 將表示/www目錄,而 .. 將指向 /var 目錄。如果在 /var/www 中需要訪問/var中的另一個目錄 /mail,您可以使用:
?
cd ../mail
?
就這么簡單。
絕對與相對:哪種路徑表達(dá)式更好?
盡管路徑表達(dá)式對于桌面用戶來說似乎很簡單且不重要,但在各種使用情況下,使用錯誤的路徑名可能會導(dǎo)致很多未經(jīng)請求的不便。Web 服務(wù)器就是一個很好的例子。
作為一名在 Linux 服務(wù)器上托管的項(xiàng)目中工作的 Web 開發(fā)人員,您需要訪問項(xiàng)目目錄中的文件。在這里,使用相對路徑表達(dá)式是標(biāo)準(zhǔn)的,因?yàn)轫?xiàng)目的子目錄名或域名的任何更改都可能導(dǎo)致鏈接斷開。
Linux 終端目錄列表
您可以通過一個桌面用戶可能會更好地理解的簡單示例來理解這一點(diǎn)。/ 字符表示Linux系統(tǒng)上的根目錄。想象一下,如果您突然改變了這一點(diǎn),并使 / 字符指向主目錄。許多包含絕對路徑表達(dá)式的命令將無法工作,因?yàn)?/ 現(xiàn)在已被重新分配到其他目錄。
使用相對路徑表達(dá)式的另一個優(yōu)點(diǎn)是,由于它們與當(dāng)前工作目錄相對,因此可以節(jié)省鍵入不必要字符的時間。
這里唯一的問題是與相對表達(dá)式的復(fù)雜性和學(xué)習(xí)曲線。但這在絕對路徑表達(dá)式中也很常見;要成為使用絕對路徑的高手,您需要熟悉 Linux 目錄層次結(jié)構(gòu)。您可以使用 tree 命令查看整個 Linux 目錄樹,并使絕對路徑表達(dá)式更容易。
了解 Linux 目錄層次結(jié)構(gòu)
Linux 目錄結(jié)構(gòu)對于運(yùn)行基于 Linux 的操作系統(tǒng)的所有機(jī)器都是通用的。您可以使用 ls 或 tree 等命令來了解有關(guān)文件和文件夾在計(jì)算機(jī)上的結(jié)構(gòu)的更多信息。
審核編輯:湯梓紅
評論
查看更多