{eval=Array;=+count(Array);}
關(guān)于Linux各個(gè)目錄的作用有一個(gè)專門的文檔,名詞為FHS。可以私信本號(hào) linuxfhs獲得。下面本號(hào)簡(jiǎn)要介紹一下各個(gè)目錄的作用。
目錄/bin是根目錄的一級(jí)子目錄。在該目錄中包含著最為基礎(chǔ)的用戶二進(jìn)制文件,也就是應(yīng)用程序。這個(gè)目錄非常像Windows下的Programs目錄。
并非所有的應(yīng)用程序都存儲(chǔ)在這個(gè)目錄下面,有些不是特別基礎(chǔ)的程序會(huì)存儲(chǔ)在/usr/bin目錄下面。比如Chrome瀏覽器等,或者用戶自己安裝的一些程序通常會(huì)在/usr/bin下面。而系統(tǒng)應(yīng)用程序則通常會(huì)在該目錄下面,比如ls、mkdir和cp等等。
如果你使用的桌面版的操作系統(tǒng),可以通過GUI看到該目錄下的內(nèi)容。下面這張圖是一個(gè)具體的例子。
圖4 二進(jìn)制目錄在目錄/boot下面包含的文件是用于啟動(dòng)操作系統(tǒng)的文件。比如GRUB boot loader文件和操作系統(tǒng)內(nèi)核等。但是boot loader的配置文件并沒有在這里,而是在/etc目錄中。
目錄/cdrom并不是FHS標(biāo)準(zhǔn)的一部分,但是我們?cè)诮^大多數(shù)發(fā)行版中都可以看到。該目錄是光盤的臨時(shí)掛載點(diǎn)。
在Linux下面,設(shè)備也是一個(gè)文件,比如磁盤、優(yōu)盤或者光盤等。包括無線網(wǎng)卡、攝像頭和串口等都是一個(gè)文件。而通常這些文件都是在/dev目錄下面,大家可以切換到該目錄下看看具體的內(nèi)容。
圖5 設(shè)備目錄其中圖是/dev目錄的一個(gè)局部截圖。在該目錄下面最常見的可能就是/dev/sda這種文件,該文件表示一個(gè)SCSI磁盤。
處理實(shí)體設(shè)備外,在該目錄下面還有很多偽設(shè)備。比如/dev/random表示一個(gè)產(chǎn)生隨機(jī)數(shù)的設(shè)備,/dev/loop0則是一個(gè)將本地文件映射為磁盤的虛擬設(shè)備。這些偽設(shè)備有的時(shí)候非常用于,我們經(jīng)常使用這些設(shè)備做一些測(cè)試。
圖6 GUI目錄操作系統(tǒng)和應(yīng)用程序的配置文件通常都統(tǒng)一存儲(chǔ)在一個(gè)目錄下面,這個(gè)目錄就是/etc。很多配置文件都已文本文件的形式存儲(chǔ)在這里。我們可以通過文本編輯器修改配置項(xiàng)。比如網(wǎng)絡(luò)的IP地址、Nginx的配置和系統(tǒng)日志的配置等等都可以在這里找到。
這個(gè)目錄稱為主目錄。在Linux操作系統(tǒng)下面通常每個(gè)用戶都有一個(gè)自己的目錄,該目錄就在/home下面。例如本例中有一個(gè)名為zhangsn的用戶,該用戶的主目錄在/home下如圖7所示。
用戶的主目錄下面包含這數(shù)據(jù)文件和用戶相關(guān)的配置文件。通常一個(gè)用戶只能修改其目錄下的文件,只有獲得授權(quán)的情況下才能訪問其它文件。
圖7 zhangsn的主目錄在/lib目錄中存儲(chǔ)的是/bin和/sbin中二進(jìn)制文件(應(yīng)用程序)需要的庫文件。在/usr/bin下的應(yīng)用程序依賴的庫通常在/usr/lib目錄下面。
每一個(gè)文件系統(tǒng)都有一個(gè)lost+found目錄。如果文件系統(tǒng)崩潰,在系統(tǒng)下次啟動(dòng)的時(shí)候會(huì)進(jìn)行數(shù)據(jù)檢查。在檢查的過程中如果發(fā)現(xiàn)有數(shù)據(jù)沖突的文件就會(huì)將其放入該目錄中。這樣,你就可以試著手動(dòng)恢復(fù)該文件。
在目錄/media下面包含的子目錄是一些可插拔設(shè)備的掛載點(diǎn)。當(dāng)一些可插拔設(shè)備插入電腦時(shí),在該目錄下會(huì)自動(dòng)創(chuàng)建子目錄,并進(jìn)行掛載。
該目錄通常是空的。主要用于臨時(shí)掛載一些外部文件系統(tǒng)。比如有多個(gè)數(shù)據(jù)磁盤的情況下,會(huì)將格式化的磁盤掛載到該目錄下面。mnt字符是mount的縮寫,也就是掛載的意思。
自行安裝的非常規(guī)軟件通常會(huì)安裝在該目錄。
該目錄也是一個(gè)虛擬目錄,也就是并不是存儲(chǔ)文件數(shù)據(jù)的目錄。這個(gè)目錄中存儲(chǔ)的文件通常是用來獲取操作系統(tǒng)內(nèi)核內(nèi)部信息或者進(jìn)程內(nèi)部信息的。
圖8 proc目錄比如每個(gè)進(jìn)程在該目錄下都有一個(gè)子目錄,而字母的名字就是進(jìn)程ID。通過cat命令對(duì)該目錄下的文件進(jìn)行讀取,可以獲取進(jìn)程的詳細(xì)信息。例如我們進(jìn)入目錄/proc/258下面,這個(gè)是進(jìn)程ID為258的進(jìn)程的信息,通過ls命令可以看到如下內(nèi)容。
圖8 進(jìn)程詳細(xì)信息目錄/root是root用戶的主目錄。root用戶的主目錄并不是在/home下面,而是在根目錄下面。這一點(diǎn)需要注意。
這個(gè)目錄是比較新的目錄,用于應(yīng)用程序存儲(chǔ)經(jīng)常變化的文件,比如文件鎖、進(jìn)程ID或者套接字等等。
該目錄與/bin目錄類似,用于存儲(chǔ)二進(jìn)制文件。與/bin目錄不同的地方是這個(gè)目錄存儲(chǔ)的是用于系統(tǒng)管理的二進(jìn)制文件,比如磁盤格式化(mkfs)、磁盤分區(qū)(fdisk)和網(wǎng)絡(luò)配置(ifconfig)等命令。
圖9 系統(tǒng)命令如果你的Linux發(fā)行版使用SELinux作為安全管理,那么該目錄包含著SELinux使用的相關(guān)文件。
該目錄存儲(chǔ)具體服務(wù)提供的數(shù)據(jù)。通常該目錄是空的。這個(gè)目錄中的數(shù)據(jù)通常是提供給外部的,比如Web網(wǎng)站存儲(chǔ)的用戶信息。這里需要注意與/var和/tmp的區(qū)別,前者是提供給外部用戶的,而兩者則是應(yīng)用自己使用的,而且/tmp中的數(shù)據(jù)重啟后會(huì)丟失。
應(yīng)用程序產(chǎn)生的臨時(shí)數(shù)據(jù)通常存儲(chǔ)在該目錄中。該目錄有一個(gè)特點(diǎn),就是系統(tǒng)重啟后目錄中的數(shù)據(jù)將被清理。
與系統(tǒng)使用的應(yīng)用程序和文件不同,在/usr目錄下存儲(chǔ)的是用戶使用的應(yīng)用程序的文件。比如/bin下面存儲(chǔ)的系統(tǒng)二進(jìn)制文件,而/usr/bin下面則是用戶使用的二進(jìn)制文件。/lib下面存儲(chǔ)的系統(tǒng)庫文件,而/usr/lib下面存儲(chǔ)的是用于應(yīng)用程序使用的庫文件。
/var目錄是/usr目錄對(duì)應(yīng)的可寫目錄,在/usr目錄中的內(nèi)容只讀的,而/var則是可寫的。日志文件和正常操作中的一些寫入操作通常會(huì)寫入/var目錄。例如,日志文件通常存儲(chǔ)在/var/log中。
0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答1
回答0
回答