这样使用df和du命令更完美

通常我们在 Unix or Linux 服务器上查看磁盘空间和文件空间占用都会用到df和du这两个常用的目录。

 

1、查看当前目录磁盘分区使用情况

$ df -h .

输出总结了包含指定文件的文件系统的磁盘使用情况:

Filesystem  Size  Used Avail Use% Mounted on
/dev/vda1   99G   13G   82G  14%  /

如上表示/分区 使用率为 14%, 选项-h (--human-readable)告诉 df 使用对于人类阅读更友好的格式输出,而不是以1K的方式,而是以千字节、兆字节和千兆字节显示。学过GNU的工具程序都有-h选项。

 

 2、目录大小以及排序

为了更好的找到占用磁盘较大的目录,需要查看当前目录下所有目录的大小情况:

$ du -hd 1 .
2.8G  ./app
4.2G  ./appData
403M  ./backup
12M   ./logs
8.0K  ./pid
66M   ./tmp
413M  ./codes
7.9G  .

同样选项-h (--human-readable)告诉 du 使用对于人类阅读更友好的格式输出, 而-d 1告诉 du 进入到一个目录层级,不加(du -h)是所有层级。

如上可以看出占用空间较大的是appData目录,但是如果目录较多,就不那么明显了,难道我要根据单位(G M K)过滤,然后在筛选吗,No, 这时候可以用上sort排序,但是sort -n默认只对开头的数字排序,但是带上了单位,就排序不了了,不信我们看看下面:

$ du -hd 1 . | sort -n
2.8G  ./app
4.2G  ./appData
7.9G  .
8.0K  ./pid
12M   ./logs
66M   ./tmp
403M  ./backup
413M  ./codes

如上可以看出,还是没有排序,那怎么办,那就可以传递-k参数,默认都以KB为单位大小输出,不带单位符号:

$ du -kd 1 . | sort -n
8  ./pid
11900  ./logs
67528  ./tmp
412100  ./backup
422300  ./codes
2882308  ./app
4367852  ./appData
8231508  .

这样看起来可以了,但是不完美,GNU 开发时候,同样意识到了这点吧,所以我们可以给sort加一个-h选项,更利于你阅读:

$ du -hd 1 . | sort -hr
7.9G  .
4.2G  ./appData
2.8G  ./app
413M  ./codes
403M  ./backup
66M   ./tmp
12M   ./logs
8.0K  ./pid

这才是我想要的,完美: 易于阅读且经过适当排序。(sort 再加上-r选项可以反向,因此最大的目录在最前面)-h 选项是 sort 于 2009 年添加到 GNU 里面的。

提示: 有的系统默认du命令版本是没有-d参数的,需要用--max-depth=1代替。

推荐阅读

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值