使用 du
du 命令并不是显示磁盘的空闲空间,而是显示磁盘使用情况的信息。du 工具用于确定文件和目录的磁盘使用情况。要使用这个工具,改变到一个目录,然后运行该工具(请参见清单 6)。
清单 6. du 命令
$ cd /var |
上面的清单 6 中显示的输出,经过了适当的调整。缺省情况下,du 将显示当前或指定的目录下每个文件和目录的文件使用情况。得到的值是文件的大小,单位为该系统中的缺省块大小,与 df 所使用的单位相同。可能是也可能不是 1K,而使用 -k 命令行选项,您可以强制以 1K 块为单位进行显示。
您可能需要根据所查看的顶级文件或目录对信息进行摘要。使用 -s 选项以打开摘要视图。下面是 Solaris 安装中的一个摘要版本在 /var 目录中的显示:
$ du -sk |
请注意,它显示了当前目录 (.) 的摘要信息。要获得所有文件和目录的摘要信息,可以使用 * 通配符(请参见清单 7)。
清单 7. 使用 * 通配符获得摘要信息
$ du -sk * |
使用该工具时,特别是在用户目录中使用该工具时,请特别小心,因为所显示的信息中不包含隐藏 文件,换句话说,具有单点号前缀的那些文件和目录。您可能希望使用下面的代码行,在用户目录中获得所有的摘要信息:
$ 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 = |
对于组,您可以根据相同的原则对 find 使用 -group 选项:
$ find . -group mcslp -type f -exec du -k {} \;|awk '{ s = s+$1 } END { print |
然而,如果启用了磁盘配额,那么就有一种更简单的方法。
2015年全国职称计算机考试教材(2007模 .. 定价:¥225 优惠价:¥213 更多书籍 | |
全国职称计算机考试速成过关系列套装:W .. 定价:¥133 优惠价:¥133.0 更多书籍 |