Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Linux 磁盤管理進階:文件時間屬性、設備文件、UUID/標簽、磁盤配額

編輯:Linux 系統常見問題解答

文件時間屬性 (stat)


stat /etc/passwd
# Access: 2024-01-10 08:44:00  (atime)  讀取文件內容更新
# Modify: 2024-01-10 08:44:00  (mtime)  修改文件內容更新
# Change: 2024-01-10 08:44:00  (ctime)  inode 元數據變更更新 (權限、鏈接數、所有者、mtime 變更)
  • ls -l 顯示 mtime;ls -lu 顯示 atime;ls -lc 顯示 ctime。
  • chattr +A 禁止更新 atime (減少磁盤寫入);mount -o noatime,relatime 掛載選項優化。

設備文件與主次設備號


ls -l /dev/sda1
# brw-rw---- 1 root disk 8, 1 Jan 10 08:00 /dev/sda1
# b = 塊設備, 8 = 主設備號 (SCSI 磁碟驅動), 1 = 次設備號 (分區 1)
  • 內核通過 (主設備號, 次設備號) 關聯驅動程序與設備實例。
  • 手動創建:mknod /dev/mydisk b 8 3 (創建 /dev/sda3 別名)。
  • ls -l /dev/ | grep ^c 查看字符設備;^b 查看塊設備。

UUID 與標簽 (LABEL) - 持久化設備標識


blkid
# /dev/sda1: UUID="a1b2-c3d4" TYPE="ext4" PARTUUID="..."
# /dev/sdb1: LABEL="DATA" UUID="e5f6-g7h8" TYPE="xfs"

lsblk -f
# NAME   FSTYPE LABEL  UUID                                 MOUNTPOINT
# sda1   ext4         a1b2-c3d4  /
# sdb1   xfs    DATA   e5f6-g7h8

# 修改標簽
tune2fs -L NEW_LABEL /dev/sda1     # ext2/3/4
xfs_admin -L NEW_LABEL /dev/sdb1   # xfs
fatlabel /dev/sdc1 NEW_LABEL       # FAT32

# /etc/fstab 推薦使用 UUID/LABEL
UUID=a1b2-c3d4  /  ext4  defaults  0 1
LABEL=DATA      /data  xfs  defaults  0 0

磁盤配額 實戰部署

前提:內核支持、文件系統啟用


# 1. 編輯 /etc/fstab 添加 usrquota,grpquota
/dev/sdb2  /quota_test  ext4  defaults,usrquota,grpquota  0  2

# 2. 重新掛載
mount -o remount /quota_test

# 3. 掃描建立配額數據文件 (aquota.user, aquota.group)
quotacheck -avug /dev/sdb2
# -a 所有啟用配額分區, -v 詳細, -u 用戶, -g 組

# 4. 啟用配額
quotaon -avug

# 5. 編輯用戶配額
edquota -u username
# 交互式編輯器 (vi) 打開,修改 soft/hard 限制
# Filesystem  blocks  soft  hard  inodes  soft  hard
# /dev/sdb2   1000    5000  6000  50      100   120
# blocks 單位通常為 1KB;inodes 為文件數
# soft 超過警告 (寬限期 grace period 內允許),hard 絕對上限

# 6. 設置寬限期
edquota -t
# Time units: days/hours/minutes/seconds
# 例如: 7 days

# 7. 批量複製配額 (模板用戶 → 多用戶)
edquota -p template_user user1 user2 user3

# 8. 非交互式設置 (腳本適用)
setquota -u username 5000 6000 100 120 /dev/sdb2

# 9. 查看配額報表
repquota -avug

配額字段詳解

字段含義單位/備註
blocks已使用磁塊數1 KB (視文件系統)
soft (blocks)軟限制,超過進入寬限期警告而非拒絕
hard (blocks)硬限制,絕對上限寫入返回 EDQUOT
inodes已用索引節點數 (文件數)文件計數
soft/hard (inodes)文件數軟/硬限制

關閉配額


quotaoff -avug
# 數據文件保留,下次 quotaon 直接生效
Copyright © Windows教程網 All Rights Reserved