Find Out Top Ten Largest Files in Linux

du / -a  | sort -nr | head -10
-a : all files, not just directory. 
-n: sort by string numeric value.
-r:  reverse the order. By default, sort is in the ascending order.

上面的方法会显示目录,实际上我们只关心文件。下面先给出一个 错误的例子:
find . -type f -exec ls -lkS {} + | head -10
find的结果集较大时,会出现ls terminated by signal 13的错误。signal 13代表broken pipe。因为head -10读到前10就将管道关闭。我们可以忽略这个错误信息。
根据find的用户手册中-exec 的解释,find命令会产生多个ls进程。这个命令不能保证各个ls进程排序结果也是有序的。
find . -type f | xargs ls -lkS | head -10
xargs也有同样问题。
下面给出正确答案:
find -type f -printf "%k %p\n" | sort -nr | head
printf的参数与C语言的printf参数很类似。具体请看find的用户手册。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值