fd - Jednostavna i brza alternativa naredbi Find


Većina korisnika Linuxa dobro je upoznata sa komandom find i mnogim slučajevima kada se ona može koristiti. Danas ćemo pregledati alternativu za pronalaženje komande, koja se zove fd.

fd je jednostavan, brz i prilagođen korisniku alat koji jednostavno radi brže u odnosu na pronalaženje. Nije namijenjena potpunoj zamjeni pronađi već vam daje alternativu jednostavnu za korištenje koja radi nešto brže.

fd Features

Neke od značajnih karakteristika fd:

  • Sintaksa jednostavna za upotrebu – fd *obrazac* umjesto pronađi -iname *obrazac*.
  • Šareni izlaz je sličan onom iz naredbe ls.
  • Brza izvedba. Mjerila za razvojne programere dostupna su ovdje.
  • Pametno pretraživanje s razlikovanjem velikih i malih slova prema zadanim postavkama i prelazi na osjetljivo na velika i mala slova ako uzorak sadrži simbol velikih slova.
  • Podrazumevano ne traži skrivene datoteke i direktorije.
  • Podrazumevano ne gleda u .gitignore.
  • Unicode svijest.

Kako instalirati fd u Linux

Pogledat ćemo kako instalirati fd u različite Linux distribucije koristeći zadani upravitelj paketa kao što je prikazano.

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]    

Kako koristiti fd u Linuxu

Slično naredbi find, fd ima mnogo slučajeva upotrebe, ali počnimo provjerom dostupnih opcija:

fd -h
OR
fd --help

Pogledajmo nekoliko primjera. Možete pokrenuti fd bez ikakvih argumenata, izlaz je vrlo sličan komandi ls -R.

fd

U sljedećim primjerima fd, koristit ću zadanu instalaciju WordPress-a koja se nalazi u /var/www/html/ za traženje različitih datoteka i foldera.

U primjeru ispod, ispisao sam samo prvih 10 rezultata za kraći izlaz koristeći preusmjeravanje cijevi pomoću naredbe head.

fd | head

Pronađite sve JPG datoteke u Linuxu

Recimo da želimo pronaći sve jpg datoteke. Možemo koristiti oznaku “-e ” za filtriranje prema ekstenziji datoteke:

fd -e jpg

Ako želite navesti direktorij za pretraživanje, jednostavno ga trebate dati kao argument:

fd <pattery> <directory>

Potražite String u svim PHP datotekama u Linuxu

Oznaka “-e ” se može koristiti u kombinaciji sa uzorkom kao što je prikazano:

fd -e php index

Gornja naredba će tražiti datoteke sa ekstenzijom .php i imati niz “index” u njima:

Ako želite isključiti neke rezultate, možete koristiti oznaku “-E ” kao što je prikazano:

fd -e php index -E wp-content

Ova komanda će tražiti sve datoteke sa ekstenzijom php, koje sadrže string “index ” i isključit će rezultate iz direktorija “wp-content”.

Pronađite sve JPG datoteke i izmijenite dozvolu

Baš kao find, možete koristiti argumente -x ili --exec da izvršite paralelno izvršavanje komande sa rezultatima pretrage.

Evo primjera gdje ćemo koristiti chmod da promijenimo dozvole slikovnih datoteka

fd -e jpg -x chmod 644 {}

Gore će pronaći sve datoteke sa ekstenzijom jpg i pokrenut će chmod 644 .

Evo nekoliko korisnih objašnjenja i upotrebe zagrada:

  • {} – Čuvar mjesta koji će biti promijenjen sa putanjom rezultata pretraživanja (wp-content/uploads/01.jpg).
  • {.} – slično {}, ali bez upotrebe ekstenzije datoteke (wp-content/uploads/01).
  • {/}: Čuvar mjesta koji će biti zamijenjen osnovnim imenom rezultata pretraživanja (01.jpg).
  • {//}: Roditeljski direktorij otkrivene staze (wp-content/uploads).
  • {/.}: Samo osnovno ime, bez ekstenzije (01).
Zaključak

Ovo je bio kratak pregled fd komande, koju će neki korisnici možda smatrati lakšom za korištenje i bržom. Kao što je ranije spomenuto u ovom članku fd nije namijenjen da u potpunosti zamijeni pronalaženje, već pruža jednostavnu upotrebu, lakšu pretragu i bolje performanse. Fd ne zauzima puno prostora i dobar je alat koji možete imati u svom arsenalu.