一圖看懂 Linux 文件系統(tǒng)的組成
今天來聊聊 Linux 文件系統(tǒng)。
過去,Linux 文件系統(tǒng)就像一個(gè)無序的小鎮(zhèn),人們隨心所欲地建造自己的房屋。然而,1994 年,文件系統(tǒng)層次標(biāo)準(zhǔn)(FHS,F(xiàn)ilesystem Hierarchy Standard)的引入為 Linux 文件系統(tǒng)帶來了秩序。
通過實(shí)施像 FHS 這樣的標(biāo)準(zhǔn),軟件可以確保在不同的 Linux 發(fā)行版中采用一致的布局。不過,并非所有 Linux 發(fā)行版都嚴(yán)格遵守這一標(biāo)準(zhǔn)。它們通常會(huì)加入自己獨(dú)特的元素或迎合特定的要求。
要熟練掌握這一標(biāo)準(zhǔn),可以從探索開始。使用 "cd "等命令進(jìn)行導(dǎo)航,使用 "ls "命令列出目錄內(nèi)容。將文件系統(tǒng)想象成一棵樹,從根目錄 (/) 開始。
圖片
- /(根目錄):根目錄是Linux文件系統(tǒng)中的頂級(jí)目錄。所有其他目錄都是根目錄的子目錄,使其成為整個(gè)文件系統(tǒng)的父目錄。
- /bin:包含啟動(dòng)系統(tǒng)和執(zhí)行基本操作所需的基本二進(jìn)制可執(zhí)行文件。這些對所有用戶都可用。
- /boot:保存啟動(dòng)系統(tǒng)所需的文件,包括 Linux 內(nèi)核、初始 RAM 磁盤映像(用于啟動(dòng)時(shí)需要的驅(qū)動(dòng)程序)和引導(dǎo)加載程序配置文件(如 GRUB )。
- /dev:包含代表硬件組件或其他系統(tǒng)設(shè)備的設(shè)備文件。例如,/dev/sda 代表第一個(gè) SATA 驅(qū)動(dòng)器,/dev/tty 代表終端。
- /etc:存儲(chǔ)系統(tǒng)和應(yīng)用程序的配置文件。這些文件通常是可以編輯的文本文件,用于更改系統(tǒng)或應(yīng)用程序的行為。
- /home:包含系統(tǒng)上所有有賬戶的用戶的個(gè)人目錄,根用戶除外。用戶特定的設(shè)置和文件存儲(chǔ)在此處。
- /lib:包括系統(tǒng)和應(yīng)用程序運(yùn)行所需的基本共享庫和內(nèi)核模塊。
- /media 和 /mnt:用于掛載可移動(dòng)媒體(如 USB 驅(qū)動(dòng)器)和臨時(shí)掛載的文件系統(tǒng)的目錄。
- /opt:用于安裝附加的應(yīng)用軟件包。它是安裝第三方應(yīng)用程序的地方,將它們與 /usr 中的系統(tǒng)默認(rèn)應(yīng)用程序分開。
- /proc:一個(gè)虛擬文件系統(tǒng),為內(nèi)核向進(jìn)程發(fā)送信息提供了一種機(jī)制。它不包含真實(shí)文件,而是運(yùn)行時(shí)系統(tǒng)信息(例如,系統(tǒng)內(nèi)存、掛載的設(shè)備、硬件配置等)。
- /sbin:包含基本的系統(tǒng)二進(jìn)制文件,類似于 /bin,但用于系統(tǒng)管理任務(wù),通常對非特權(quán)用戶不可訪問。
- /tmp:一個(gè)臨時(shí)目錄,應(yīng)用程序可以在其中存儲(chǔ)臨時(shí)文件。它通常在重啟或間隔一段時(shí)間后被清空。
- /usr:承載用戶應(yīng)用程序和大量系統(tǒng)內(nèi)容。它包含程序、庫、文檔等的子目錄,這些不是啟動(dòng)或修復(fù)系統(tǒng)所必需的。
- /var:包含變量數(shù)據(jù)文件。這個(gè)目錄包括系統(tǒng)在操作過程中寫入數(shù)據(jù)的文件,如日志( /var/log )、郵件( /var/mail )和打印隊(duì)列( /var/spool )。