Vyhledávání na webu

fd - Jednoduchá a rychlá alternativa k nalezení příkazu


Většina uživatelů Linuxu dobře zná příkaz find a mnoho případů, které lze použít. Dnes se podíváme na alternativu příkazu find, nazvanou fd.

fd je jednoduchý, rychlý a uživatelsky přívětivý nástroj, který má jednoduše fungovat rychleji ve srovnání s nástrojem najít. Nemá zcela nahradit najít , ale poskytnout vám snadno použitelnou alternativu, která funguje o něco rychleji.

Funkce fd

Některé z pozoruhodných funkcí fd:

  • Snadno použitelná syntaxe – fd *pattern* namísto find -iname *pattern*.
  • Barevný výstup je podobný tomu z příkazu ls.
  • Rychlý výkon. Benchmarky vývojáře jsou k dispozici zde.
  • Inteligentní vyhledávání ve výchozím nastavení nerozlišuje velká a malá písmena a přepne se na rozlišování velkých a malých písmen, pokud vzor obsahuje velký symbol.
  • Ve výchozím nastavení neprohledává skryté soubory a adresáře.
  • Ve výchozím nastavení se nedívá do .gitignore.
  • Povědomí o Unicode.

Jak nainstalovat fd v linuxu

Podíváme se na to, jak nainstalovat fd v různých distribucích Linuxu pomocí výchozího správce balíčků, jak je znázorněno.

sudo apt install fd-find    [On Debian, Ubuntu and Mint]
sudo yum install fd-find    [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
sudo emerge -a sys-apps/fd  [On Gentoo Linux]
sudo pacman -S fd           [On Arch Linux]
sudo zypper install fd      [On OpenSUSE]  
sudo apk add fd             [On Alpine Linux]    

Jak používat fd v Linuxu

Podobně jako příkaz find má fd mnoho případů použití, ale začněme kontrolou dostupných možností:

fd -h
OR
fd --help

Podívejme se na několik příkladů. fd můžete spustit bez jakýchkoli argumentů, výstup je velmi podobný příkazu ls -R.

fd

V dalších příkladech fd použiji výchozí instalaci WordPress umístěnou v /var/www/html/ k hledání různých souborů a složek.

V níže uvedeném příkladu jsem vytiskl pouze prvních 10 výsledků pro kratší výstup pomocí přesměrování potrubí pomocí příkazu head.

fd | head

Najděte všechny soubory JPG v Linuxu

Řekněme, že chceme najít všechny soubory jpg. K filtrování podle přípony souboru můžeme použít příznak “-e “:

fd -e jpg

Pokud chcete zadat vyhledávací adresář, stačí jej zadat jako argument:

fd <pattery> <directory>

Vyhledejte řetězec ve všech souborech PHP v systému Linux

Příznak “-e “ lze použít v kombinaci se vzorem, jak je znázorněno:

fd -e php index

Výše uvedený příkaz vyhledá soubory s příponou .php a bude v nich obsahovat řetězec „index “:

Pokud chcete některé výsledky vyloučit, můžete použít příznak “-E “, jak je znázorněno:

fd -e php index -E wp-content

Tento příkaz vyhledá všechny soubory s příponou php, které obsahují řetězec „index “ a vyloučí výsledky z adresáře „wp-content “.

Najděte všechny soubory JPG a upravte oprávnění

Stejně jako najít můžete použít argumenty -x nebo --exec k provádění paralelního provádění příkazů s výsledky vyhledávání.

Zde je příklad, kdy použijeme chmod ke změně oprávnění souborů obrázků

fd -e jpg -x chmod 644 {}

Výše uvedené najde všechny soubory s příponou jpg a spustí chmod 644 .

Zde je několik užitečných vysvětlení a použití závorek:

  • {} – zástupný symbol, který se změní s cestou k výsledku vyhledávání (wp-content/uploads/01.jpg).
  • {.} – podobně jako {}, ale bez použití přípony souboru (wp-content/uploads/01).
  • {/}: Zástupný symbol, který bude nahrazen základním názvem výsledku vyhledávání (01.jpg).
  • {//}: Nadřazený adresář nalezené cesty (wp-content/uploads).
  • {/.}: Pouze základní název bez přípony (01).
Závěr

Toto byla krátká recenze příkazu fd, který se některým uživatelům může zdát jednodušší a rychlejší. Jak již bylo zmíněno dříve v tomto článku, fd nemá zcela nahradit najít, ale spíše poskytuje jednoduché použití, snadnější vyhledávání a lepší výkon. Fd nezabere mnoho místa a je to pěkný nástroj, který můžete mít ve svém arzenálu.