OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  fd-find:替代 find 命令的快速友好型文件查找工具

fd-find:替代 find 命令的快速友好型文件查找工具

 
  transfer ·  2026-02-20 05:27:02 · 3 次点击  · 0 条评论  

名称: fd-find
描述: 一个快速且用户友好的 find 替代品——语法简单、默认设置智能、尊重 .gitignore。
主页: https://github.com/sharkdp/fd
元数据: {"clawdbot":{"emoji":"📂","requires":{"bins":["fd"]},"install":[{"id":"brew","kind":"brew","formula":"fd","bins":["fd"],"label":"使用 Homebrew 安装 fd"},{"id":"apt","kind":"apt","package":"fd-find","bins":["fd"],"label":"使用 APT 安装 fd"}]}}


fd - 快速文件查找器

find 命令的用户友好替代品,具有智能的默认设置。

快速开始

基础搜索

# 按名称查找文件
fd 模式

# 在指定目录中查找
fd 模式 /目录/路径

# 不区分大小写
fd -i 模式

常用模式

# 查找所有 Python 文件
fd -e py

# 查找多种扩展名
fd -e py -e js -e ts

# 仅查找目录
fd -t d 模式

# 仅查找文件
fd -t f 模式

# 查找符号链接
fd -t l

高级用法

过滤

# 排除模式
fd 模式 -E "node_modules" -E "*.min.js"

# 包含隐藏文件
fd -H 模式

# 包含被忽略的文件(.gitignore)
fd -I 模式

# 搜索所有文件(隐藏+被忽略)
fd -H -I 模式

# 最大搜索深度
fd 模式 -d 3

执行命令

# 对结果执行命令
fd -e jpg -x convert {} {.}.png

# 并行执行
fd -e md -x wc -l

# 与 xargs 配合使用
fd -e log -0 | xargs -0 rm

正则表达式模式

# 完整正则表达式搜索
fd '^test.*\.js$'

# 匹配完整路径
fd --full-path 'src/.*/test'

# 通配符模式
fd -g "*.{js,ts}"

基于时间的过滤

# 过去一天内修改过的文件
fd --changed-within 1d

# 在指定日期前修改过的文件
fd --changed-before 2024-01-01

# 最近创建的文件
fd --changed-within 1h

基于大小的过滤

# 大于 10MB 的文件
fd --size +10m

# 小于 1KB 的文件
fd --size -1k

# 特定大小范围的文件
fd --size +100k --size -10m

输出格式

# 输出绝对路径
fd --absolute-path

# 列表格式(类似 ls -l)
fd --list-details

# 空字符分隔符(用于 xargs)
fd -0 模式

# 颜色控制:always/never/auto
fd --color always 模式

常见用例

查找并删除旧文件:

fd --changed-before 30d -t f -x rm {}

查找大文件:

fd --size +100m --list-details

复制所有 PDF 文件到目录:

fd -e pdf -x cp {} /目标/目录/

统计所有 Python 文件的行数:

fd -e py -x wc -l | awk '{sum+=$1} END {print sum}'

查找损坏的符号链接:

fd -t l -x test -e {} \; -print

在特定时间窗口内搜索:

fd --changed-within 2d --changed-before 1d

与其他工具集成

与 ripgrep 配合:

fd -e js | xargs rg "模式"

与 fzf(模糊查找器)配合:

vim $(fd -t f | fzf)

与 bat(cat 替代品)配合:

fd -e md | xargs bat

性能提示

  • fd 通常比 find 快得多
  • 默认尊重 .gitignore 规则(使用 -I 禁用)
  • 自动使用并行遍历
  • 智能大小写:全小写模式不区分大小写,包含大写字母则区分大小写

实用技巧

  • 使用 -t 进行类型过滤(f=文件,d=目录,l=符号链接,x=可执行文件)
  • 使用 -e 指定扩展名比 -g "*.ext" 更简单
  • -x 命令中的 {} 代表找到的路径
  • {.} 会去除文件扩展名
  • {/} 获取文件名,{//} 获取目录名

文档

GitHub: https://github.com/sharkdp/fd
手册页: man fd

3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor