You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用find、sort、ls命令查看家目录中大于10MB的文件并按大小降序排列

解决方法

你之前的问题是把sort和ls的顺序搞反了,而且直接给ls传管道输入的方式不对——ls不会默认读取管道里的文件名列表,得让find直接调用ls输出详细信息,再对输出结果排序。

直接用这条命令就行:

find ~ -type f -size +10M -exec ls -lh {} + | sort -rh -k 5

各部分作用:

  • find ~ -type f -size +10M:精准筛选家目录下所有大于10MB的普通文件
  • -exec ls -lh {} +:把找到的文件批量交给ls -lh处理,输出你要的那种包含权限、所有者、可读大小、修改时间和文件名的格式
  • sort -rh -k 5:按输出的第5列(也就是文件大小)做降序排序,-h参数能识别M、G这种人类可读的单位,不会按字符串排序出错

为啥之前的写法不行?

你之前用find | sort | ls的逻辑错了:先对纯文件名排序根本没用,而且ls不接受管道传过来的文件名当参数,自然会出问题。得先让ls输出带大小的详细内容,再针对大小列排序才对。

内容的提问来源于stack exchange,提问作者tseloskon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 18:17:35