- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業(yè)務(wù)經(jīng)營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯(lián)網(wǎng)協(xié)會理事單位
- 安全聯(lián)盟認證網(wǎng)站身份V標記
- 域名注冊服務(wù)機構(gòu)許可:滇D3-20230001
- 代理域名注冊服務(wù)機構(gòu):新網(wǎng)數(shù)碼
簡單地介紹Linux的文件目錄結(jié)構(gòu):
/:
這是整個文件系統(tǒng)的根目錄,所有的目錄都是由此衍生而來。此外,根目錄與開機、撤消、修復(fù)有關(guān)。也因此,F(xiàn)HS推薦,根目錄所在的分區(qū),越小越好;還有不應(yīng)該在根目錄下自行新增目錄與文件,以減少錯誤的發(fā)生機率,也可以提高性能。
根目錄是開機最早掛載進來的,所以有些必要的工具,「不可以」放到其它的分區(qū)當中,包括了/etc,/bin, /dev, /lib, /sbin。
/boot:
開機引導(dǎo)的相關(guān)文件,包含了開機核心與開機選單及配置文件,是整個系統(tǒng)核心開始進入用戶模式前所需要的文件。
這個目錄下的文件因為早于根目錄掛載前被讀入,所以許多人喜歡把/boot額外放置在一個獨立分區(qū)。雖然在正常的開機過程當中,/boot并非必須在獨立分區(qū)當中,但是在根目錄有異常時,獨立的/boot分區(qū),至少可以讓initramsfs引導(dǎo),讓管理者可以手動掛載根目錄來處理異常狀況。
接下來這五個目錄必須跟根目錄在同一個分區(qū):
/bin:
必要的系統(tǒng)指令,包括了管理者與一般用戶的指令。特別是進入singleuser mode時,可能也是你僅能動用的指令。所以這些指令,你應(yīng)該要有基本了解。
/sbin:
必要的系統(tǒng)指令,而且多僅限于root使用的程序,所以這些指令通常與開機與修復(fù)撤消有關(guān)。
/lib:
必要的共享函式庫與核心模塊。何為「必要??就是開機、/bin、及/sbin會調(diào)用使用的。其中/lib/modules這個目錄,就是核心相關(guān)驅(qū)動放置的地方。
/dev:
Linux下的所有設(shè)備,都是以文件模式來呈現(xiàn)的。所以這目錄下文件代表了你硬件的設(shè)備。當你訪問這里的某個文件時,就相當于訪問某個設(shè)備。如硬盤就是/dev/sd*,隨機數(shù)產(chǎn)生器就是/dev/urandom,光盤機就是/dev/sr*等。
/etc:
幾乎系統(tǒng)主要的配置文?都在這里。假如你對系統(tǒng)調(diào)校很有興趣,那你大概會花絕大多數(shù)的時間在這個目錄下。這個目錄也是我個人在備份系統(tǒng)時,唯一一定會整個復(fù)制下來的目錄。
以下是掛載媒體的目錄:
/media:
可移除媒體的掛載點。一般USB外接的硬盤、cdrom、軟盤都是掛載到這里了。
/mnt:
暫時掛載文件系統(tǒng)的掛載。一般未包含在整個文件系統(tǒng)必要目錄的分區(qū),都是掛載在這個目錄下。
這兩個目錄,其實有著混淆?關(guān)系。以前早期,cdrom,floppy都是掛載在/mnt下的,但USB外接設(shè)備的興起,讓不同的Linux發(fā)行版,有著不同的策略。如Ubuntu就把所有未特定指名掛載處的設(shè)備,都當成「可移除媒體」,全部都掛在/media下。
/opt:
額外的軟件安裝處。
/srv:
服務(wù)的數(shù)據(jù)目錄。
以上兩個目錄,在ubuntu中仍存在,但幾乎不再用到。
在以前,網(wǎng)頁服務(wù)器的網(wǎng)頁存儲在/srv/www下,但現(xiàn)在都搬到/var/www下了;一些第三方軟件,以前都放在/opt下,現(xiàn)在也多放到/usr下去了。僅剩下少數(shù)的軟件,會使用/opt放置軟件。
/tmp:
讓程序或者用戶暫時放置文件的地方,所以這個目錄也是任何人都可以訪問的。
在FHS的推薦當中,這個目錄下的數(shù)據(jù),應(yīng)該在開機時都予以刪除。因此,不要在里面放置必須保存的文件,甚至可以把這個目錄掛在到內(nèi)存當中,讓他在關(guān)機時,一并清除,還可以加快程序執(zhí)行。
/home:
用戶的家目錄所在的目錄。以帳號為目錄名,位在這個目錄之下。
/root:
root的家目錄。既然是最高權(quán)限的管理者,當然需要一些特權(quán),來放置系統(tǒng)管理所必須的文件。所以獨立一個目錄給他使用。
雖然我列出這兩個目錄,但其實這兩個目錄「并非」根目錄系統(tǒng)所必須要有的目錄。大家或許很訝異,但其實想一下就知道了:這兩個目錄不存在,并不影響用戶或管理者的登錄注銷,更不會影響整個系統(tǒng)的運行。頂多讓用戶與管理者不能存儲自用的文件而已。
在一些服務(wù)器,雖然有這兩個目錄,但用戶與管理者根本不會用到這些空間。在桌面系統(tǒng),大家會把最大的空間留給/home,但服務(wù)器幾乎完全是相反的,甚至只留個幾mb讓你放一些基本的分配文件,如.bashrc等等,強制避免寶貴的硬盤空間被浪費掉。
/usr:
先說明一下,usr「不是」user的縮寫,而是unixsoftwareresource的縮寫。所以顧名思義,這個目錄是放置軟件用的。軟件的開發(fā)者,不應(yīng)該自行在這個目錄下新增目錄,而是應(yīng)該合理的把文件放置到/usr下的各目錄當中。除了基本系統(tǒng)所需的文件之外,絕大多數(shù)的軟件都放置在/usr下,所以你會看到/usr下的目錄,有點類似根目錄的結(jié)構(gòu)。如果扣除掉個人的文件,你會發(fā)現(xiàn)這個目錄是整個系統(tǒng)占據(jù)容量最大的目錄。
以下這幾個都是/usr下重要的目錄:
/usr/bin:
絕大數(shù)用戶所使用的指令,都放在這個目錄下。若以ls-l 觀察,你會發(fā)現(xiàn)這些文件幾乎都是755權(quán)限,意即最終用戶可以讀入或使用但不能更改的。
/usr/sbin:
系統(tǒng)指令但非基本系統(tǒng)所需的,如一些daemon類的指令。
/usr/lib:
應(yīng)用軟件所需的函式庫。當然這里所指的應(yīng)用軟件,指的是/usr/bin與/usr/sbin下的軟件。
/usr/share:
放置共享文件的地方,如我們常查詢指令參數(shù)用的man,或者應(yīng)用程序的說明,就是指向這個目錄的文件。
/usr/include:
假如你會自行編譯安裝軟件,所需要的header或include,就是位在此處。
/usr/src:
軟件的原始碼放置處。
/usr/local:
這個要特別說明一下,你把他打開,會發(fā)現(xiàn)這個目錄下的結(jié)構(gòu),有點像根目錄,或許可以說非常像/usr的目錄結(jié)構(gòu)。沒錯,這個目錄也是放置應(yīng)用軟件的地方。所以也有bin,lib等等。
那有什么不同呢?一般發(fā)行版所包含的軟件,一般都是創(chuàng)建在/usr下,但是管理者自行從其它Linux發(fā)行版安裝的軟件,就必須放置在這個目錄下,以示區(qū)別。利用這個特性,你可以把兩個不同版本的同一軟件,安裝在同一臺機器上。
/var:
對于常變動的數(shù)據(jù)文件,會放置在這里。這樣說明,似乎很難理解何為「常變動」的文件。
看看他包含哪些目錄,作什么用途,你應(yīng)該就可以理解:
/var/cache:
快取緩沖文件放置處,如/var/cache/apt/archives中,有你sudoapt-get upgrade與sudoapt-get install所下載的.deb。
/var/mail:
郵件服務(wù)存放郵件處。
/var/www:
網(wǎng)頁服務(wù)存放網(wǎng)頁處。
/var/log:
系統(tǒng)運作的log檔,幾乎都放在此處。
/var/spool:
隊列文件放置處。如/var/spool/cron放置了工作排?數(shù)據(jù)。
/var/lib:
軟件執(zhí)行過程中,放置數(shù)據(jù)文件的地方。如/var/lib/mysql放置了MySQL數(shù)據(jù)庫。
還有兩個非FHS所規(guī)范,但是也是相當重要的目錄:
/proc:
這個目錄下的所有數(shù)據(jù)都是在內(nèi)存當中。主要是一些系統(tǒng)進程數(shù)據(jù)。所以只是徒有目錄或文件的模式,但是完全不占用磁盤空間。
/sys:
這個目錄的所有數(shù)據(jù),也是都在內(nèi)存當中,包括了核心、模塊、硬件設(shè)備信息等。當然也是完全不占用磁盤空間。
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP