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

如何查找Linux内核fs目录中最大与最小的.c文件

解决Linux内核fs目录下查找最大/最小.c文件的问题

核心问题分析

你之前的命令错误在于:find输出的文件路径通过管道传给du时,du默认不会从标准输入读取文件名进行统计,而是直接处理当前目录,所以才会返回目录和非.c文件的结果。

正确命令示例

查找最大的.c文件

find . -type f -name '*.c' -exec du -h {} + | sort -hr | head -1

查找最小的.c文件

find . -type f -name '*.c' -exec du -h {} + | sort -h | head -1

命令解释

  • find . -type f -name '*.c':递归查找当前目录下所有后缀为.c的普通文件,确保只处理目标文件类型。
  • -exec du -h {} +:让find把找到的文件批量传给du,-h参数让文件大小以人类可读的格式显示(如KB/MB)。
  • sort -hr:按文件大小逆序排序(-h支持人类可读格式排序,-r表示逆序),搭配head -1取最大的那个文件。
  • sort -h:按文件大小正序排序,搭配head -1取最小的那个文件。

其他问题说明

  • 用-regex '*.c'无效:find的-regex是匹配整个文件路径,且正则语法要求用.*\.c$来匹配以.c结尾的路径,远不如-name '*.c'简洁精准,没必要用。
  • 跳过du -ah无文件输出:先确认当前工作目录是否是Linux内核的fs目录,可执行pwd检查;若目录正确,可能是文件名匹配问题,可尝试-iname '*.c'忽略大小写(不过内核源码中基本都是小写.c)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 07:22:12