日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

fd:一個比Find簡單十倍的文件查找命令

來源: 責編: 時間:2024-04-19 17:24:19 234觀看
導讀今天給大家帶來一個超級實用的小工具——fd。這貨是干嘛的呢?簡單來說,它就是用來在你的文件系統中查找文件和目錄的。想象一下,你在一大堆文件中找一個特定的文件,手動找得眼花繚亂?別擔心,fd來拯救你!fd是find命令的一個替

今天給大家帶來一個超級實用的小工具——fd。這貨是干嘛的呢?簡單來說,它就是用來在你的文件系統中查找文件和目錄的。想象一下,你在一大堆文件中找一個特定的文件,手動找得眼花繚亂?別擔心,fd來拯救你!oMm28資訊網——每日最新資訊28at.com

oMm28資訊網——每日最新資訊28at.com

fd是find命令的一個替代品,但它更簡單、更快,而且用起來更順手。它可能不支持find所有的強大功能,但對于大多數使用場景來說,它提供了合理的(有觀點的)默認設置。接下來,咱們就來看看怎么用這個小家伙吧!oMm28資訊網——每日最新資訊28at.com

特點

  • 直觀的語法:用fd PATTERN代替find -iname '*PATTERN*'。
  • 支持正則表達式(默認)和通配符模式。
  • 由于并行遍歷目錄,速度非常快。
  • 使用顏色來高亮不同的文件類型(和ls命令一樣)。
  • 支持并行命令執行。
  • 智能大小寫:默認情況下搜索是不區分大小寫的。如果模式中包含大寫字符,它就會切換到區分大小寫。
  • 默認情況下,忽略隱藏目錄和文件。
  • 默認情況下,忽略你的.gitignore中的模式。
  • 命令名字比find短了50%。

如何使用

首先,如果你想快速了解所有可用的命令行選項,可以運行fd -h來獲取簡潔的幫助信息,或者運行fd --help來獲取更詳細的版本。oMm28資訊網——每日最新資訊28at.com

簡單搜索

fd的設計目的就是在你的文件系統中查找條目。最基本的搜索你能做的就是用一個參數運行fd:搜索模式。比如,你想找一個包含"netfl"的老腳本:oMm28資訊網——每日最新資訊28at.com

> fd netflSoftware/python/imdb-ratings/netflix-details.py

如果我們只用一個參數這樣調用fd,它會遞歸地在當前目錄中搜索包含模式"netfl"的任何條目。oMm28資訊網——每日最新資訊28at.com

正則表達式搜索

搜索模式被視為正則表達式。這里,我們搜索以"x"開頭以"rc"結尾的條目:oMm28資訊網——每日最新資訊28at.com

> cd /etc> fd '^x.*rc$'X11/xinit/xinitrcX11/xinit/xserverrc

fd使用的正則表達式語法在這里有文檔說明。oMm28資訊網——每日最新資訊28at.com

指定根目錄

如果我們想搜索一個特定的目錄,可以將其作為第二個參數傳遞給fd:oMm28資訊網——每日最新資訊28at.com

> fd passwd /etc/etc/default/passwd/etc/pam.d/passwd/etc/passwd

遞歸列出所有文件

fd可以不帶任何參數調用。這對于快速概覽當前目錄中的所有條目(遞歸地,類似于ls -R)非常有用:oMm28資訊網——每日最新資訊28at.com

> cd fd/tests> fdtestenvtestenv/mod.rstests.rs

如果你想用這個功能來列出給定目錄中的所有文件,你必須使用一個通配符模式,比如.或^:oMm28資訊網——每日最新資訊28at.com

> fd . fd/tests/testenvtestenv/mod.rstests.rs

搜索特定文件擴展名

多時候,我們對某種類型的所有文件感興趣。這可以通過-e(或--extension)選項來實現。這里,我們搜索fd倉庫中所有的Markdown文件:oMm28資訊網——每日最新資訊28at.com

> cd fd> fd -e mdCONTRIBUTING.mdREADME.md

-e選項可以與搜索模式結合使用:oMm28資訊網——每日最新資訊28at.com

