商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 系统应用 > CentOS 7如何查看当前目录的磁盘配额

CentOS 7如何查看当前目录的磁盘配额

  发布于2026-08-22 阅读(0)

扫一扫,手机访问

CentOS 7默认是不启用磁盘配额的。首先,你得检查一下挂载选项里有没有usrquota或者grpquota。确认有之后,接着执行quotacheck来初始化数据库,再用quotaon启用配额。最后,通过quota -u $USER -p /mountpoint就能查看了。如果输出为空或者是“none”,这一般是因为数据库还没初始化,或者是执行了quotaoff。

CentOS 7如何查看当前目录的磁盘配额

查看当前目录是否启用配额

CentOS 7 默认不启用磁盘配额(quota),所以直接查配额几乎总是返回“no quota”或报错。先确认配额是否已启用,比盲目执行 quotarepquota 更关键。

运行以下命令检查挂载选项:

mount | grep $(df . | tail -1 | awk '{print $1}') 

如果输出中不含 usrquotagrpquota,说明该文件系统未启用用户/组配额,后续所有配额命令都无效。

  • 配额必须在 /etc/fstab 中为对应分区添加 usrquota,grpquota 选项,并重新挂载(或重启)才生效
  • quotacheck -cugm /mountpoint 是初始化配额数据库的必要步骤,但仅当挂载选项已启用时才有意义
  • 普通用户无法查看他人配额,quota 命令默认只显示当前用户在启用了配额的挂载点上的限制

当前用户在当前目录所在挂载点的配额信息

即使配额已启用,quota 不认“当前目录”,它只看该目录所属的文件系统挂载点。所以先用 df . 确认挂载点,再查配额:

df . | tail -1 | awk '{print $1}' && quota -u

更稳妥的做法是:

  • 运行 df . 查出当前目录所在的挂载设备(如 /dev/sda1
  • findmnt -n -o SOURCE,TARGET /dev/sda1 找到对应挂载点(如 /home
  • 执行 quota -u $USER -p /home-p 强制显示单位,避免 KB/MB 混乱)

若提示 quota: no filesystem mounted with quota support,说明该挂载点未启用配额,不是命令写错。

为什么 quota 显示 “none” 或空白

常见现象:命令无报错但输出为空,或显示 nonedisk quotas for user xxx (uid xxx) 下面全是 0

  • 根本原因:配额数据库(aquota.useraquota.group)不存在或未更新 —— 即使挂载选项正确,也需手动运行 quotacheck -vum /mountpoint 初始化
  • quotaon /mountpoint 必须执行,否则内核不强制配额规则(quotaoff 后数据仍保留,但不生效)
  • 用户 UID 在配额数据库中无记录:新用户需等首次写入文件后由 quotacheck 或内核自动补录,或手动 edquota -u username 设置

快速验证配额是否真起作用

光看 quota 输出容易误判。最直接的验证方式是尝试突破软限制:

  • dd if=/dev/zero of=testfile bs=1M count=100 写一个大文件
  • 若配额生效,超过软限制且宽限期(grace period)过期后,会报 Disk quota exceeded
  • 若始终能写入,说明配额未启用、未开启(quotaon)、或数据库未初始化

注意:dudf 显示的是物理占用,不反映配额限制;只有 quota 和实际写入行为才能验证配额是否真实生效。

本文转载于:https://www.php.cn/faq/3030403.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注