find . -size +10k -exec ls -lh {} +第一部分与@sputnicks答案相同,并成功查找目录中超过10k的所有文件(不要将k与K混淆),我的补充是,第二部分然后执行
ls-lh或ls列出(-l)文件通过人类可读的大小(-h)。如果愿意,可以取反h。当然
{}是文件本身,而+仅仅是文件的替代
;
在实践中
;会重复或:
ls -l found.file; ls -l found.file.2; ls -l found.file.3
将其
+显示为一条语句或:
ls -l found.file found.file.2 found.file.3
更多; vs +与
find
另外,您可能希望按大小排序清单。这是相对容易实现的。我可以
-s选择
ls,
ls -ls然后将其通过管道
sort -n进行数字排序
变成:
find . -size +10k -exec ls -ls {} + | sort -n或以相反的顺序添加-r:
find . -size +10k -exec ls -ls {} + | sort -nr最后,标题说在目录中找到 最大的 文件。您可以通过将代码通过管道传递到
tail
find . -size +10k -exec ls -ls {} + | sort -n | tail -1 会在目录及其子目录中找到最大的文件。请注意,您还可以使用-S按大小对文件进行排序,并且不需要排序。但要找到最大的文件,您将需要使用head这样
find . -size +10k -exec ls -lS {} + | head -1使用-S而不是-S的好处
sort是,您不必键入,
sort-n而您也可以使用
-h人类可读的size选项来输入。这是我最喜欢使用的工具之一,但不适用于的旧版本
ls,例如,我们有一个工作中的旧centOs
4服务器,而该服务器没有
-h



