文件時間屬性 (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 直接生效