Linux命令-quota(显示用户磁盘配额)
Linux命令-quota显示用户磁盘配额快速参考命令语法常用选项配额概念实战示例1. 基础查询2. 详细查询3. repquota查看所有配额4. 配额配置流程5. 监控与告警6. edquota 交互式设置发行版差异配额相关命令全家桶总结快速参考quota命令用于查看用户或组的磁盘配额使用情况。磁盘配额是 Linux 文件系统的一项功能允许系统管理员限制每个用户或组在特定文件系统上可以使用的磁盘空间块配额和文件数量inode 配额。quota让你一眼就能看到谁快用完了自己的配额。磁盘配额是共享资源的边界守卫——在多用户服务器学校机房、开发服务器、HPC 集群上配额系统确保了一个人的大文件不会撑爆所有人的工作空间。命令语法quota [选项] [用户|组]常用选项选项功能-u显示用户配额默认-g显示组配额-v详细输出包括没有配额的挂载点-s人类可读格式KB/MB/GB-q简洁模式只显示超配额的信息-w同时显示用户和组配额-f指定文件系统--no-wrap不折行显示配额概念配额分为两类 1. 块配额Block Quota限制磁盘空间使用量 - 软限制soft limit可临时超过有宽限期 - 硬限制hard limit绝对不可超过 2. Inode 配额Inode Quota限制文件/目录数量 - 软限制和硬限制同上 宽限期grace period超过软限制后的宽限时间默认 7 天实战示例1. 基础查询# 查看当前用户的配额$quota-sDisk quotasforuser alice(uid1000): Filesystem spacequotalimit grace filesquotalimit grace /dev/sda1 512M 800M 1000M125015002000# 解读# space 512M: 当前使用了 512MB 磁盘空间# quota 800M: 软限制 800MB超过后开始宽限期倒计时# limit 1000M: 硬限制 1GB绝对不能超过# files 1250: 当前 1250 个文件# quota 1500: 软限制 1500 个文件# limit 2000: 硬限制 2000 个文件# grace: 空白 未超过软限制无宽限期计时# 查看指定用户的配额需要 root 或配额管理员权限$sudoquota-salice $sudoquota-sbob# 查看所有用户配额$sudorepquota-s/ *** Reportforuser quotas on device /dev/sda1 Block grace time: 7days;Inode grace time: 7days Space limits File limits User used soft hard grace used soft hard grace ---------------------------------------------------------------------- root --5.2G 0K 0K 125k00alice -- 512M 800M 1000M125015002000bob - 950M 800M 1000M 2days210015002000none carol -- 120M 500M 600M30010001500# - 表示 bob 超过了软限制宽限期还有 2 天2. 详细查询# 详细模式包括没有配额的文件系统$quota-v-sDisk quotasforuser alice(uid1000): Filesystem spacequotalimit grace filesquotalimit grace /dev/sda1 512M 800M 1000M125015002000/dev/sdb1 0K 0K 0K000# sdb1 没有配额限制0 表示无限制# 组配额查询$quota-g-s$quota-g-sdevelopers# 查看特定文件系统上的配额$quota-s-f/dev/sda1# 简洁模式只在超配额时显示$quota-q# 没有配额问题时无输出# 同时查用户和组$quota-w-s3. repquota查看所有配额# 查看所有用户配额管理员工具$sudorepquota-s/ $sudorepquota-a# 所有文件系统$sudorepquota-s-u/ $sudorepquota-s-g/# 查看专门配额项目project quota$sudorepquota-s-P/data# 筛选只显示超过软限制的用户$sudorepquota-s/|awk$5 - {print $1, $3, $4, $5}# 生成配额报告$sudorepquota-s/|column-t/tmp/quota_report.txt4. 配额配置流程# 步骤1启用文件系统的配额支持# 编辑 /etc/fstab$cat/etc/fstab|grepsda1UUIDabc123 / ext4 defaults,usrquota,grpquota01# ^^^^^^^^^^^^^^^^^ 添加此选项# 步骤2重新挂载$sudomount-oremount /# 步骤3创建配额数据库文件$sudoquotacheck-cug/ $ls-l/aquota.user /aquota.group# 步骤4开启配额$sudoquotaon /# 步骤5设置用户配额$sudosetquota-ualice800000100000015002000/dev/sda1# ^^^^^ ^^^^^^^ ^^^^ ^^^^# 软限制 硬限制 文件软限制 文件硬限制# 单位: KB1M1000K 在 setquota 中# 步骤6验证$sudoquota-salice# 步骤7设置宽限期$sudosetquota-t864000604800/dev/sda1# 块宽限期 inode宽限期秒# 10天 7天5. 监控与告警# 检查所有超过 80% 软限制的用户$sudorepquota-s/|awkNR5 $3 ~ /[0-9]/ $4 ~ /[0-9]/ $400 ($30)/($40) 0.8 {print $1, $3, $4}# 配额检查脚本$cat/usr/local/bin/quota_check.shSCRIPT #!/bin/bash THRESHOLD_PERCENT85 MOUNT/ echo Quota Check $(date) sudo repquota -s $MOUNT | awk NR5 $3 ~ /[0-9]/ $4 ~ /[0-9]/ $400 { usage $3 limit $4 gsub(/[A-Za-z]/, , usage) # 移除 M/G/K 后缀 gsub(/[A-Za-z]/, , limit) pct (usage0) * 100 / (limit0) if (pct $THRESHOLD_PERCENT) { printf WARNING: %s using %d%% of quota (%s/%s)\n, $1, pct, $3, $4 } } SCRIPT# Cron 每日检查# 0 8 * * * /usr/local/bin/quota_check.sh | mail -s Quota Report adminexample.com# 配额快满时自动通知用户$sudorepquota-s/|awkNR5 $3 ~ /[0-9]/ $4 ~ /[0-9]/ { # 简化逻辑... }6. edquota 交互式设置# 对单个用户使用 edquota交互式编辑$sudoedquota-ualice# 会打开编辑器显示类似内容Disk quotasforuser alice(uid1000): Filesystem blocks soft hard inodes soft hard /dev/sda15242888000001000000125015002000# 复制配额模板$sudoedquota-palice bob carol# 将 alice 的配额设置复制给 bob 和 carol# 设置宽限期$sudoedquota-t# 编辑全局宽限期# 编辑组配额$sudoedquota-gdevelopers发行版差异发行版quota 包名默认安装命令路径Debian/Ubuntuquota否/usr/bin/quotaRHEL/CentOS/Fedoraquota否/usr/bin/quotaArch Linuxquota-tools否/usr/bin/quotaAlpine Linuxquota-tools否/usr/bin/quota# 安装$sudoaptinstallquota# Debian/Ubuntu$sudodnfinstallquota# RHEL/Fedora$sudopacman-Squota-tools# Arch$sudoapkaddquota-tools# Alpine配额相关命令全家桶命令功能quota查看配额使用情况repquota报告所有用户/组的配额setquota命令行设置配额edquota交互式编辑配额quotacheck检查并创建配额数据库quotaon启用配额quotaoff禁用配额quotastats显示配额统计warnquota配额警告通知总结磁盘配额是多用户系统的公平使用保障。核心流程在/etc/fstab中添加usrquota,grpquota选项quotacheck -cug /创建配额数据库quotaon /启用配额setquota或edquota设置限制quota -s或repquota定期检查记住关键概念软限制soft可超过但有宽限期硬限制hard无法超过的绝对上限宽限期grace超过软限制后的缓冲时间块配额限制空间inode 配额限制文件数量