成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何在 Linux 上用 fd 代替 find

系統(tǒng) Linux
許多 Linux 程序員在其工作中每天都在使用 find 命令。但是 find 給出的文件系統(tǒng)條目是有限的,如果你要進(jìn)行大量的 find 操作,它甚至不是很快速。因此,我更喜歡使用 Rust 編寫(xiě)的 fd 命令,因?yàn)樗峁┝撕侠淼哪J(rèn)值,適用于大多數(shù)使用情況。

[[407174]]

fd 命令是一個(gè)流行的、用戶友好的 find 命令的替代品。

許多 Linux 程序員在其工作中每天都在使用 find 命令。但是 find 給出的文件系統(tǒng)條目是有限的,如果你要進(jìn)行大量的 find 操作,它甚至不是很快速。因此,我更喜歡使用 Rust 編寫(xiě)的 fd 命令,因?yàn)樗峁┝撕侠淼哪J(rèn)值,適用于大多數(shù)使用情況。

正如它的 README 所說(shuō),“fd 是一個(gè)在文件系統(tǒng)中尋找條目的程序。它是一個(gè)簡(jiǎn)單、快速和用戶友好的 find 的替代品。”它的特點(diǎn)是目錄的并行遍歷,可以一次搜索多個(gè)目錄。它支持正則表達(dá)式(regex)和基于通配符的模式。

安裝 fd

在 Linux 上,你可以從你的軟件庫(kù)中安裝 fd(可用的軟件包列表可以在 Repology 上的 fd 頁(yè)面 找到)。 例如,在 Fedora 上:

  1. $ sudo dnf install fd-find

在 macOS 上,可以使用 MacPorts 或 Homebrew

另外,你也可以使用 Rust 的 Cargo 軟件包管理器:

  1. $ cargo install fd-find

使用 fd

要做一個(gè)簡(jiǎn)單的搜索,運(yùn)行 fd 并在后面跟上要搜索的名字,例如:

  1. $ fd sh
  2. registry/src/github.com-1ecc6299db9ec823/cc-1.0.67/src/bin/gcc-shim.rs
  3. registry/src/github.com-1ecc6299db9ec823/exa-0.10.1/completions/completions.bash
  4. registry/src/github.com-1ecc6299db9ec823/exa-0.10.1/completions/completions.fish
  5. registry/src/github.com-1ecc6299db9ec823/exa-0.10.1/completions/completions.zsh
  6. registry/src/github.com-1ecc6299db9ec823/exa-0.10.1/xtests/run.sh
  7. registry/src/github.com-1ecc6299db9ec823/git2-0.13.18/src/stash.rs
  8. registry/src/github.com-1ecc6299db9ec823/libc-0.2.94/src/unix/solarish
  9. registry/src/github.com-1ecc6299db9ec823/libgit2-sys-0.12.19+1.1.0/libgit2/cmake/SelectHashes.cmake
  10. registry/src/github.com-1ecc6299db9ec823/libgit2-sys-0.12.19+1.1.0/libgit2/include/git2/stash.h
  11. registry/src/github.com-1ecc6299db9ec823/libgit2-sys-0.12.19+1.1.0/libgit2/include/git2/sys/hashsig.h
  12. registry/src/github.com-1ecc6299db9ec823/libgit2-sys-0.12.19+1.1.0/libgit2/script/backport.sh
  13. registry/src/github.com-1ecc6299db9ec823/libgit2-sys-0.12.19+1.1.0/libgit2/script/leaks.sh
  14. registry/src/github.com-1ecc6299db9ec823/libgit2-sys-0.12.19+1.1.0/libgit2/script/valgrind.sh
  15. registry/src/github.com-1ecc6299db9ec823/libgit2-sys-0.12.19+1.1.0/libgit2/src/config_snapshot.c
  16. [...]

如果你想搜索一個(gè)特定的目錄,可以將目錄路徑作為 fd 的第二個(gè)參數(shù),例如:

  1. $ fd passwd /etc
  2. /etc/pam.d/passwd
  3. /etc/passwd
  4. /etc/passwd-
  5. /etc/security/opasswd

要搜索一個(gè)特定的文件擴(kuò)展名,使用 -e 作為選項(xiàng)。例如:

  1. $ fd . '/home/ssur/exa' -e md
  2. /home/ssur/exa/README.md
  3. /home/ssur/exa/devtools/README.md
  4. /home/ssur/exa/man/exa.1.md
  5. /home/ssur/exa/man/exa_colors.5.md
  6. /home/ssur/exa/xtests/README.md
  7. $

