萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux 目錄結構與檔案系統標準(FSSTND)深度解析

背景與目的

FSSTND(Linux 檔案系統標準)旨在統一目錄樹組織,使軟體開發與系統管理更便捷——所有檔案皆有定位。本章提供系統管理員所需概覽,完整細節請參閱官方文件。將目錄樹分割為多個獨立檔案系統(根、/usr、/var、/home)有助於管理容量、備份與維護,且設計考量網路環境(如唯讀掛載 CD-ROM 或 NFS 共享)。

主要檔案系統職責

根檔案系統(/)
每台機器必備,通常位於本地磁碟。包含開機與掛載其他檔案系統所需的必要檔案,應具備單用戶模式運作能力,並含修復工具與備份還原程式。
/usr 檔案系統
存放所有命令、程式庫、手冊頁等「不變動」檔案。不含特定機器檔案,亦無一般操作需修改的檔案。可透過網路唯讀共享,節省空間(常達數百 MB),升級時僅需更新主機。即便在本地磁碟,唯讀掛載亦能減少崩潰時資料損壞。
/var 檔案系統
存放會改變的檔案:spool 目錄(郵件、新聞、列印)、日誌、格式化手冊頁、暫存檔。傳統置於 /usr 下會導致 /usr 無法唯讀掛載。
/home 檔案系統
存放使用者家目錄(實際使用者資料)。獨立於其他目錄樹利於備份(其他目錄較少變動)。空間大時可劃分子層級(如 /home/students、/home/staff)。

上述各部分不必真實分離;小型或單用戶系統可合併於單一檔案系統。關鍵在遵守標準路徑命名——即使 /var 實際在 /usr/var,/usr/lib/libc.a 與 /var/adm/messages 仍須正常運作,可用符號連結實現。

Unix 依「目的」分組檔案(命令、資料、文件各歸其處),而非「所屬程式」。後者導致檔案難以共享(靜態/動態檔案混雜)且查詢困難(如手冊頁分散)。

根檔案系統詳解

根檔案系統宜保持精簡,僅含嚴格必要與少量不常變動檔案,降低損壞風險。一旦損壞系統通常無法正常開機(除非從磁片啟動)。根目錄一般不直接包含檔案,例外為開機映像檔 /vmlinuz。

關鍵子目錄

/bin
開機過程所需命令,或一般用戶開機後可能使用的命令。
/sbin
僅供系統管理員使用的命令,一般用戶不直接存取。
/etc
本機專屬設定檔。
/root
root 使用者家目錄。
/lib
根檔案系統上程式所需的共享程式庫。
/lib/modules
核心可載入模組,特別是修復系統所需的開機模組(網路、檔案系統驅動)。
/dev
裝置檔案目錄。
/tmp
暫存檔案。開機後程式應優先用 /var/tmp(通常在較大磁碟)。
/boot
開機載入器(LILO/GRUB)檔案與核心映像。核心映像必須位於 IDE 硬碟前 1024 柱面,大量映像時宜用獨立檔案系統。
/mnt
管理員臨時掛載點,程式不自動支援。可細分如 /mnt/dosa(MSDOS)、/mnt/exta(ext2)。
/proc、/usr、/var、/home
其他檔案系統掛載點。

/etc 重要設定檔

/etc/rc 或 /etc/rc.d
啟動或切換運行等級時執行的腳本或目錄。
/etc/passwd
使用者資料庫(帳號、真實姓名、家目錄、加密密碼等)。
/etc/fdprm
軟碟參數表,供 setfdprm 使用。
/etc/fstab
開機自動掛載的檔案系統清單(含 swap 區)。
/etc/group
群組資料庫。
/etc/inittab
init 設定檔。
/etc/issue
登入提示前顯示的訊息(系統說明/歡迎辭)。
/etc/magic
file 指令辨識檔案類型的規則庫。
/etc/motd
每日訊息,登入成功後自動顯示(如計畫停機通告)。
/etc/mtab
目前已掛載檔案系統清單,由開機腳本初始化並由 mount 更新。
/etc/shadow
影子密碼檔,僅 root 可讀,增強安全性。
/etc/login.defs
login 指令設定。
/etc/printcap
印表機能力資料庫(類似 termcap)。
/etc/profile、/etc/csh.login、/etc/csh.cshrc
Shell 登入/啟動時執行的全域環境設定。
/etc/securetty
允許 root 登入的安全終端清單(通常僅虛擬控制台)。
/etc/shells
受信任 Shell 清單,chsh 與 ftpd 會參考。
/etc/termcap
終端能力資料庫,程式查詢正確逸出序列以支援多種終端。

/dev 目錄

包含所有裝置檔案,依命名慣例命名。安裝時自動產生,後續可透過 /dev/MAKEDEV 腳本管理;/dev/MAKEDEV.local 供管理員撰寫非標準裝置描述。

/usr 檔案系統

/usr 通常較大,所有程式安裝於此。檔案多來自發行版;本地安裝程式置於 /usr/local,升級系統時無需重裝額外軟體。主要子目錄:

/usr/X11R6
X Window System 完整檔案,擁有獨立結構以簡化開發與安裝。
/usr/X386
對應 X11 Release 5 版本。
/usr/bin
幾乎所有使用者命令(部分在 /bin 或 /usr/local/bin)。
/usr/sbin
非開機必要的系統管理命令。
copyright © 萬盛學電腦網 all rights reserved