Linux Filesystem Hierarchy Standard(FHS)
1. /bin
- 全稱:Binary(二進制文件)
- 功能:存放系統最基礎的可執行命令,所有用戶(包括普通用戶)都能使用,用于系統啟動和修復(如
ls
、cp
、mv
、sh
等)。 - 特點:命令多為精簡的核心工具,不依賴復雜庫,可在單用戶模式下運行。
2. /boot
- 功能:存放系統啟動相關文件,包括內核(vmlinuz)、啟動引導程序(GRUB)配置、初始化內存盤(initrd.img)等。
- 常見文件:
vmlinuz
:Linux內核鏡像(當前使用的內核);vmlinuz.old
:上一個版本的內核(用于啟動失敗時回退);initrd.img
:初始化內存盤(啟動時臨時加載驅動,幫助內核識別硬件);grub/
:GRUB引導程序的配置文件和模塊。
3. /dev
- 全稱:Devices(設備文件)
- 功能:Linux中所有硬件設備的抽象表示,通過文件形式訪問設備(無需直接操作硬件)。
- 常見設備文件:
dev/sda
:第一塊SATA硬盤;dev/tty
:終端設備;dev/null
:“黑洞”設備(寫入的數據會被丟棄);dev/random
:隨機數生成器。
4. /etc
- 全稱:Editable Text Configuration(可編輯的文本配置)
- 功能:存放系統和應用程序的配置文件,幾乎所有服務的設置都在這里(如網絡、用戶、軟件等)。
- 常見子目錄/文件:
etc/passwd
:用戶賬號信息;etc/group
:用戶組信息;etc/network/
:網絡配置(如IP、網關);etc/apt/
:包管理工具(APT)的配置(軟件源列表等)。
5. /home
- 功能:普通用戶的主目錄,每個用戶在這里擁有獨立的子目錄(如
/home/kali
),用于存放個人文件、配置(如.bashrc
)、下載等。 - 特點:用戶對自己的主目錄有完全權限,其他用戶默認無法訪問(除非授權)。
6. /lib、/lib32、/lib64
- 全稱:Libraries(庫文件)
- 功能:存放程序運行依賴的共享庫(動態鏈接庫),類似Windows的
.dll
文件,避免程序重復存儲代碼,節省空間。 - 區別:
lib/
:默認的庫目錄(通常對應64位系統的主要庫);lib32/
:32位程序依賴的庫(兼容32位軟件);lib64/
:64位程序依賴的庫(部分系統單獨劃分,Kali中可能與lib/
合并)。
7. /lost+found
- 功能:用于存放文件系統修復時恢復的損壞文件。當系統意外崩潰或硬盤出錯時,
fsck
(文件系統檢查工具)會將找回的碎片文件存放在此,需手動確認是否保留。 - 特點:每個分區(如
/
、/home
)都有獨立的lost+found
目錄,默認空目錄。
8. /media
- 功能:用于臨時掛載可移動設備(如U盤、光盤、移動硬盤),系統會自動識別設備并在此創建子目錄(如
/media/kali/U盤名稱
)。
9. /mnt
- 功能:手動掛載文件系統的臨時掛載點,通常由管理員手動掛載(如掛載額外硬盤、網絡共享目錄等),與
/media
的區別是更偏向“手動管理”。
10. /opt
- 全稱:Optional(可選軟件)
- 功能:存放第三方軟件或大型應用(如商業軟件、自編譯程序),避免與系統自帶軟件混淆。例如,可將
/opt/google
用于存放Chrome瀏覽器。
11. /proc
- 全稱:Processes(進程)
- 功能:虛擬文件系統,不占用實際硬盤空間,實時反映系統內核、進程、硬件的狀態(通過文件形式展示)。
- 常見文件/目錄:
proc/cpuinfo
:CPU信息;proc/meminfo
:內存使用情況;proc/[進程ID]/
:對應進程的詳細信息(如proc/1/
是初始化進程systemd
)。
12. /root
- 功能:超級用戶(root)的主目錄,類似普通用戶的
/home
,但位置獨立(不放在/home
下,避免/home
分區故障時無法訪問root文件)。
13. /run
- 功能:存放系統運行時的臨時數據(如進程PID文件、臨時鎖文件、服務狀態等),重啟后會被清空,替代了舊版本的
/var/run
。
14. /sbin
- 全稱:System Binary(系統二進制文件)
- 功能:存放系統管理命令,通常只有root用戶才能使用,用于系統配置和維護(如
ifconfig
、reboot
、fdisk
、iptables
等)。
15. /srv
- 全稱:Service(服務數據)
- 功能:存放服務運行時需要的數據(如Web服務器的網站文件、FTP服務器的共享文件等),例如
/srv/www
可用于存放Apache的網頁內容。
16. /sys
- 全稱:System(系統)
- 功能:虛擬文件系統,用于與內核交互,展示硬件設備的層級結構(如CPU、內存、顯卡、USB設備等),支持動態配置硬件參數(比
/proc
更側重硬件)。
17. /swap
- 說明:這不是標準目錄,通常是交換分區(Swap Partition) 的掛載點(或交換文件),當物理內存不足時,系統會將部分數據臨時存放到此處,起到“虛擬內存”的作用。
18. /tmp
- 全稱:Temporary(臨時文件)
- 功能:存放臨時文件,所有用戶均可讀寫,系統會定期自動清理(或重啟后清空),適合存放不需要長期保留的文件(如程序運行時的緩存)。
19. /usr
- 全稱:Unix System Resources(Unix系統資源)
- 功能:存放用戶安裝的應用程序和數據,是系統中最龐大的目錄之一,類似Windows的
Program Files
。 - 主要子目錄:
usr/bin/
:普通用戶的應用程序(如python
、firefox
);usr/sbin/
:系統管理工具(非核心,如apache2
服務命令);usr/lib/
:應用程序依賴的庫文件;usr/share/
:共享數據(如文檔、圖標、字體等)。
20. /var
- 全稱:Variable(可變數據)
- 功能:存放經常變化的數據(如日志、緩存、數據庫、郵件等)。
- 主要子目錄:
var/log/
:系統和應用程序的日志文件(如var/log/auth.log
記錄登錄認證信息);var/cache/
:軟件包緩存(如APT下載的.deb
文件);var/spool/
:隊列數據(如郵件隊列、打印任務)。
總結
對于滲透測試場景,常用目錄如/etc
(配置網絡/服務)、/usr/bin
(調用工具)、/var/log
(查看日志排查攻擊痕跡)等尤為重要。