linux系統目錄架構

一. 根目錄 (/) 的意義與內容:

FHS標準建議:根目錄(/)所在分區應該越小越好, 且應用程序所安裝的軟件最好不要與根目錄放在同一個分區內,保持根目錄越小越好。 如此不但效能較佳,根目錄所在的文件系統也較不容易發生問題。說白了,就是根目錄和Windows的C盤一個樣。
根據以上原因,FHS認爲根目錄(/)下應該包含如下子目錄:

目錄 放置檔案內容
/bin /bin放置的是在單人維護模式下還能夠被操作的指令。在/bin底下的指令可以被root與一般帳號
所使用,主要有:cat,chmod(修改權限), chown, date, mv, mkdir, cp, bash等等常用的指令。
/boot 主要放置開機會使用到的檔案,包括Linux核心檔案以及開機選單與開機所需設定檔等等。
Linux kernel常用的檔名爲:vmlinuz ,如果使用的是grub這個開機管理程式,則還會存
在/boot/grub/這個目錄。
/dev 在Linux系統上,任何裝置與周邊設備都是以檔案的型態存在於這個目錄當中。
只要通過存取這個目錄下的某個檔案,就等於存取某個裝置。比要重要的檔案有
/dev/null, /dev/zero, /dev/tty , /dev/lp*, / dev/hd*, /dev/sd*等等
/etc 系統主要的設定檔幾乎都放置在這個目錄內,例如人員的帳號密碼檔、各種服務的啓始檔等等。 
一般來說,這個目錄下的各檔案屬性是可以讓一般使用者查閱的,但是隻有root有權力修改。
 FHS建議不要放置可執行檔(binary)在這個目錄中。
/home 這是系統預設的使用者家目錄(home directory)
/lib
/lib64
放置的開機時使用到的函數庫文件以及在/bin或/sbin底下的指令會呼叫的函式庫
/media 放置的就是可移除的裝置。 包括軟碟、光碟、DVD等等裝置都暫時掛載於此。 常見的有:
/media/floppy, /media/cdrom等等。
/mnt 掛載某些額外的裝置,一般建議妳可以放置到這個目錄中。在古早時候,這個目錄的用途與
/media相同。 只是有了/media之後,這個目錄就
用來暫時掛載用了
/opt 三方軟件放置的地方
/root 掛載根目錄時,該目錄就能夠擁有root的家目錄,所以我們會希望root的家目錄與根目錄
放置在同一個分區中。
/sbin 放在/sbin底下的爲開機過程中所需要的,裏面包括了開機、修復、還原系統所需要的指令
/svr 視爲service的縮寫,是一些網路服務啓動之後,這些服務所需要取用的資料目錄。 常見的
服務例如WWW, FTP等等。
/tmp 這是讓一般使用者或者是正在執行的程序暫時放置檔案的地方。這個目錄是任何人都能夠存取的,
所以你需要定期的清理一下。
擴充目錄 放置檔內容
/proc 這個目錄本身是一個虛擬文件系統,他放置的資料都是在內存當中,例如系統核心、進程、周邊
裝置的狀態及網絡狀態等等。因爲這個目錄下的資料都是在記憶體(內存)當中,所以本身不
佔任何硬盤空間。比較重要的檔案(目錄)
/sys 這個目錄其實跟/proc非常類似,也是一個虛擬的檔案系統,主要也是記錄與核心相關的資訊。
包括目前已載入的核心模組與核心偵測到的硬體裝置資訊等等。 這個目錄同樣不佔硬盤容量。

另外要注意的是,因爲根目錄與開機有關,開機過程中僅有根目錄會被掛載, 其他分區則是在開機完成之後纔會持續的進行掛載的行爲。就是因爲如此,因此根目錄下與開機過程有關的目錄即紅字的目錄, 不能夠與根目錄放到不同的分區去。

二. /usr 的意義與內容:

目錄 放置檔案內容
/usr/bin 絕大部分的用戶可使用的與開機無關的指令都放在這裏,與/bin的區別就是與開機無關
/usr/include c/c++等程序語言的檔頭(header)與包含檔(include)放置處
/usr/lib
/usr/lib64
包含各應用軟件的函式庫、目標文件
/usr/local 管理員在本機自行安裝自己下載的軟件,建議安裝到此目錄, 這樣會比較便於管理。該目錄下也是具有bin, etc, include, lib...的次目錄
/usr/sbin 非系統正常運作所需要的系統指令。最常見的就是某些網絡服務器軟件的服務指令。
/usr/share 多數聯機或者離線幫助文檔或手冊放置到該目錄下
/usr/src 一般原始碼建議放置到這裏,src有source的意思。至於核心原始碼則建議放置到/usr/src/linux/目錄下。

三. /var 的意義與內容:

目錄 放置檔內容
/var/cache 應用程序本身運作過程中會產生的一些暫存檔
/var/lib 程序本身執行的過程中,需要使用到的數據文件放置的目錄。在此目錄下各自的軟件應
該要有各自的目錄。舉例來說,MySQL的數據庫放置到/var/lib/mysql/而rpm的數據庫則
放到/var/lib/rpm去
/var/lock 某些裝置或者是文件資源一次只能被一個應用程序所使用,如果同時有兩個程序使用該裝
置時, 就可能產生一些錯誤的狀況,
因此就得要將該裝置上鎖(lock),以確保該裝置只會給單一軟件所使用。
/var/log 非常重要。這是登錄文件放置的目錄。裏面比較重要的文件如/var/log/messages,
/var/log/wtmp(記錄登入者的信息)等。
/var/mail 放置個人電子郵件信箱的目錄,不過這個目錄也被放置到/var/spool/mail/目錄中,通常這
兩個目錄是互爲鏈接文件。
/var/run 某些程序或者是服務啓動後,會將他們的PID放置在這個目錄下
/var/spool 這個目錄通常放置一些隊列數據,所謂的“隊列”就是排隊等待其他程序使用的數據。 這些
數據被使用後通常都會被刪除。舉例來說,系統收到新信會放置到/var/spool/mail/中, 但
使用者收下該信件後該封信原則上就會被刪除。信件如果暫時寄不出去會被放到
/var/spool/mqueue/中, 等到被送出後就被刪除。如果是工作排程數據(crontab),就會被
放置到/var/spool/cron/目錄中。

四.系統大概構架圖


發佈了49 篇原創文章 · 獲贊 4 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章