一、命令简介
quotaon 命令用于激活 Linux 内核中指定文件系统的磁盘配额功能。执行该命令后,系统将开始对用户和 / 或群组的磁盘空间使用量进行监控和限制。
在启用配额前,目标文件系统的根目录下必须已存在通过 quotacheck 命令生成的配额数据库文件(如 aquota.user 和 aquota.group)。
二、语法格式
bash
运行
quotaon [选项]... [文件系统]...三、常用选项及说明
表格
| 选项 | 说明 |
|---|---|
| -a, --all | 启用 /etc/fstab 文件中所有标记了配额选项(usrquota 和 / 或 grpquota)的文件系统的配额。此选项会忽略命令行中指定的任何文件系统参数。 |
| -v, --verbose | 详细模式。显示每个文件系统配额启用的详细信息。 |
| -u, --user | 启用用户配额。这是默认行为,除非与 -g 选项同时指定。 |
| -g, --group | 启用组配额。 |
| -p, --print-state | 显示当前配额状态(已启用或已禁用),但不进行任何更改。 |
| -f, --off | 关闭配额。这与 quotaoff 命令功能相同,用于向后兼容。 |
| -h, --human-readable | 以人类可读的格式(如 1K, 234M, 2G)显示配额信息(通常与 -p 一起使用)。 |
| -F, --format=format-name | 强制使用指定格式的配额文件。现代系统通常使用 vfsv0 或 vfsv1 格式。 |
| -x, --xfs-command | 专家模式,用于执行 XFS 文件系统特定的管理命令,通常与 -c 子命令配合使用。普通用户很少需要。 |
✨ 注意:-u 和 -g 选项可以组合使用,以同时启用用户和组配额。如果两者都未指定,则默认启用用户配额。
四、示例用法
1. 启用指定文件系统的用户配额
启用挂载在 /home 分区上的用户配额。
bash
运行
sudo quotaon -uv /home-u 指定用户配额,-v 显示详细信息。
2. 同时启用用户和组配额
为 /data 文件系统同时启用用户和组配额。
bash
运行
sudo quotaon -uvg /data3. 启用 /etc/fstab 中所有配置了配额的文件系统
这是最常用的方式,系统会根据 /etc/fstab 中的配置自动处理。
bash
运行
sudo quotaon -avug-a 处理所有文件系统,-v 显示详情,-ug 启用用户和组配额。
4. 仅启用组配额
为 /shared 文件系统启用组配额,不启用用户配额。
bash
运行
sudo quotaon -gv /shared5. 查看文件系统的配额启用状态
不进行任何操作,仅显示 /home 的配额当前是否激活。
bash
运行
sudo quotaon -p /home6. 在启用前检查配额文件(典型工作流程)
bash
运行
# 1. 检查配额文件(假设文件系统已挂载且fstab已配置usrquota,grpquota) sudo quotacheck -cug /home # 2. 扫描磁盘并创建准确的配额数据文件 sudo quotacheck -avug # 3. 启用配额 sudo quotaon -avug五、注意事项
- 权限要求:quotaon 命令通常需要 root 权限(使用 sudo)。
- 依赖文件:运行 quotaon 前,必须确保目标文件系统根目录下存在正确的配额数据库文件(通常由 quotacheck -c 创建,并由 quotacheck 更新)。对于现代系统,这些文件通常是 aquota.user 和 aquota.group。
- /etc/fstab 配置:要使 quotaon -a 正常工作,必须在 /etc/fstab 中对应文件系统的挂载选项里添加 usrquota(用户配额)和 / 或 grpquota(组配额)。例如:
bash
运行
/dev/sda1 /home ext4 defaults,usrquota,grpquota 0 2 - 文件系统支持:并非所有文件系统都支持配额。常用的支持配额的文件系统有:ext2, ext3, ext4, XFS, ReiserFS 等。XFS 文件系统的配额管理方式略有不同,通常在挂载时自动启用。
- 顺序重要:建议在系统启动脚本中,先使用 quotacheck 命令检查配额文件,然后再使用 quotaon 启用配额。
- 关闭配额:要关闭配额功能,应使用对应的 quotaoff 命令。