> fd -e rs modsrc/fshelper/mod.rssrc/lscolors/mod.rstests/testenv/mod.rs

搜索特定文件名

要找到與提供的搜索模式完全匹配的文件,可以使用-g(或--glob)選項:oMm28資訊網——每日最新資訊28at.com

> fd -g libc.so /usr/usr/lib32/libc.so/usr/lib/libc.so

隱藏和忽略的文件

默認情況下,fd不搜索隱藏目錄,也不會在搜索結果中顯示隱藏文件。要禁用這種行為,我們可以使用-H(或--hidden)選項:oMm28資訊網——每日最新資訊28at.com

> fd pre-commit> fd -H pre-commit.git/hooks/pre-commit.sample

如果我們在包含Git倉庫的目錄中工作(或包含Git倉庫),fd不會搜索(也不會顯示)匹配.gitignore模式的文件夾和文件。要禁用這種行為,我們可以使用-I(或--no-ignore)選項:oMm28資訊網——每日最新資訊28at.com

> fd num_cpu> fd -I num_cputarget/debug/deps/libnum_cpus-f5ce7ef99006aa05.rlib

要真正搜索所有文件和目錄,只需將隱藏和忽略功能結合起來顯示所有內容(-HI),或使用-u/--unrestricted。oMm28資訊網——每日最新資訊28at.com

匹配完整路徑

認情況下,fd只匹配每個文件的文件名。然而,使用--full-path或-p選項,你可以匹配完整路徑。oMm28資訊網——每日最新資訊28at.com

> fd -p -g '**/.git/config'> fd -p '.*/lesson-//d+/[a-z]+.(jpg|png)'

命令執行

除了僅僅顯示搜索結果,你通常還想對它們做點什么。fd提供了兩種方法來為你的每個搜索結果執行外部命令:oMm28資訊網——每日最新資訊28at.com

  • -x/--exec選項為每個搜索結果運行一個外部命令(并行)。
  • -X/--exec-batch選項啟動一次外部命令,將所有搜索結果作為參數。

示例

遞歸查找所有zip壓縮文件并解壓它們:oMm28資訊網——每日最新資訊28at.com

如果有兩個這樣的文件,file1.zip和backup/file2.zip,這將執行unzip file1.zip和unzip backup/file2.zip。如果文件足夠快地被發現,這兩個unzip進程將并行運行。oMm28資訊網——每日最新資訊28at.com

找到所有的.h和.cpp文件,并用clang-format -i就地自動格式化它們:oMm28資訊網——每日最新資訊28at.com

> fd -e h -e cpp -x clang-format -i

注意,clang-format的-i選項可以作為一個單獨的參數傳遞。這就是為什么我們把-x選項放在最后。oMm28資訊網——每日最新資訊28at.com

找到所有的test_*.py文件并在你最喜歡的編輯器中打開它們:oMm28資訊網——每日最新資訊28at.com

注意,我們這里使用大寫的-X來打開單個vim實例。如果有兩個這樣的文件,test_basic.py和lib/test_advanced.py,這將運行vim test_basic.py lib/test_advanced.py。oMm28資訊網——每日最新資訊28at.com

要查看文件權限、所有者、文件大小等詳細信息,你可以讓fd通過運行ls為每個結果顯示它們:oMm28資訊網——每日最新資訊28at.com

> fd … -X ls -lhd --color=always

這個模式非常有用,以至于fd提供了一個快捷方式。你可以使用-l/--list-details選項以這種方式執行ls:fd … -l。oMm28資訊網——每日最新資訊28at.com

-X選項結合fd和ripgrep (rg)使用也很有用,以便在某個特定類別的文件中搜索,比如所有的C++源文件:oMm28資訊網——每日最新資訊28at.com

> fd -e cpp -e cxx -e h -e hpp -X rg 'std::cout'

將所有.jpg文件轉換為.png文件:oMm28資訊網——每日最新資訊28at.com

> fd -e jpg -x convert {} {.}.png

