fd - jednostavna i brza alternativa za pronalaženje naredbe


Većini korisnika Linuxa dobro je poznata naredba find, koja se naziva fd.

fd, jednostavan je, brz i user-friendly alat namijenjen jednostavnom izvođenju brži u usporedbi s pronalaženjem. Nije zamišljen da u potpunosti zamijeni find, već vam daje jednostavnu alternativu koja se izvodi nešto brže.

Neke značajne značajke fd-a:

  1. Jednostavna sintaksa - fd * pattern * umjesto find -iname * pattern * .
  2. Šareni izlaz sličan onom iz naredbe ls.
  3. Brze performanse. Mjerila za programere dostupna su ovdje.
  4. Prema zadanim postavkama ne traži skrivene datoteke i direktorije.
  5. Prema zadanim postavkama ne proučava .gitignore .
  6. Unicode svijest.

Kako instalirati fd u Linux

Pogledat ćemo kako instalirati fd u različite Linux distribucije.

Za distribucije temeljene na Ubuntuu i Debianu morat ćete preuzeti najnoviju verziju fd sa stranice izdanja i instalirati je pomoću sljedećih naredbi.

$ wget https://github.com/sharkdp/fd/releases/download/v7.3.0/fd-musl_7.3.0_amd64.deb
$ sudo dpkg -i fd-musl_7.3.0_amd64.deb

Na ostalim Linux distribucijama možete instalirati fd iz zadanog spremišta pomoću upravitelja paketa kao što je prikazano.

# dnf install fd-find  [On Fedora]
# pacman -S fd         [On Arch Linux]
# emerge -av fd        [On Gentoo]
# zypper in fd         [On OpenSuse]

Kako koristiti fd u Linuxu

Slično naredbi find, i fd ima mnogo slučajeva upotrebe, ali krenimo s provjerom dostupnih opcija:

# fd -h
OR
# fd --help

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

# fd

U sljedećim fd primjerima koristit ću zadano pretraživanje različitih datoteka i mapa.

U donjem primjeru uzeo sam samo prvih 10 rezultata za kraći izlaz naredbe.

# fd | head

Recimo da želimo pronaći sve jpg datoteke. Oznaku "-e" možemo koristiti za filtriranje prema nastavku datoteke:

# fd -e jpg

Oznaka "-e" može se koristiti u kombinaciji s uzorkom poput ovog:

# fd -e php index

Gornja naredba tražit će datoteke s ekstenzijom php i u njima će biti niz "index":

Ako želite izuzeti neke rezultate, možete upotrijebiti oznaku "-E" ovako:

# fd -e php index -E wp-content

Ova naredba će potražiti sve datoteke s php nastavkom, koje sadrže niz "indeks" i izuzeće rezultate iz direktorija "wp-content".

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

# fd <pattery> <directory>

Kao i find, možete koristiti argumente -x ili --exec da biste izvršili paralelno izvršavanje naredbi s rezultatima pretraživanja.

Evo primjera gdje ćemo koristiti chmod za promjenu dozvola slikovnih datoteka

# fd -e jpg -x chmod 644 {}

Iznad će pronaći sve datoteke s nastavkom jpg i pokrenut će chmod 644 .

Evo nekoliko korisnih objašnjenja i upotrebe zagrada:

  • {} - rezervirano mjesto koje će se mijenjati putem puta rezultata pretraživanja (wp-content/uploads/01.jpg).
  • {.} - slično {} , ali bez upotrebe ekstenzije datoteke (wp-content/uploads/01).
  • {/} : rezervirano mjesto koje će biti zamijenjeno osnovnim imenom rezultata pretraživanja (01.jpg).
  • {//} : Nadređeni direktorij otkrivene staze (wp-content/uploads).
  • {/.} : Samo osnovno ime, bez nastavka (01).

Ovo je bio kratki pregled naredbe fd, koji će nekim korisnicima biti lakši za upotrebu i brži. Kao što je ranije spomenuto u ovom članku, fd nije namijenjen u potpunosti zamjeni find-a, već pruža jednostavnu upotrebu, lakše pretraživanje i bolje performanse. Fd ne zauzima puno prostora i lijep je alat koji imate u svom arsenalu.