系统管理员工具包: 监视磁盘空间和使用情况
2008-11-12 08:29:45 来源:WEB开发网使用该工具时,特别是在用户目录中使用该工具时,请特别小心,因为所显示的信息中不包含隐藏 文件,换句话说,具有单点号前缀的那些文件和目录。您可能希望使用下面的代码行,在用户目录中获得所有的摘要信息:
$ du -sk * .[a-zA-Z0-9]*
du 命令的最后一个非常有用的选项是 -d,该选项可以防止 du 命令超过文件系统边界。例如,要确定根文件系统而不是任何其他的文件系统的磁盘使用情况,您可以使用 -d 选项:
$ du -dsk /
有些系统没有这个选项,但是有 -x 命令行选项,该选项仅包含与您所指定的路径相同的设备或文件系统中的文件使用情况。
查找一个特定用户的磁盘使用情况
要查找某个用户所使用的磁盘空间,在使用 find 命令的同时,您需要结合使用 du 命令以仅报告特定用户的磁盘使用情况。
$ find . -user mc -type f -exec du -k {} ;
-user 选项允许您指定 find 将仅报告属于特定用户的文件。-type 选项强制 find 仅返回特定类型(在本示例中是文件)项目的路径,这样可以防止 du 包含目录,因为这些目录可能属于某个用户,但其中却包含了许多用户的文件。然后,对于查找到的每个路径,执行 du 命令以报告磁盘使用情况。
要获得摘要信息,换句话说,即某个特定用户所使用的总空间,您可以使用 awk 对该信息进行总计,并打印出最后的值:
$ find . -user mc -type f -exec du -k {} ;|awk '{ s =
s+$1 } END { print "Total used: ",s }'
Total used: 123721
对于组,您可以根据相同的原则对 find 使用 -group 选项:
$ find . -group mcslp -type f -exec du -k {} ;|awk '{ s = s+$1 } END { print
"Total used: ",s }'
Total used: 542485
更多精彩
赞助商链接