Linux 檔案系統 / 目錄結構

FHS (File System Hierarchy Standard) 檔案系統標準結構

可分享的 不可分享的
靜態的 /usr, /opt /etc, /dev, /boot
變動的 /var/mail, /home /var/run, /var/lock

常用的檔案系統

ext2

  • 較早開發的檔案系統,沒有日誌功能。
  • 單一檔案系統支援容量最大32TB(block size 8KB 時)
  • 單一檔案最大支援16TB(block size 8KB 時)
  • 單一檔案系統最大支援16TB(block size 4KB 時)
  • 單一檔案最大支援2TB(block size 4KB 時)
# 格式化為 ext2
mke2fs /dev/sdb1
mkfs -t ext2 /dev/sdb1
mkfs.ext2 /dev/sdb1

ext3

  • ext2 的改良版,增加日誌功能 (journaling)。
  • 容量支援與 ext2 類似。
# 格式化為 ext3
mke2fs -j /dev/sdb1
mkfs -t ext3 /dev/sdb1
mkfs.ext3 /dev/sdb1

ext4

  • 向下相容 ext2、ext3,但改用 extent 取代 indirect block,提高效能。
  • 不使用 kjournald,改用更先進的日誌機制。
  • 支援單一檔案系統最大容量可達 1EB (exabyte)。
  • 單一檔案最大支援 16TB。
# 格式化為 ext4
mkfs -t ext4 /dev/sdb1
mkfs.ext4 /dev/sdb1

XFS

  • 適合大容量與高效能需求的檔案系統,動態分配 inode 與 block。
  • 在 CentOS 7 預設使用此檔案系統。
# 格式化為 XFS
mkfs.xfs /dev/sdb1

reiserfs

  • 日誌型檔案系統,基於 B-tree 結構。
  • 支援動態分配 inode。
# 格式化為 reiserfs
mkreiserfs /dev/sdb1

fdisk 硬碟分區

  • 將儲存裝置分割成多個區域,方便管理。
  • Linux 必須至少有兩個分割區:資料分割區與 swap 分割區。
  • 分割區類型:
編號 分割區類型
82 Linux swap 虛擬記憶體
83 Linux 實體資料分割區
5 Extended(擴展分割區)
85 Linux extended
8e Linux LVM
  • 超過四個分割區需使用 Extended 分割區或 LVM。

掛載與使用

mount 與 umount

# 顯示目前已掛載的檔案系統
mount

# 掛載裝置到目錄
mount /dev/sda1 /opt

參數說明:

參數 功能
-a 掛載 /etc/fstab 中列出的所有檔案系統
-f 模擬掛載動作,不真的掛載
-h 顯示說明
-l 顯示檔案系統類型標籤 (ext2, ext3, ext4, xfs)
-L 標籤 按標籤名稱掛載
-n 不更新 /etc/mtab
-r 掛載為唯讀
-t 類型 指定檔案系統類型
-v 顯示完整掛載過程
-V 顯示版本訊息
-w 掛載為可讀寫模式(預設)

/etc/fstab 設定開機自動掛載

格式:

分割區名稱或代號  掛載目錄     檔案系統類型  掛載選項   dump   fsck
/dev/sda1        /home       ext4         defaults  0      1
LABEL=/data      /data       xfs          defaults  0      2
UUID=xxxx-xxxx   /mnt/backup ext4         defaults  0      0
  • dump:是否使用 dump 指令備份,0 表示不備份。
  • fsck:開機是否檢查該分割區,0 表示不檢查,1 或 2 表示檢查。

系統目錄說明

目錄 說明
/ 根目錄
/bin 用戶及管理者常用指令
/boot 開機必要檔案,如核心與啟動設定檔
/dev 裝置檔案
/etc 系統與服務設定檔
/home 使用者家目錄
/lib 系統函式庫及核心模組
/mnt 臨時掛載點
/opt 額外安裝的應用軟體
/proc 核心與系統即時資訊
/root root 使用者家目錄
/sbin 系統管理用執行檔
/sys 硬體裝置與系統資訊
/tmp 全系統暫存檔案目錄
/usr 系統工具與應用程式
/usr/bin 一般使用者程式
/usr/include C語言標頭檔
/usr/lib 系統函式庫與非執行檔
/usr/local 本機安裝軟體的位置
/usr/sbin 非必要系統管理指令
/usr/share 可共享資料
/var 可變動資料,如記錄檔、郵件等
/var/cache 應用程式暫存資料
/var/lib 應用程式與系統狀態資料
/var/lock 鎖定檔案
/var/log 記錄檔
/var/opt /opt 中可變資料
/var/run 正在執行的程序資訊
/var/spool 任務暫存區
/var/tmp 系統重啟後仍保留的暫存檔
/var/mail 郵件檔案目錄
/var/yo NIS 資料庫