Linux根檔案系統詳解

2021-07-23 19:37:56 字數 2405 閱讀 3168

fhs,filesystem hierarchy standard(檔案系統目錄標準),多數linux版本採用這種檔案組織形式。fhs的重點在於規範每個特定的目錄下應該要放置什麼樣的資料。

根目錄是整個系統最重要的乙個目錄,所有的目錄都是由根目錄衍生而來,同時根目錄也與開機/還原/系統修復的動作有關。由於系統開機時需要特定的開機軟體,核心檔案,開機所需程式,函式庫等等檔案資料,若系統出現錯誤時,根目錄也必須含有能夠修復檔案系統的程式。

因此fhs標準建議:根目錄所在的分割槽槽應該越小越好,如此不但效能較佳,根目錄所在的檔案系統也不容易發生問題。

綜上,fhs建議根目錄下必須有這些檔案才好,即使沒有實體目錄,也應該至少有鏈結檔。

/bin:

系統有很多放置執行檔案的目錄,但/bin比較特殊。/bin放置的是在單人維護模式下還能夠被操作的指令。在/bin下的指令可以被root與一般使用者所使用,主要有:cat,chmod,chown,date,mv,mkdir,cp,bash。

/boot:

這個目錄下主要是放置一些開機時所需要的檔案,包括linux核心檔案以及開機選單與開機所需配置檔案等。**linux kernel常用的文件名是:vmlinuz。如果使用的是grub2這個開機程式,還會存在grub目錄。

/dev:

在linux系統中,一切皆檔案。任何裝置與介面裝置都是以檔案的形式存在於這個目錄當中的。

裝置檔案可以簡單的分為塊裝置和字元裝置兩種。

我們可以看到第5列,以前我們會認為它是檔案所佔空間的大小,但對於這些裝置檔案,這兩個數字代表裝置號,第乙個是主裝置號,第二個是次裝置號,在此不深究。

在這個目錄下比較重要的檔案有/dev/null,/dev/zero,/dev/tty,/dev/loop*,/dev/sd*。

/etc:

系統主要的配置檔案幾乎都放置在這個目錄中,例如人員的賬號密碼檔案,各種服務的啟始檔等。一般這些配置檔案普通使用者能讀但不可修改。**fhs建議這個目錄下不要放置可執行檔案。

/lib:

系統的函式庫非常多,**/lib下放的則是在開機時會用到的函式庫,以及在/bin或者/sbin底下的指令會呼叫的函式庫而已。

/media:

這個目錄下放著可移動裝置,軟盤,光碟,***等一般都掛載於此。

/mnt:

如果要暫時掛載一些額外裝置,一般可以掛載到這個目錄下。

/opt:

給第三方軟體放置的目錄。

/run:

早期的fhs規定系統開機後所產生的各項資訊應該要放在/var/run/目錄下,新版的fhs則規範到/run下。/run可以使用記憶體來**。

/sbin:

管理員用來設定系統的命令,其他使用者只能檢視。/sbin下的為開機過程中所需要的,裡面包括了開機,修復,還原系統所需要的指令。

/srv:

一些網路服務啟動之後,這些服務所需要取用的資料目錄。常見的服務比如www,ftp等。

/tmp:

放置暫時檔案的地方,會定時刪除。

/usr:

裡面放置的資料屬於可分享不可變動的。usr(unix software resource),unix作業系統系統軟體資源。

/var:

系統運作後慢慢占用磁碟容量,主要針對常態性變動檔案,包括快取,日誌,以及某些軟體運作所產生的檔案,包括程式檔案,或者例如資料庫檔案等。

/home:

其下存放著普通使用者的家目錄。

/lib< qual>:

用來存放與/lib不同格式的二進位制函式庫,例如支援64位的/lib64函式庫等。

/root:

系統管理員的家目錄。如果進入單人維護模式而僅掛載根目錄時,該目錄就能夠擁有root的家目錄,所以我們會希望root的家目錄與根目錄放置在同乙個分割槽槽中。

/lost+found:

這個目錄是使用標準的ext2/ext3/ext4檔案系統格式才會產生的乙個目錄,目的在於當檔案系統發生錯誤時,將一些遺失的片段放置到這個目錄下。不過使用的如果是xfs檔案系統的話就不會存在這個目錄了。

/proc:

這個目錄本身就是乙個虛擬檔案系統,他放置的資料都是在記憶體當中,例如系統核心,行程資訊,周邊裝置的狀態及網路狀態等等。因為這個目錄下的資料都是在記憶體當中,所以本身並不占用任何磁碟空間。

/sys:

也是乙個虛擬檔案系統,主要也是記錄核心與系統硬體資訊較相關的資訊。包括目前已載入的核心模組與核心偵測到的硬體裝置資訊等。

fhs僅僅定義出了/以及/usr,/var的目錄應該要放置的檔案或者目錄資料。下面列出rhel7在目錄的編排上與先前不同的地方:

Linux根檔案系統詳解

fhs 檔案系統層級標準,規定linux發行版應該建立哪些目錄 ls 可以檢視到一級子目錄 boot 系統啟動相關 兩個關鍵檔案 initrd記憶體 虛擬 磁碟,vmlinuz核心,grub bootloader dev 裝置檔案 裝置檔案兩種型別 塊裝置 隨機訪問,資料塊 線性裝置 線性訪問,按字...

Linux根檔案系統詳解

boot 系統啟動相關的檔案,如核心 initrd,以及grub bootloader dev 裝置檔案 塊裝置 隨機訪問,資料塊 字元裝置 線性訪問,按字元為單位 裝置號 主裝置號 major 和次裝置號 minor etc 配置檔案 home 使用者的家目錄,每乙個使用者的家目錄通常預設為 ho...

Linux根檔案系統

root 檔案系統是檔案系統的頂級目錄。它必須包含在掛載其它檔案系統前需要用來啟動 linux 系統的全部檔案。它必須包含需要用來啟動剩餘檔案系統的全部可執行檔案和庫。檔案系統啟動以後,所有其他檔案系統作為 root 檔案系統的子目錄掛載到標準的 預定義好的掛載點上。bin 該目錄存放所有使用者可以...