UNIX系统下监视磁盘空间和使用情况
(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun)
使用 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 |
然而,如果启用了磁盘配额,那么就有一种更简单的方法。
相关文章
- UNIX操作系统是目前网络上用得最多的操作系统之一,使用UNIX系统,机器的关机要比使用DOS单用户机器的关机过程复杂得多。在UNIX下如不使用正确的关机命令和关机方法,将破坏2008-09-08
- 使用文件名自动完成功能 (file name completion)。 使用历史扩展。 重用以前的参数。 使用 pushd 和 popd 管理目录导航。 查找大型文件。 不使用2008-09-08
- SCO UNIX系统因其稳定可靠的特点而在金融、保险等行业得到广泛应用,但它的安装与维护对于专业技术人员来说也不是一件轻松的事。笔者工作所维护的系统,安装有SCO UNIX操作2008-09-08
- 本篇文章小编将为大家介绍,Unix系统常见十大故障详细分析。需要的朋友可以参考一下2013-04-17
最新评论