這里,{}是一個占位符,將被搜索結果的路徑替換(documents/images/party.jpg)。{.}和{}類似,但沒有文件擴展名(documents/images/party)。{/}是一個占位符,將被搜索結果的基礎名替換(party.jpg)。{//}是發現路徑的父目錄(documents/images)。{/.}是基礎名,擴展名已去除(party)。如果你不包括一個占位符,fd會自動在最后添加一個{}。oMm28資訊網——每日最新資訊28at.com

并行與串行執行

對于-x/--exec,你可以使用-j/--threads選項控制并行作業的數量。使用--threads=1進行串行執行。oMm28資訊網——每日最新資訊28at.com

排除特定的文件或目錄

有時候我們想要忽略來自特定子目錄的搜索結果。例如,我們可能想要搜索所有隱藏的文件和目錄(-H),但排除所有來自.git目錄的匹配項。我們可以使用-E(或--exclude)選項來實現這一點。它接受一個任意的glob模式作為參數:oMm28資訊網——每日最新資訊28at.com

我們也可以使用它來跳過掛載的目錄:oMm28資訊網——每日最新資訊28at.com

> fd -E /mnt/external-drive …

..或者跳過某些文件類型:oMm28資訊網——每日最新資訊28at.com

要使這些排除模式永久化,可以創建一個.fdignore文件。它們的工作方式類似于.gitignore文件,但是特定于fd。例如:oMm28資訊網——每日最新資訊28at.com

> cat ~/.fdignore/mnt/external-drive*.bak

注意oMm28資訊網——每日最新資訊28at.com

fd還支持其他程序使用的.ignore文件,如rg或ag。如果你想讓fd全局忽略這些模式,可以將它們放在fd的全局忽略文件中。這通常位于macOS或Linux的~/.config/fd/ignore中,Windows中位于%APPDATA%/fd/ignoreoMm28資訊網——每日最新資訊28at.com

刪除文件

你可以使用fd刪除所有與你的搜索模式匹配的文件和目錄。如果你只想刪除文件,可以使用--exec-batch/-X選項調用rm。例如,要遞歸刪除所有.DS_Store文件,請運行:oMm28資訊網——每日最新資訊28at.com

fd -H '^/.DS_Store$' -tf -X rm

如果你不確定,總是先在沒有-X rm的情況下調用fd。或者,使用rm的“交互式”選項:oMm28資訊網——每日最新資訊28at.com

> fd -H '^//.DS_Store$' -tf -X rm -i

如果你想刪除某類目錄,可以使用同樣的技術。你將不得不使用rm的--recursive/-r標志來刪除目錄。oMm28資訊網——每日最新資訊28at.com

注意oMm28資訊網——每日最新資訊28at.com

使用fd … -X rm -r可能會引起競態條件的情況:如果你有一個像…/foo/bar/foo/…這樣的路徑,并且想要刪除所有名為foo的目錄,你最終可能會遇到外層foo目錄首先被刪除的情況,導致(無害的)"'foo/bar/foo':沒有這樣的文件或目錄"錯誤在rm調用中。oMm28資訊網——每日最新資訊28at.com

命令行選項

這是fd -h的輸出。要查看所有命令行選項的完整集合,請使用fd --help,其中也包括更詳細的幫助文本。oMm28資訊網——每日最新資訊28at.com

用法:fd [OPTIONS] [pattern] [path]...oMm28資訊網——每日最新資訊28at.com

參數:oMm28資訊網——每日最新資訊28at.com

[pattern] 搜索模式(正則表達式,除非使用'--glob';可選)oMm28資訊網——每日最新資訊28at.com

[path]... 文件系統搜索的根目錄(可選)oMm28資訊網——每日最新資訊28at.com

選項:oMm28資訊網——每日最新資訊28at.com

-H, --hidden 搜索隱藏的文件和目錄oMm28資訊網——每日最新資訊28at.com

-I, --no-ignore 不遵守.(git|fd)ignore文件oMm28資訊網——每日最新資訊28at.com

-s, --case-sensitive 大小寫敏感搜索(默認:智能大小寫)oMm28資訊網——每日最新資訊28at.com

-i, --ignore-case 大小寫不敏感搜索(默認:智能大小寫)oMm28資訊網——每日最新資訊28at.com

-g, --glob 基于通配符的搜索(默認:正則表達式)oMm28資訊網——每日最新資訊28at.com

-a, --absolute-path 顯示絕對路徑而非相對路徑oMm28資訊網——每日最新資訊28at.com

-l, --list-details 使用帶有文件元數據的長列表格式oMm28資訊網——每日最新資訊28at.com

-L, --follow 跟隨符號鏈接oMm28資訊網——每日最新資訊28at.com

-p, --full-path 搜索完整的絕對路徑(默認:僅文件名)oMm28資訊網——每日最新資訊28at.com

-d, --max-depth 設置最大搜索深度(默認:無限制)oMm28資訊網——每日最新資訊28at.com

-E, --exclude 排除與給定的glob模式匹配的條目oMm28資訊網——每日最新資訊28at.com

-t, --type 按類型過濾:文件(f)、目錄(d/dir)、符號鏈接(l)、可執行文件(x)、空(e)、套接字(s)、管道(p)、塊設備(b)、字符設備(c)oMm28資訊網——每日最新資訊28at.com

-e, --extension 按文件擴展名過濾oMm28資訊網——每日最新資訊28at.com

-S, --size 根據文件大小限制結果oMm28資訊網——每日最新資訊28at.com

--changed-within 按文件修改時間過濾(比這新的)oMm28資訊網——每日最新資訊28at.com

--changed-before 按文件修改時間過濾(比這舊的)oMm28資訊網——每日最新資訊28at.com

-o, --owner user:group 按擁有者和/或組過濾oMm28資訊網——每日最新資訊28at.com

-x, --exec ... 對每個搜索結果執行命令oMm28資訊網——每日最新資訊28at.com

-X, --exec-batch ... 一次性用所有搜索結果執行命令oMm28資訊網——每日最新資訊28at.com

-c, --color 使用顏色的時候 [默認:auto] [可能的值:auto, always, never]oMm28資訊網——每日最新資訊28at.com

-h, --help 打印幫助(查看更多使用'--help')oMm28資訊網——每日最新資訊28at.com

-V, --version 打印版本oMm28資訊網——每日最新資訊28at.com

以上就是fd工具的詳細介紹,希望這個小工具能在你的日常開發和文件管理中大顯身手!如果你有任何問題或建議,歡迎到fd的GitHub倉庫: https://github.com/sharkdp/fd 提出。記得,保持文件系統的整潔,讓查找文件變得更簡單!oMm28資訊網——每日最新資訊28at.com


oMm28資訊網——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-84189-0.htmlfd:一個比Find簡單十倍的文件查找命令

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 探索C++:十大讓代碼簡潔的特性

下一篇: 一篇文章帶你了解JavaScript switch

標簽:
  • 熱門焦點
  • K60 Pro官方停產 第三方瞬間漲價

    雖然沒有官方宣布,但Redmi的一些高管也已經透露了,Redmi K60 Pro已經停產且不會補貨,這一切都是為了即將到來的K60 Ultra鋪路,屬于廠家的正常操作。但有意思的是該機在停產之后
  • 小米官宣:2023年上半年出貨量中國第一!

    今日早間,小米電視官方微博帶來消息,稱2023年小米電視上半年出貨量達到了中國第一,同時還表示小米電視的巨屏風暴即將開始。“公布一個好消息2023年#小米電視上半年出貨量中國
  • Raft算法:保障分布式系統共識的穩健之道

    1. 什么是Raft算法?Raft 是英文”Reliable、Replicated、Redundant、And Fault-Tolerant”(“可靠、可復制、可冗余、可容錯”)的首字母縮寫。Raft算法是一種用于在分布式系統
  • 掘力計劃第 20 期:Flutter 混合開發的混亂之治

    在掘力計劃系列活動第20場,《Flutter 開發實戰詳解》作者,掘金優秀作者,Github GSY 系列目負責人戀貓的小郭分享了Flutter 混合開發的混亂之治。Flutter 基于自研的 Skia 引擎
  • 每天一道面試題-CPU偽共享

    前言:了不起:又到了每天一到面試題的時候了!學弟,最近學習的怎么樣啊 了不起學弟:最近學習的還不錯,每天都在學習,每天都在進步! 了不起:那你最近學習的什么呢? 了不起學弟:最近在學習C
  • 7月4日見!iQOO 11S官宣:“雞血版”驍龍8 Gen2+200W快充加持

    上半年已接近尾聲,截至目前各大品牌旗下的頂級旗艦都已悉數亮相,而下半年即將推出的頂級旗艦已經成為了數碼圈爆料的主流,其中就包括全新的iQOO 11S系
  • DRAM存儲器10月價格下跌,NAND閃存本月價格與上月持平

    10月30日,據韓國媒體消息,自今年年初以來一直在上漲的 DRAM 存儲器的交易價格僅在本月就下跌了近 10%,此次是全年首次降價,而NAND 閃存本月價格與上月持平。市
  • 電博會與軟博會實現"線下+云端"的雙線融合

    在本次“電博會”與“軟博會”雙展會利好條件的加持下,既可以發揮展會拉動人流、信息流、資金流實現快速交互流動的作用,繼而推動區域經濟良性發展;又可以聚
  • 榮耀Magic4 至臻版 首創智慧隱私通話 強勁影音系統

    2022年第一季度臨近尾聲,在該季度內,許多品牌陸續發布自己的最新產品,讓大家從全新的角度來了解當今的手機技術。手機是電子設備中,更新迭代十分迅速的一款產品,基
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
国产精品私人影院| 欧美激情网站在线观看| 亚洲欧美日韩专区| 精品电影在线观看| 国产精品久久久久秋霞鲁丝 | 亚洲欧美国产高清| 亚洲国产成人在线播放| 国产精品一区二区三区久久| 欧美xxx成人| 欧美一区二区大片| 夜夜嗨一区二区| 亚洲性图久久| 免费观看成人www动漫视频| 亚洲毛片在线| 在线精品观看| 国产欧美一区二区视频| 欧美日韩一区在线观看视频| 麻豆乱码国产一区二区三区| 欧美中文字幕不卡| 亚洲午夜电影| 日韩视频一区二区| 在线免费观看欧美| 国产精品尤物| 黄色在线一区| 国产精品一卡二卡| 曰本成人黄色| 亚洲一区二区三区在线看 | 国产欧美韩国高清| 国产精品成人免费视频| 欧美日韩亚洲免费| 亚洲激情视频在线观看| 欧美日韩亚洲成人| 久久精品30| 亚洲一区免费视频| 亚洲在线第一页| 麻豆精品在线观看| 久久亚洲春色中文字幕| 久久福利毛片| 久久久久九九九九| 久久综合色播五月| 国产精品久久久| 欧美午夜不卡视频| 国产精品久久久久久妇女6080| 黄色成人片子| 亚洲女同在线| 欧美激情1区2区| 欧美在线看片| 欧美精品成人| 在线电影国产精品| 在线成人黄色| 欧美视频亚洲视频| 欧美日韩123| 麻豆av一区二区三区| 欧美日韩亚洲天堂| 欧美三区在线观看| 亚洲东热激情| 亚洲美女在线视频| 久久久水蜜桃av免费网站| 久久亚洲视频| 免费成人激情视频| 欧美理论视频| 国产精品久久7| 国产欧美另类| 一本色道久久88综合日韩精品| 在线视频亚洲| 亚洲欧美在线免费观看| 欧美一区二区在线免费观看| 久久精品理论片| 久久综合九色综合久99| 欧美在线电影| 久久久久久国产精品mv| 欧美高清不卡| 欧美日韩一区二区在线播放| 亚洲电影免费观看高清完整版在线| 亚洲网友自拍| 欧美日韩免费区域视频在线观看| 国产精品毛片va一区二区三区 | 亚洲在线成人精品| 欧美伊久线香蕉线新在线| 国产精品毛片在线| 亚洲一区二区三区色| 久久资源av| 在线观看日韩av先锋影音电影院| 久久精品一区二区三区不卡| 欧美福利网址| 国产欧美一区在线| 欧美一级日韩一级| 在线视频精品一区| 精品二区视频| 在线成人性视频| 久久久久久久国产| 欧美+亚洲+精品+三区| 国产精品mm| 一区二区三区视频免费在线观看 | 亚洲一区三区视频在线观看| 国产精品videosex极品| 亚洲网址在线| 欧美成人精品在线| 亚洲精品免费一区二区三区| 欧美一区二区三区在线观看视频| 国产精品亚洲人在线观看| 亚洲卡通欧美制服中文| 欧美破处大片在线视频| 国产亚洲人成网站在线观看| 亚洲欧洲精品一区二区三区不卡 | 久久亚洲国产成人| 国产欧美一区二区三区久久人妖| 午夜免费日韩视频| 久久精品亚洲乱码伦伦中文| 欧美三级中文字幕在线观看| 狠狠色狠狠色综合人人| 亚洲欧美综合国产精品一区| 欧美日韩国产天堂| 中国日韩欧美久久久久久久久| 久久久久www| 国产精品视频最多的网站| 亚洲精品一区在线| 欧美日韩一区在线观看| 亚洲欧美国产视频| 国产自产在线视频一区| 亚洲一区二区黄| 国产无一区二区| 欧美国产亚洲视频| 国产日本欧美视频| 一区二区冒白浆视频| 欧美成ee人免费视频| 国内精品嫩模av私拍在线观看| 亚洲影视综合| 国产一区二区黄色| 欧美va天堂| 亚洲在线观看| 在线观看91久久久久久| 欧美日本网站| 欧美一乱一性一交一视频| 亚洲国产精品黑人久久久| 欧美午夜精品久久久久久孕妇| 亚洲免费观看在线视频| 欧美日本乱大交xxxxx| 亚洲——在线| 亚洲国产精品福利| 国产精品青草综合久久久久99| 久久久www成人免费无遮挡大片| 99av国产精品欲麻豆| 欧美人交a欧美精品| 亚洲欧洲av一区二区| 国产精品一级二级三级| 久久亚洲精品伦理| 一区二区三区我不卡| 欧美日韩国产一区| 久久爱www.| 在线不卡免费欧美| 欧美网站大全在线观看| 狂野欧美一区| 亚洲欧美日韩国产综合| 亚洲欧洲日本mm| 欧美精品亚洲精品| 亚洲精品日韩在线观看| 欧美伦理在线观看| 久久精品一区二区| 亚洲香蕉伊综合在人在线视看| 国产噜噜噜噜噜久久久久久久久| 亚洲欧美日韩一区在线| 亚洲国产你懂的| 国产午夜久久久久| 久久综合九色综合网站| 国产一区深夜福利| 亚洲麻豆av| 欧美国产精品| 国产精品永久入口久久久| 一本大道久久精品懂色aⅴ| 亚洲欧美经典视频| 农村妇女精品| 韩日精品中文字幕| 久久综合九色| 亚洲丰满在线| 一区二区三区www| 欧美日韩一区二区视频在线| 日韩一级免费| 韩国精品主播一区二区在线观看| 亚洲欧美日韩国产综合在线 | 久久久青草婷婷精品综合日韩| 亚洲黄色在线看| 亚洲二区在线观看| 久久五月激情| 久久精品欧美| 久久黄色小说| 久久婷婷av| 久久久人成影片一区二区三区 | 欧美成年人网| 欧美第一黄色网| 欧美日韩免费网站| 欧美性理论片在线观看片免费| 欧美区国产区| 国产精品综合av一区二区国产馆| 一区二区三区 在线观看视| 欧美激情亚洲精品| 欧美精品v国产精品v日韩精品| 美女诱惑一区| 久久午夜视频| 欧美成人自拍| 久久精品人人做人人爽电影蜜月| 午夜精品理论片| 国产精品欧美日韩| 老鸭窝91久久精品色噜噜导演|