6.1 一切從“/”開始

2023-05-11 15:01 更新

在Linux系統(tǒng)中,目錄、字符設(shè)備、塊設(shè)備、套接字、打印機(jī)等都被抽象成了文件,即劉遄老師所一直強(qiáng)調(diào)的“Linux系統(tǒng)中一切都是文件”。既然平時(shí)我們打交道的都是文件,那么又應(yīng)該如何找到它們呢?在Windows操作系統(tǒng)中,想要找到一個(gè)文件,我們要依次進(jìn)入該文件所在的磁盤分區(qū)(假設(shè)這里是D盤),然后在進(jìn)入該分區(qū)下的具體目錄,最終找到這個(gè)文件。但是在Linux系統(tǒng)中并不存在C/D/E/F等盤符,Linux系統(tǒng)中的一切文件都是從“根(/)”目錄開始的,并按照文件系統(tǒng)層次化標(biāo)準(zhǔn)(FHS)采用樹形結(jié)構(gòu)來存放文件,以及定義了常見目錄的用途。另外,Linux系統(tǒng)中的文件和目錄名稱是嚴(yán)格區(qū)分大小寫的。例如,root、rOOt、Root、rooT均代表不同的目錄,并且文件名稱中不得包含斜杠(/)。Linux系統(tǒng)中的文件存儲(chǔ)結(jié)構(gòu)如圖6-1所示。

圖6-1 Linux系統(tǒng)中的文件存儲(chǔ)結(jié)構(gòu)

前文提到的FHS是根據(jù)以往無數(shù)Linux系統(tǒng)用戶和開發(fā)者的經(jīng)驗(yàn)而總結(jié)出來的,是用戶在Linux系統(tǒng)中存儲(chǔ)文件時(shí)需要遵守的規(guī)則,用于指導(dǎo)我們應(yīng)該把文件保存到什么位置,以及告訴用戶應(yīng)該在何處找到所需的文件。但是,F(xiàn)HS對于用戶來講只能算是一種道德上的約束,有些用戶就是懶得遵守,依然會(huì)把文件到處亂放,有些甚至從來沒有聽說過它。這里并不是號(hào)召各位讀者去譴責(zé)他們,而是建議大家要靈活運(yùn)用所學(xué)的知識(shí),千萬不要認(rèn)準(zhǔn)這個(gè)FHS協(xié)定只講死道理,不然吃虧的可就是自己了。在Linux系統(tǒng)中,最常見的目錄以及所對應(yīng)的存放內(nèi)容如表6-1所示。

表6-1 Linux系統(tǒng)中常見的目錄名稱以及相應(yīng)內(nèi)容

目錄名稱 應(yīng)放置文件的內(nèi)容
/boot 開機(jī)所需文件—內(nèi)核、開機(jī)菜單以及所需配置文件等
/dev 以文件形式存放任何設(shè)備與接口
/etc 配置文件
/home 用戶主目錄
/bin 存放單用戶模式下還可以操作的命令
/lib 開機(jī)時(shí)用到的函數(shù)庫,以及/bin與/sbin下面的命令要調(diào)用的函數(shù)
/sbin 開機(jī)過程中需要的命令
/media 用于掛載設(shè)備文件的目錄
/opt 放置第三方的軟件
/root 系統(tǒng)管理員的家目錄
/srv 一些網(wǎng)絡(luò)服務(wù)的數(shù)據(jù)文件目錄
/tmp 任何人均可使用的“共享”臨時(shí)目錄
/proc 虛擬文件系統(tǒng),例如系統(tǒng)內(nèi)核、進(jìn)程、外部設(shè)備及網(wǎng)絡(luò)狀態(tài)等
/usr/local 用戶自行安裝的軟件
/usr/sbin Linux系統(tǒng)開機(jī)時(shí)不會(huì)使用到的軟件/命令/腳本
/usr/share 幫助與說明文件,也可放置共享文件
/var 主要存放經(jīng)常變化的文件,如日志
/lost+found 當(dāng)文件系統(tǒng)發(fā)生錯(cuò)誤時(shí),將一些丟失的文件片段存放在這里

在Linux系統(tǒng)中另外還有一個(gè)重要的概念—路徑。路徑指的是如何定位到某個(gè)文件,分為絕對路徑與相對路徑。絕對路徑指的是從根目錄(/)開始寫起的文件或目錄名稱,而相對路徑則指的是相對于當(dāng)前路徑的寫法。我們來看下面這個(gè)例子,以幫助大家理解。假如有位外國游客來到中國潘家園旅游,當(dāng)前內(nèi)急但是找不到洗手間,特意向您問路,那么您有兩種正確的指路方法。

絕對路徑(absolute path):首先坐飛機(jī)來到中國,到了北京出首都機(jī)場坐機(jī)場快軌到三元橋,然后換乘10號(hào)線到潘家園站,出站后坐34路公交車到農(nóng)光里,下車后路口左轉(zhuǎn)。

相對路徑(relative path):前面路口左轉(zhuǎn)。

這兩種方法都正確。如果您說的是絕對路徑,那么任何一位外國游客都可以按照這個(gè)提示找到潘家園的洗手間,但是太繁瑣了。如果您說的是相對路徑,雖然表達(dá)很簡練,但是這位外國游客只能從當(dāng)前位置(不見得是潘家園)出發(fā)找到洗手間,因此并不能保證在前面的路口左轉(zhuǎn)后可以找到洗手間,由此可見,相對路徑不具備普適性。

如果各位讀者現(xiàn)在還是不能理解相對路徑和絕對路徑的區(qū)別,也不要著急,以后通過實(shí)踐練習(xí)肯定可以徹底搞明白。當(dāng)前建議大家先記住FHS中規(guī)范的目錄作用,這將在以后派上用場。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)