文件系統:
? ? rootfs:根文件系統
根據FHS,/下一級子目錄是規定的,包括:
/boot:系統啟動相關的文件,如內核、initrd,以及grub(bootloader)
/dev:設備文件:塊設備:隨機訪問,以數據塊為單位,一般指存儲設備
? ? ? ? ? ? ? ? ? ? ? ? ? ? 字符設備:線性訪問,按字符為單位逐個讀取(如顯示器,鼠標)
? ? 特殊文件(黑底黃字):沒有大小,只有元數據,沒有數據,作為設備的訪問入口存在
? ? 設備號:主設備號(major)和次設備號(minor)
? ? 一個設備只有有設備文件才能被linux訪問,設備文件不能打開也不能cd進去(并不是目錄或文件,只是設備上數據的訪問入口)
/etc:配置文件(系統上大多數程序/服務程序的配置文件都在這里,絕大多數是純文本文件(一切皆文本))大多數情況下我們對整個系統的操作都是編輯配置文件來完成的
/home:用戶的家目錄,每一個用戶的家目錄通常默認為/home/USERNAME(root用戶除外,root用戶的家目錄就在/root)(用戶的家目錄只有用戶有權限,其他用戶沒有任何權限,包括同名的屬組也無權限(可能是萬一有別的用戶也屬于該組??))
/root:管理員的家目錄
/lib:庫文件:靜態庫 , ? .a(直接鏈接到程序的地址空間中去,作為程序的一部分運行。便于程序單個文件管理,即直接復制程序即可在另一臺主機上直接運行)
? ? ? ? ? ? ? ? ? ? ?? 動態庫, ? .dll(windows),.so(shared object,可以被多個程序共享,因此在內存中只需存儲一份即可,大大節約內存空間。但使用動態庫的程序,復制程序后必須保證另一臺主機上也有該.so程序才可以運行)
? ? ? ? ? ? ? ? ? ? ?? 任何程序和數據都必須要載入內存后才能被程序所使用
? ? ? ? ? ? ? ? ? ? ?? 庫文件不能單獨執行,因為沒有程序的訪問入口,只能被調用
? ?? /lib/modules:內核模塊文件
/media:掛載點目錄(如外置設備要想在linux中訪問如光盤,需要將該設備關聯到當前整個文件系統樹上的某一個節點上才能訪問,這個過程叫掛載,設備內容不是通過設備文件進入的(參考上方設備文件注釋)),通常用于掛載移動設備
/mnt:掛載點目錄,通常(FHS規定)用來掛在額外的臨時文件系統(只要跟當前根沒關系的都要掛載)
/opt:可選目錄,第三方程序的安裝目錄
/proc:偽文件系統(本身沒有內容,系統運行起來之后才有內容),內核映射文件(本身不是文件,反映了內核的一些統計數據和屬性,與系統性能數據監控有關)
/sys:偽文件系統(同上),跟硬件設備相關的屬性映射文件(和內核也有關,只是獨立出來作為獨立的偽文件系統來使用,通常用于實現硬件設備管理,尤其是硬盤這類存儲設備)
/tmp & /var/tmp:臨時文件(該目錄下的文件如果一個月內未被訪問會被系統自動清除,任何人都能在這里創建文件,但是只能刪除自己的文件不能刪除別人的文件)
/var:可變化的文件
/bin:binary(二進制)可執行文件,存放用戶命令
/sbin:存放管理命令 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? 這些程序運行的時候可能會依賴于/lib下的庫,每一個程序都有可能用到/etc下的配置文件
/usr:universal, shared, read-only 存放只讀文件? 或 Unix Software Resource,unix軟件資源
? ? /usr/bin
? ? /usr/sbin ??與獨立目錄的區別是 獨立目錄與系統啟動相關,子目錄是為系統提供正常基本功能相關
? ? /usr/lib ? ? ? /usr下的/bin和/sbin所需的庫/lib下沒有的就存放在/usr/lib下 ?
? ? /usr/local: 第三方軟件的安裝路徑,與系統運行無關,提供外圍其他功能(非必需,以上為必需)
? ? ? ? /usr/local/bin
? ? ? ? /usr/local/sbin
? ? ? ? /usr/local/lib