x-cmd pkg | fd - 文件查找工具,能作为 find 命令的替代品

简介

fd 是由 github.com/sharkdp 用 Rust 开发的文件查找工具,能作为 find 的替代方案。相比于 findfd 的语法更加简洁和直观,搜索时默认不区分大小写和忽略隐藏的目录和文件,并用颜色突出显示结果。

不提供 find 的所有功能,其目标是在大部分场景中帮用户更好的查找文件并输出更为直观且用户友好的搜索结果,所以 fd 并不能完全替代 find

在这里插入图片描述

快速上手

安装

eval "$(curl https://get.x-cmd.com)"        # 安装 x-cmd
x env use fd                                # 使用 x-cmd 安装 fd

使用

  1. 基本用法:

    fd <PATTERN>                # 搜索与 PATTERN 匹配的文件名(默认搜索当前目录)
    
  2. 控制搜索范围:

    fd <PATTERN> -H         # 搜索隐藏文件和目录
    fd <PATTERN> -s         # 区分大小写
    fd <PATTERN> -g 'h*'    # 基于通配符的搜索,如搜索文件名以 h 开头的文件
    fd <PATTERN> -d 1       # 设置最大搜索深度为 1
    fd <PATTERN> -t f       # 按类型过滤,如文件(f)、目录(d)
    
  3. 控制输出结果的样式:

    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 命令
    

与第三方工具组合使用

  1. 搭配 eza 使用,如使用 fd -g '*.py' -X eza -lh 命令搜索和查看 python 代码文件的信息。
  2. 搭配 bat 使用,如使用 fd -g '*.py' -X bat 命令搜索和预览 python 代码文件。
  3. 搭配 fzf 使用,如制作一个简易文件预览器:fd -t f -g '*.py' | fzf --preview 'bat --color=always -n {}'

功能特点

  1. 语法简单直观:相比于 findfd 更容易上手,命令更加简短。
  2. 颜色化输出:用颜色突出显示结果中不同类型的文件,使结果更加直观。
  3. 默认配置更为友好:默认遵循 .gitignore 文件以及其他常见的忽略文件,能自动排除不需要搜索的文件和目录。
  4. 速度快:以并行的方式遍历目录,且支持并行命令执行。
  5. 跨平台:支持在主流操作系统上使用,包括 Windows、Linux、MacOS。

竞品和相关项目

  1. find:最常用的文件查找工具,是 Unix 和类 Unix 操作系统的标准工具。相比于 fdfind 的功能更为强大,灵活性各高,但语法较为复杂,学习曲线陡峭。
  2. rg:用 Rust 开发的文本搜索工具,能作为 grep 命令的替代工具。主要用于内容搜索,不适合文件路径查找。

进一步阅读

  • fd 源代码 - fd 项目的源代码托管在 GitHub,你可以在这里找到最新版本的 fd 和参与社区贡献。

更多内容请查阅 : pkg/fd

转载请标明原文链接 :https://www.x-cmd.com/pkg/fd


关注微信官方公众号 : oh my x

获取开源软件和 x-cmd 最新用法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值