这个问题最初是由 quota 命令的 3.13 版本的问题引起的,它作为最终用户确定配额信息的工具基本上没有用。例如,如果alice 运行quota,她可能会看到如下输出:
Disk quotas for user alice (uid 100):
Filesystem blocks quota limit grace files quota limit grace
fileserver.example.com:/staff/b/bob
9254720 9728000 10240000 119768 0 0
Alice 会理所当然地想知道这与她的帐户有什么关系。
事实证明,quota-utils 软件包背后的思想终于意识到了该工具固有的问题;对于 4.00 版(在 Fedora 16 中可用),有几个可用的新选项可以将 quota 命令变成实际产生有用信息的东西。
特别感兴趣的是-f 选项:
-f, --filesystem-list display quota information only for given filesystems
所以现在,用户可以运行:
quota -f ~
并获取其主目录的配额信息。此外,-s 选项将显示“人类可读”数字,而不是将所有内容显示为块。
对于 Alice,这可能看起来像:
$ quota -s -f ~
Disk quotas for user alice (uid 100):
Filesystem blocks quota limit grace files quota limit grace
fileserver.example.com:/staff/a/alice
9038M 9500M 10000M 120k 0 0
此外,还有两个选项可以更轻松地在脚本中处理来自quota 的输出:
-
-w 选项在“文件系统”名称过长时禁止换行。
-
-p 选项显示0 用于宽限时间,如果用户没有超出配额的情况。这意味着总是有相同数量的字段(而在之前的 quota 版本中,字段的数量可能会因情况而异)。
结合以上所有,我们得到如下结果:
$ quota -wp -f ~
Disk quotas for user alice (uid 100):
Filesystem space quota limit grace files quota limit grace
fileserver.example.com:/staff/a/alice 9254720 9728000 10240000 0 119768 0
这对自动化更有用。