Linux 文件系统命令详解:从磁盘配额到分区管理
在 Linux 系统中,文件系统命令用于管理磁盘空间、查看存储使用情况、配置配额限制及处理分区问题。本文将系统介绍磁盘配额配置、空间查看、分区管理等核心命令,帮助你高效管理系统存储资源。
磁盘配额管理:限制用户 / 组的存储使用
磁盘配额(Quota)用于限制用户或组对特定文件系统的存储空间或文件数量的使用,防止单个用户耗尽磁盘资源。
配额配置步骤
(1)准备文件系统
编辑 /etc/fstab,在需要设置配额的分区挂载参数中添加 usrquota(用户配额)或 grpquota(组配额):
1 | vi /etc/fstab |
(2)重新挂载文件系统
使 /etc/fstab 配置生效:
1 | umount /data # 卸载分区 |
(3)创建配额数据库文件
在挂载目录下生成配额数据库(记录用户 / 组的存储使用情况):
1 | # 创建用户配额文件 |
(4)初始化配额数据库
使用 quotacheck 扫描文件系统,生成 / 更新配额数据库:
1 | # -u:用户配额;-g:组配额;-a:扫描/etc/fstab中启用配额的分区;-v:显示过程 |
-c:重新扫描并创建数据库(覆盖旧数据);-m:强制扫描已挂载的文件系统(通常不建议,可能有风险)。
(5)设置用户 / 组配额
使用 edquota 编辑配额限制:
1 | # 编辑用户 rose 的配额 |
执行后会打开编辑器,配置以下参数:
1 | Filesystem blocks soft hard inodes soft hard |
blocks:当前使用的磁盘块(1 块 = 1KB);soft:软限制(超过会警告,宽限期内允许暂时超过);hard:硬限制(绝对不能超过);inodes:文件数量限制(类似空间限制,针对文件个数)。
(6)设置宽限期
指定用户超过软限制后的宽限时间(默认 7 天):
1 | edquota -t |
编辑示例(单位:天、小时、分钟、秒):
1 | Grace period before enforcing soft limits for users: |
(7)启用配额
1 | # 启用指定目录的配额 |
- 禁用配额:
quotaoff -avug
(8)测试与查看配额
- 查看用户配额:
quota -v rose - 复制配额(将 rose 的配额应用到 u1、u2):
edquota -up rose u1 u2 - 检查配额使用情况:
repquota -a(显示所有分区的配额统计)
磁盘空间查看命令
df:查看文件系统整体使用情况
df(Disk Free)用于查看各分区的总空间、已用空间、可用空间及挂载点。
1 | # 常用选项:-h(人性化显示,单位为K/M/G) |
输出示例:
1 | Filesystem Size Used Avail Use% Mounted on |
Use%:使用率超过 90% 时需警惕磁盘空间不足。
du:查看目录 / 文件的磁盘占用
du(Disk Usage)用于统计目录或文件占用的磁盘空间,比 df 更聚焦于具体文件。
1 | # 查看当前目录总占用(-s:汇总;-h:人性化) |
选项说明:
-a:显示每个文件的占用(默认只显示目录);-c:最后添加总计;-k/-m:分别以 KB/MB 为单位。
磁盘分区与管理
fdisk:磁盘分区工具
fdisk 用于查看和管理磁盘分区表,支持 MBR 分区格式(最大支持 2TB 磁盘)。
1 | # 查看所有磁盘及分区 |
进入交互模式后,常用命令:
n:新建分区(主分区 / 扩展分区 / 逻辑分区);d:删除分区;p:显示分区表;w:保存修改并退出;q:放弃修改并退出。
lsblk:查看磁盘分区与挂载情况
lsblk(List Block Devices)以树状结构显示磁盘、分区及挂载点,更直观。
1 | # 显示分区类型和UUID |
输出示例:
1 | NAME FSTYPE LABEL UUID MOUNTPOINT |
dumpe2fs:查看文件系统详细信息
dumpe2fs 用于显示 ext 系列文件系统(ext2/ext3/ext4)的超级块和块组信息。
1 | # 查看 /dev/sda1 的超级块信息(-h:仅显示超级块) |
输出包括文件系统版本、块大小、inode 总数、已用 / 空闲块数等底层信息,适合分析文件系统结构。
磁盘检查与修复:fsck
fsck(File System Check)用于检查和修复文件系统错误(如断电导致的损坏),必须在文件系统未挂载时使用,否则可能导致数据丢失。
1 | # 检查 /dev/sda1(需先卸载) |
注意:
- 修复前备份重要数据;
- 针对不同文件系统,可使用专用工具(如
e2fsck针对 ext 系列,xfs_repair针对 XFS)