在Linux文件系統(tǒng)上,可以使用切換目錄命令cd將shell會(huì)話(huà)切換到另一個(gè)目錄。cd命令的格 式非常簡(jiǎn)單:
cd destination
cd命令可接受單個(gè)參數(shù)destination,用以指定想切換到的目錄名。如果沒(méi)有為cd命令指 定目標(biāo)路徑,它將切換到用戶(hù)主目錄。
destination參數(shù)可以用兩種方式表示:一種是使用絕對(duì)文件路徑,另一種是使用相對(duì)文件 路徑。
接下來(lái)將分別闡述這兩種方法。這兩者之間的不同對(duì)于理解文件系統(tǒng)遍歷非常重要。
1. 絕對(duì)文件路徑
用戶(hù)可在虛擬目錄中采用絕對(duì)文件路徑引用目錄名。絕對(duì)文件路徑定義了在虛擬目錄結(jié)構(gòu)中 該目錄的確切位置,以虛擬目錄的根目錄開(kāi)始,相當(dāng)于目錄的全名。
絕對(duì)文件路徑總是以正斜線(xiàn)(/)作為起始,指明虛擬文件系統(tǒng)的根目錄。因此,如果要指 向usr目錄所包含的bin目錄下的用戶(hù)二進(jìn)制文件,可以使用如下絕對(duì)文件路徑:
/usr/bin
使用絕對(duì)文件路徑可以清晰表明用戶(hù)想切換到的確切位置。要用絕對(duì)文件路徑來(lái)切換到文件 系統(tǒng)中的某個(gè)特定位置,只需在cd命令后指定全路徑名:
christine@server01:~$ cd /usr/bin
christine@server01:/usr/bin$
注意,在上面的例子中,提示符中一開(kāi)始有一個(gè)波浪號(hào)(~)。在切換到另一個(gè)目錄之后,這 個(gè)波浪號(hào)被/usr/bin替代了。CLI提示符正是用它來(lái)幫助你跟蹤當(dāng)前所在虛擬目錄結(jié)構(gòu)中的位置。 波浪號(hào)表明shell會(huì)話(huà)位于你的主目錄中。在切換出主目錄之后,如果提示符已經(jīng)進(jìn)行了相關(guān)配置 的話(huà),絕對(duì)文件路徑就會(huì)顯示在提示符中。
說(shuō)明 如果你的shell CLI提示符中并沒(méi)有顯示shell會(huì)話(huà)的當(dāng)前位置,那是因?yàn)樗](méi)有進(jìn)行相關(guān) 的配置。如果你希望修改CLI提示符的話(huà),后面會(huì)告訴你如何更改配置。
如果沒(méi)有配置好提示符來(lái)顯示當(dāng)前shell會(huì)話(huà)的絕對(duì)文件路徑,也可以使用shell命令來(lái)顯示所 處的位置。pwd命令可以顯示出shell會(huì)話(huà)的當(dāng)前目錄,這個(gè)目錄被稱(chēng)為當(dāng)前工作目錄。pwd命令 的用法如下:
christine@server01:/usr/bin$ pwd
/usr/bin
christine@server01:/usr/bin$
南昌APP開(kāi)發(fā)公司百恒網(wǎng)絡(luò)開(kāi)發(fā)工程師告訴大家個(gè)技巧 在切換到新的當(dāng)前工作目錄時(shí)使用pwd命令,是很好的習(xí)慣。因?yàn)楹芏鄐hell命令都是在當(dāng) 前工作目錄中操作的,在發(fā)出命令之前,你應(yīng)該始終確保自己處在正確的目錄之中。
可以使用絕對(duì)文件路徑切換到Linux虛擬目錄結(jié)構(gòu)中的任何一級(jí):
christine@server01:/usr/bin$ cd /var/log
christine@server01:/var/log$
christine@server01:/var/log$ pwd
/var/log
christine@server01:/var/log$
還可以從Linux虛擬目錄中的任何一級(jí)跳回主目錄:
christine@server01:/var/log$ cd
christine@server01:~$
christine@server01:~$ pwd
/home/christine
christine@server01:~$
但是,如果你只是在自己的主目錄中工作,經(jīng)常使用絕對(duì)文件路徑的話(huà)未免太過(guò)冗長(zhǎng)。例如, 若已經(jīng)位于目錄/home/christine,再輸入下面這樣的命令切換到Documents目錄就有些繁瑣了:
cd /home/christine/Documents
幸好還有一種簡(jiǎn)單的解決方法。
2. 相對(duì)文件路徑
相對(duì)文件路徑允許用戶(hù)指定一個(gè)基于當(dāng)前位置的目標(biāo)文件路徑。相對(duì)文件路徑不以代表根目 錄的正斜線(xiàn)(/)開(kāi)頭,而是以目錄名(如果用戶(hù)準(zhǔn)備切換到當(dāng)前工作目錄下的一個(gè)目錄)或是 一個(gè)特殊字符開(kāi)始。假如你位于home目錄中,并希望切換到Documents子目錄,那你可以使用cd 命令加上一個(gè)相對(duì)文件路徑:
christine@server01:~$ pwd
/home/christine
christine@server01:~$
christine@server01:~$ cd Documents
christine@server01:~/Documents$ pwd
/home/christine/Documents
christine@server01:~/Documents$
上面的例子并沒(méi)有使用正斜線(xiàn)(/),而是采用了相對(duì)文件路徑將當(dāng)前工作目錄從 /home/christine改為/home/christine/Documents,大大減少了輸入內(nèi)容。
另外,此例中還要注意的是,如果提示符經(jīng)過(guò)配置可以顯示出當(dāng)前工作目錄,它就會(huì)一直顯 示波浪號(hào)。這表明當(dāng)前工作目錄位于用戶(hù)home目錄之下。
技巧 如果你剛接觸命令行和Linux目錄結(jié)構(gòu),建議暫時(shí)先堅(jiān)持使用絕對(duì)文件路徑。等熟悉了目 錄布局之后,再使用相對(duì)文件路徑。
可以在任何包含子目錄的目錄中使用帶有相對(duì)文件路徑的cd命令。也可以使用一個(gè)特殊字符 來(lái)表示相對(duì)目錄位置。
有兩個(gè)特殊字符可用于相對(duì)文件路徑中: ?
單點(diǎn)符(.),表示當(dāng)前目錄; ?
雙點(diǎn)符(..),表示當(dāng)前目錄的父目錄。 你
可以使用單點(diǎn)符,不過(guò)對(duì)cd命令來(lái)說(shuō),這沒(méi)有什么意義。在本章后面你會(huì)看到另一個(gè)命令 如何有效地在相對(duì)文件路徑中使用單點(diǎn)符。
雙點(diǎn)符在目錄層級(jí)中移動(dòng)時(shí)非常便利。如果你處在在主目錄下的Documents目錄中,需要切 換到主目錄下的Downloads目錄,可以這么做:
christine@server01:~/Documents$ pwd
/home/christine/Documents
christine@server01:~/Documents$ cd ../Downloads
christine@server01:~/Downloads$ pwd
/home/christine/Downloads
christine@server01:~/Downloads$
雙點(diǎn)符先將用戶(hù)帶到上一級(jí)目錄,也就是用戶(hù)的主目錄,然后/Downloads這部分再將用戶(hù)帶 到下一級(jí)目錄,即Downloads目錄。必要時(shí)用戶(hù)也可用多個(gè)雙點(diǎn)符來(lái)向上切換目錄。假如現(xiàn)在位 于主目錄中(/home/christine),想切換到/etc目錄,可以輸入如下命令:
christine@server01:~$ cd ../../etc
christine@server01:/etc$ pwd
/etc
christine@server01:/etc$
當(dāng)然,在上面這種情況下,采用相對(duì)路徑其實(shí)比采用絕對(duì)路徑輸入的字符更多,用絕對(duì)路徑 的話(huà),用戶(hù)只需輸入/etc。因此,只在必要的時(shí)候才使用相對(duì)文件路徑。
既然你已經(jīng)知道如何遍歷文件系統(tǒng)和驗(yàn)證當(dāng)前工作目錄,那就可以開(kāi)始探索各種目錄中究竟 都有些什么東西了。下一篇文章將介紹如何查看目錄中的文件。
本文僅限內(nèi)部技術(shù)人員學(xué)習(xí)交流,不得作于其他商業(yè)用途.希望此文對(duì)廣技人員有所幫助。原創(chuàng)文章出自:南昌APP開(kāi)發(fā)公司-百恒網(wǎng)絡(luò) http://www.10alone.com/app/index.html 如轉(zhuǎn)載請(qǐng)注明出處!