今天介绍分享主题 “fd”,是一个简单、快速且用户友好的 “find” 替代方案。安装后还蛮好用,主要一个高效、直观和易用性,未来也可能成为命令行搜索的强大替代品选择。
fd 介绍
简单介绍,fd 是一个用于查找文件系统条目的程序,足够简单、快速且用户友好的替代方案find,目前虽然不支持所有 find 强大功能,但它为大多数用例提供了合理的主观的默认值。
fd 特征
- 简化的语法:提供了比传统 find 命令更简洁的语法。
- 强大的模式匹配:支持正则表达式和全局模式,以适应不同的搜索需求。
- 极速的搜索:通过了并行处理技术,大幅提高了目录遍历的速度,真不错。
- 颜色高亮:高亮可以增强了可读性,比如颜色区分不同类型的文件等等。
- 并行命令执行:允许同时执行多个搜索命令,进一步提高效率。
- 智能大小写处理:根据搜索模式自动调整大小写敏感性,一定很香的。
- 自动忽略隐藏文件:默认情况下,忽略隐藏的目录和文件。
- 集成 .gitignore:尊重开发者的忽略规则,提高搜索的准确性。
命令简短:利于减少了命令输入的繁琐性,提供一个便捷性。
fd 的使用
安装可以参考手册,然后可通过运行 fd -h 得到一个简洁的帮助消息,支持很多查询方式,下面是官网提供一些 demo。
简单搜索:下面仅使用一个参数来调用,fd 会以递归方式搜索当前目录中包含该模式的任何条目 netfl。
> fd netfl
Software/python/imdb-ratings/netflix-details.py
正则表达式搜索:
> cd /etc
> fd '^x.*rc$'
X11/xinit/xinitrc
X11/xinit/xserverrc
指定根目录:比如大家想搜索特定目录,可以将其作为fd的第二个参数
> fd passwd /etc
/etc/default/passwd
/etc/pam.d/passwd
/etc/passwd
递归列出所有文件:fd 还可以不带参数,很适合对于快速概览当前目录中的所有条目,这是非常有用的,它可以递归类似于 ls -R。
> cd fd/tests
> fd
testenv
testenv/mod.rs
tests.rs
如果觉得不爽,还可以给定目录中的所有文件,例如.或^
> fd . fd/tests/
testenv
testenv/mod.rs
tests.rs
搜索特定文件扩展名:使用 -e(或 --extension)选项来完成。比如下面搜索 fd 存储库中的所有 Markdown 文件。
> cd fd
> fd -e md
CONTRIBUTING.md
README.md
该-e选项可以与搜索模式结合使用:
> fd -e rs mod
src/fshelper/mod.rs
src/lscolors/mod.rs
tests/testenv/mod.rs
更多可以阅读官网文档,好有很多好用,好玩的搜索方式喔。