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