用上了,Rust 打造更快文件搜索 fd 替代 find,速度非常快!
今天介紹分享主題 “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
更多可以閱讀官網文檔,好有很多好用,好玩的搜索方式喔。