前言
之前,提到過(guò)Linux下目錄的一系列操作,在對(duì)目錄操作前,其實(shí)我們有必要加深一下對(duì)路徑的的一個(gè)了解作為基礎(chǔ)知識(shí)幫助我們快速理解和定位到具體目錄,做相應(yīng)操作。平時(shí)開發(fā)中,我們對(duì)路徑的操作一般會(huì)停留在資源文件、項(xiàng)目打包上線等簡(jiǎn)單的路徑訪問(wèn),但還是需要了解下這些路徑為什么這樣書寫。
我們需要知道3個(gè)知識(shí)點(diǎn):特殊路徑、絕對(duì)路徑、相對(duì)路徑。
特殊路徑
在每個(gè)目錄下, 都會(huì)固定存在兩個(gè)特殊目錄, 分別是.和..的目錄。一個(gè)點(diǎn)代表的是當(dāng)前目錄, 兩個(gè)點(diǎn)代表的是當(dāng)前目錄的上層目錄。注意: 在Linux下所有以點(diǎn)開始的文件都是"隱藏文件", 對(duì)于這類文件, 只使用命令ls -l是看不到的, 必須要使用ls -la才可以看到。這兩個(gè)路徑組合在路徑字符串中,能實(shí)現(xiàn)對(duì)相對(duì)位置的一個(gè)訪問(wèn),也就是等會(huì)兒會(huì)提及的相對(duì)路徑。
絕對(duì)路徑
inux系統(tǒng)采用了目錄樹的文件組織結(jié)構(gòu), 在Linux下每個(gè)目錄或文件都可以從根目錄處開始尋找, 比如: /usr/bin目錄。這種從根目錄開始的全路徑被稱為"絕對(duì)路徑", 絕對(duì)路徑一定是以 “/” 開頭的。
如何確認(rèn)當(dāng)前所在的目錄, 可以使用pwd命令查看:
1 [root@jdcloud~]# cd /usr/local/
2 [root@jdcloud]# pwd
那么,/usr/local/就會(huì)作為回顯的字符串輸出到標(biāo)準(zhǔn)輸出流上,用戶就能看到。這個(gè)pwd命令平時(shí)我們可以用作動(dòng)態(tài)環(huán)境變量使用在SHELL腳本中,以實(shí)現(xiàn)一些簡(jiǎn)單的針對(duì)本地路徑的操作,可以組合文件。
相對(duì)路徑
相對(duì)路徑就很好理解了,不以“/”開頭的路徑,基本上就是相對(duì)路徑,但在Linux下,有需要注意的地方。一般來(lái)說(shuō),你需要訪問(wèn)當(dāng)前路徑下的文件,前面要加上之前說(shuō)到的,特殊路徑。比如刪除當(dāng)前路徑下的一個(gè)叫做 itcast.jpg 的圖片,一般操作是:
1 rm ./itcast.jpg
以./開頭來(lái)確保這是當(dāng)前目錄下的文件。如果是上一級(jí)目錄,就用..,兩個(gè).來(lái)書寫即可,這樣組合多個(gè)目錄結(jié)構(gòu),就能找到我要的文件了。在Linux還有點(diǎn)需要注意,可執(zhí)行文件不僅要標(biāo)注可執(zhí)行的權(quán)限,還需要,指定特殊路徑作為前綴才能運(yùn)行,比如:
1 /mongod -f db.cfg
以./開頭來(lái)執(zhí)行當(dāng)前目錄下的一個(gè)可執(zhí)行程序。
總結(jié)
本次教程中的東西很簡(jiǎn)單,但是非常重要,多嘗試對(duì)路徑不同的操作就能在運(yùn)維工作上,事半功倍。