Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Linux 文件系統完整指南:目錄樹、Inode、權限、鏈接與掛載

編輯:關於 Linux

文件系統是作業系統組織、存儲、檢索數據的邏輯結構。Linux 採用單一根目錄樹、一切皆文件、權限分離、Inode 索引等核心設計。本文系統講解路徑體系、目錄結構、文件元數據、硬/軟鏈接、掛載點、umask 等核心知識點。

一、統一目錄樹與路徑體系

  • 根目錄 (/):唯一入口,所有分區、設備、網絡共享均掛載於此下。
  • 絕對路徑:以 / 開頭,如 /home/user/docs/file.txt。
  • 相對路徑:相對當前工作目錄 (PWD, pwd 查看),如 docs/file.txt。
  • 特殊符號:. (當前目錄)、.. (父目錄)、~ (家目錄)、- (上一目錄 cd -)。

FHS (Filesystem Hierarchy Standard) 規範核心目錄用途:

目錄用途
/bin, /sbin核心用戶/系統二進制 (現多合併至 /usr/bin)
/etc系統級配置文件
/home用戶家目錄
/var可變數據:日誌、郵件、緩存、數據庫文件
/tmp臨時文件,重啟清理
/dev設備文件
/proc, /sys虛擬文件系統,內核/進程/硬件信息接口
/mnt, /media臨時/可移動設備掛載點
/opt第三方軟件包
/usr用戶級只讀數據:程序、庫、文檔、源碼
/root超級用戶家目錄
/run運行時變數據 (PID, Socket, 鎖)

二、目錄本質:特殊文件

目錄文件存儲「文件名 → Inode 編號」的映射表。每個目錄至少包含:

  • . → 當前目錄 Inode
  • .. → 父目錄 Inode

路徑解析過程:/home/user/file → 根目錄 Inode 找 home Inode → home 目錄表找 user Inode → user 目錄表找 file Inode → 讀取 Inode 獲取數據塊指針 → 讀取數據。

三、文件元數據:Inode 與 Stat 信息

ls -l 輸出解析:

-rw-r--r-- 1 user group 4096 Jan 1 12:00 file.txt
│││││││   │  │     │      │          │
│││││││   │  │     │      │          └─ 修改時間 (mtime)
│││││││   │  │     │      └─ 文件大小 (bytes)
│││││││   │  │     └─ 所屬組
│││││││   │  └─ 所屬用戶
│││││││   └─ 硬鏈接計數 (link count)
││││││└─ 其他權限 (rwx)
││││└─ 組權限
│││└─ 擁有者權限
│└─ 文件類型 (-文件, d目錄, l軟鏈接, b塊設備, c字符設備, p管道, s套接字)

Inode 核心字段 ( stat file / ls -i ):

  • Inode 號 (文件系統內唯一標識)
  • 文件類型與權限模式 (mode)
  • 硬鏈接計數
  • UID/GID
  • 時間戳:atime (訪問), mtime (內容修改), ctime (元數據變更)
  • 數據塊指針數組 (直接/間接/多級間接)

四、權限模型:U/G/O + r/w/x + 特殊位

權限文件含義目錄含義
r (4)讀取內容列出文件名 (ls)
w (2)修改內容創建/刪除/重命名文件 (touch/rm/mv)
x (1)執行程序進入目錄 (cd), 訪問元數據

特殊權限位:

  • Setuid (u+s, 4000):執行時進程 Effective UID = 文件擁有者 (如 passwd, su)
  • Setgid (g+s, 2000):文件→進程 EGID=文件組;目錄→新文件繼承目錄組
  • Sticky (o+t, 1000):目錄下只有文件擁有者/root可刪除 (如 /tmp)

數字表示法:chmod 4755 file (Setuid + rwxr-xr-x)。

五、鏈接機制:硬鏈接 vs 軟鏈接

特性硬鏈接 (ln)軟鏈接 (ln -s)
本質目錄項指向同一 Inode獨立文件,存儲目標路徑字符串
Inode 號相同不同
跨文件系統不可可
鏈接目錄不可 (root 特權除外)可
目標刪除影響數據保留,link count--成為斷鏈 (dangling link)
權限顯示同目標lrwxrwxrwx (權限無效,由目標決定)

硬鏈接是「同一身份的別名」,軟鏈接是「指向路徑的快捷方式」。

六、umask:默認權限遮罩

  • 文件默認 666 (rw-rw-rw-),目錄默認 777 (rwxrwxrwx)。
  • umask 022 → 文件 644 (rw-r--r--),目錄 755 (rwxr-xr-x)。
  • umask 077 → 文件 600,目錄 700 (高安全)。
  • 設置永久:寫入 ~/.bashrc 或 /etc/profile。

七、掛載與虛擬文件系統

mount -t ext4 /dev/sdb1 /data      # 掛載磁盤分區
mount -o loop iso_file.iso /mnt/iso # 掛載鏡像
mount --bind /src /dst             # 綁定掛載 (目錄別名)
mount -t tmpfs tmpfs /run          # 內存文件系統

/etc/fstab 定義開機自動掛載:設備 掛載點 類型 選項 dump fsck順序。

八、總結

Linux 文件系統以 Inode 為核心索引,目錄樹提供命名空間,權限模型實現多用戶隔離,鏈接機制支持多路訪問,VFS 屏蔽底層差異。掌握 ls -l/stat/chmod/chown/ln/mount/umask 核心工具鏈,是系統管理、開發調試、安全加固的基石。

Linux 文件系統樹狀結構示意圖

Copyright © Windows教程網 All Rights Reserved