你也可以通過(guò)提供 -x 或 -X 來(lái)執(zhí)行一個(gè)命令。

  • -x/--exec:選項(xiàng)為每個(gè)搜索結(jié)果(并行)運(yùn)行一個(gè)外部命令。
  • -X/--exec-batch:選項(xiàng)將所有搜索結(jié)果作為參數(shù)啟動(dòng)一次外部命令。

例如,要遞歸地找到所有的 ZIP 檔案并解壓:

  1. $ fd -e zip -x unzip

或者,要列出某個(gè)特定目錄下在過(guò)去 n 天內(nèi)改變的所有文件,使用--changed-within 選項(xiàng):

  1. $ fd . '/home/ssur/Work/' --changed-within 10d
  2. /home/ssur/Work/wildfly/connector/src/main/java/org/jboss/as/connector/subsystems/data_sources/JdbcDriverAdd.java
  3. /home/ssur/Work/wildfly/connector/src/main/java/org/jboss/as/connector/subsystems/data_sources/JdbcExample.java
  4. [...]

而要搜索所有在特定天數(shù)之前被修改的文件,請(qǐng)使用 --changed-before n 選項(xiàng):

  1. $ fd . '/home/ssur/Work/' --changed-before 365d

這里,. 作為一個(gè)(正則)通配符,指示 fd 返回所有文件。

要了解更多關(guān)于 fd 的功能,請(qǐng)查閱 GitHub 上的 文檔。

總結(jié)

我特別喜歡 fd 的一點(diǎn)是,搜索模式默認(rèn)是不區(qū)分大小寫(xiě)的,這使得它更容易找到東西,即使你對(duì)你要找的東西沒(méi)有精確的認(rèn)識(shí)。更好的是,如果模式包含一個(gè)大寫(xiě)的字符,它就會(huì)自動(dòng)切換到大小寫(xiě)敏感。

另一個(gè)好處是,它使用顏色編碼來(lái)突出不同的文件類型。

如果你已經(jīng)在使用這個(gè)神奇的 Rust 工具,請(qǐng)?jiān)谠u(píng)論中告訴我們你的想法。 

 

責(zé)任編輯:龐桂玉 來(lái)源: Linux中國(guó)
相關(guān)推薦

2021-06-29 06:39:21

Linuxdust命令du命令

2018-05-16 10:32:06

Linux命令find

2022-05-25 08:41:48

Linuxfd 命令文件

2019-01-07 09:50:06

Linuxtarball命令

2019-11-26 09:20:47

LinuxJava

2019-11-26 16:58:51

Linuxpkgsrc

2023-01-17 07:40:59

LinuxAppImage應(yīng)用程序

2014-12-15 09:59:28

LinuxApache

2021-11-28 06:33:24

Discord消息收發(fā)應(yīng)用 Linux

2020-08-24 12:37:54

Linuxxargs命令

2017-09-18 10:05:15

WindowsLinux容器

2012-05-21 10:31:06

LinuxVMware Tool

2018-12-11 11:00:50

Linux字體命令

2021-10-02 10:10:47

LinuxBusyBox命令

2020-04-21 14:21:31

LinuxPython

2021-10-12 08:43:19

LinuxSambaWindows

2013-03-06 13:27:03

HadoopLinux

2022-04-26 09:16:35

Linux照片掃描

2015-11-30 15:05:01

Linux瀏覽器Docker

2017-12-11 10:24:29

LinuxGoogleChrome 63
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 亚洲人人| 一级片免费视频 | 欧美自拍第一页 | 午夜视频免费网站 | 久久久综合久久 | 天堂成人国产精品一区 | heyzo在线| 一区二区三区中文字幕 | 毛片一区二区三区 | 国产一区影院 | 91精品国产综合久久久久久漫画 | 国产精品欧美一区二区三区 | 久久爆操 | 亚洲va在线va天堂va狼色在线 | 成人国产免费视频 | 欧美精品久久久 | 超碰人人插 | 亚洲国产精品成人综合久久久 | 国产成人在线视频免费观看 | 亚洲www啪成人一区二区 | 激情欧美一区二区三区 | 国产在线视频在线观看 | 亚洲精品一区二区三区在线 | 成人综合伊人 | 二区中文 | 国产精品亚洲精品日韩已方 | 操射视频 | 欧美涩涩网 | 91文字幕巨乱亚洲香蕉 | 欧美成人视屏 | 日韩免费电影 | 高清人人天天夜夜曰狠狠狠狠 | 一区二区在线免费观看视频 | 国产色 | 日韩理论电影在线观看 | 国产精品视频一区二区三区四蜜臂 | 欧美日韩在线视频一区二区 | 日本一道本| 日本成人中文字幕在线观看 | 一区二区av在线 | 热久久免费视频 |