x-cmd pkg | fd - 文件查找工具,能作为 find 命令的替代品
简介
fd
是由 github.com/sharkdp 用 Rust 开发的文件查找工具,能作为 find
的替代方案。相比于 find
,fd
的语法更加简洁和直观,搜索时默认不区分大小写和忽略隐藏的目录和文件,并用颜色突出显示结果。
它不提供 find
的所有功能,其目标是在大部分场景中帮用户更好的查找文件并输出更为直观且用户友好的搜索结果,所以 fd
并不能完全替代 find
。
快速上手
安装
eval "$(curl https://get.x-cmd.com)" # 安装 x-cmd
x env use fd # 使用 x-cmd 安装 fd
使用
-
基本用法:
fd <PATTERN> # 搜索与 PATTERN 匹配的文件名(默认搜索当前目录)
-
控制搜索范围:
fd <PATTERN> -H # 搜索隐藏文件和目录 fd <PATTERN> -s # 区分大小写 fd <PATTERN> -g 'h*' # 基于通配符的搜索,如搜索文件名以 h 开头的文件 fd <PATTERN> -d 1 # 设置最大搜索深度为 1 fd <PATTERN> -t f # 按类型过滤,如文件(f)、目录(d)
-
控制输出结果的样式:
fd <PATTERN> -a # 显示绝对路径 fd <PATTERN> -S +1M # 显示其中体积大于 1M 的文件 fd <PATTERN> --changed-within '2024-9-26' # 显示其中修改时间晚于 2024 年 9 月 26 日的文件或目录 fd <PATTERN> --changed-within 1h # 显示其中最近一小时以内被修改的文件或目录 fd <PATTERN> -x ls # 为每个搜索结果执行 ls 命令(并行) fd <PATTERN> -X ls # 一次性使用所有搜索结果执行ls 命令
与第三方工具组合使用
- 搭配
eza
使用,如使用fd -g '*.py' -X eza -lh
命令搜索和查看 python 代码文件的信息。 - 搭配
bat
使用,如使用fd -g '*.py' -X bat
命令搜索和预览 python 代码文件。 - 搭配
fzf
使用,如制作一个简易文件预览器:fd -t f -g '*.py' | fzf --preview 'bat --color=always -n {}'
。
功能特点
- 语法简单直观:相比于
find
,fd
更容易上手,命令更加简短。 - 颜色化输出:用颜色突出显示结果中不同类型的文件,使结果更加直观。
- 默认配置更为友好:默认遵循
.gitignore
文件以及其他常见的忽略文件,能自动排除不需要搜索的文件和目录。 - 速度快:以并行的方式遍历目录,且支持并行命令执行。
- 跨平台:支持在主流操作系统上使用,包括 Windows、Linux、MacOS。
竞品和相关项目
- find:最常用的文件查找工具,是 Unix 和类 Unix 操作系统的标准工具。相比于
fd
,find
的功能更为强大,灵活性各高,但语法较为复杂,学习曲线陡峭。 - rg:用 Rust 开发的文本搜索工具,能作为
grep
命令的替代工具。主要用于内容搜索,不适合文件路径查找。
进一步阅读
- fd 源代码 - fd 项目的源代码托管在 GitHub,你可以在这里找到最新版本的 fd 和参与社区贡献。
更多内容请查阅 : pkg/fd
转载请标明原文链接 :https://www.x-cmd.com/pkg/fd
关注微信官方公众号 : oh my x
获取开源软件和 x-cmd 最新用法
原文地址:https://blog.csdn.net/edwinjhlee/article/details/142700093
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!