Az fd parancs használata Linuxon

Linuxon az fd a find parancs egyszerűbb alternatívája. Egyszerűsített szintaxissal rendelkezik, ésszerű alapértelmezéseket használ, és beépített józan ész viselkedéssel rendelkezik. Vegyük végig a tempóját.

fd versus keresés: mi a különbség?

Az fd parancs nem helyettesíti a hagyományos keresési parancs, amely rendelkezik Linuxon volt, nos, örökké. Ehelyett az fd egyszerűbb módon próbálja kielégíteni a keresés általános használatának többségét – és gyakran nyolc-kilencszer gyorsabb, mint a find. Néhány referenciaértékét láthatja a projektben GitHub adattár oldala.

Az fd színezett kimenettel rendelkezik, hasonlóan néhány ls módhoz. Rekurzív, de alapértelmezés szerint nem keres a rejtett könyvtárakban. Az tudja Gitről és automatikusan figyelmen kívül hagy minden mintát a „.gitignore” fájlban.

Az fd alapértelmezés szerint nem érzékeny a kis- és nagybetűkre. Ha azonban a keresési minta nagybetűt tartalmaz, az fd kis- és nagybetűérzékeny módban működik. Természetesen felülírhatja az alapértelmezett értékeket, de sok esetben az Ön javára működnek.

Az fd telepítése

Az Ubuntu 19.04 (Disco Dingo) óta az fd-t közvetlenül telepítheti a hivatalosan karbantartott csomag apt-get parancsával. Ha az Ubuntu régebbi verzióját használja, ellenőrizze a telepítési utasítások a Git hub oldalán.

Írja be a következőket:

sudo apt-get install fd-find

Az Ubuntuban az fdfind parancs, hogy elkerülje a névütközést egy másik meglévő segédprogrammal. Ha azt szeretné, hogy fd legyen, beállíthat egy aliast:

alias fd=fdfind

Ahhoz, hogy az álnév állandó maradjon, hogy újraindítás után is elérhető maradjon, helyezze el a „.bashrc” vagy a „.bash_aliases” fájlba.

  A legjobb eszközök a hálózati műveletek kezeléséhez

Az fd Fedora telepítéséhez írja be ezt a parancsot:

sudo dfn install fd-find

A Manjaro gépen írja be a következőket:

sudo pacman -Syu fd

fd versus fdfind

A félreértések elkerülése érdekében Ubuntu tesztszámítógépünkön a parancsot az alapértelmezett néven hagytuk, az fdfind. Az fd és az fdfind pontosan ugyanaz a parancs, amint az a következő példában is látható (ha megkéri az fdfind-et, hogy mutassa meg a verzióját, akkor „fd”-nek nevezi magát):

fdfind --version

A parancsot „fed”-nek nevezzük, de a példákban az Ubuntu „fdfind” parancsát fogjuk használni. Más Linux-disztribúciókban az „fdfind” helyett beírhatja az „fd” kifejezést, hogy megtakarítson néhány billentyűleütést.

Egyszerű keresések az fd segítségével

Ha az fd-t parancssori opciók nélkül használjuk, akkor az ls-hez hasonlóan viselkedik, kivéve, hogy alapértelmezés szerint alkönyvtárakba sorolja a fájlokat.

Írja be a következőket:

fdfind

A kimenet különböző színekben jelenik meg a különböző fájltípusokhoz és könyvtárakhoz.

Egy adott típusú fájlok megtekintéséhez használja az -e (kiterjesztés) kapcsolót. Ne feledje, hogy a kiterjesztés előtt nem kell pontot (.) írni, és a kis- és nagybetűk között sem kell különbséget tenni.

Például beírhatja a következőket:

fdfind -e png

Most csak a PNG képfájlok szerepelnek a listán.

Egyetlen fájl kereséséhez írja be a nevét a parancssorba, például:

fdfind index.page

A fájl megtalálható, és történetesen egy alkönyvtárban van. Nem kellett mondanunk az fd-nek, hogy rekurzívan keressünk.

Ha a keresést egy adott könyvtárban szeretné elindítani, adjon meg egy fájl elérési utat a parancssorban. A következő parancs elindítja a keresést az „/etc” könyvtárban, és megkeresi azokat a fájlokat, amelyek nevében a „passwd” szerepel:

fdfind passwd /etc

Itt minden olyan C forráskód fájlt keresünk, amelyek a fájlnévben a „coord” szót tartalmazzák:

fdfind -e c coord

Két egyező fájl található.

fd és Git

A Git rendkívül népszerű forráskód verzió vezérlő rendszer. Ha a Git-et használja a számítógépén, valószínűleg „.gitignore” fájlokat használ annak meghatározására, hogy mely fájlokkal kell foglalkoznia, és melyeket hagyhatja figyelmen kívül. Alapértelmezés szerint az fd tiszteletben tartja a „.gitignore” fájlok beállításait.

  Hogyan távolítsuk el az összes formázást a vágólapról egy billentyűparancs segítségével

Ebben a könyvtárban van egy Git tárhely és egy „.gitignore” fájl. A következőket írjuk be:

ls -adl .git*

Kérjük meg az fd-t, hogy listázza ki azokat a fájlokat, amelyek nevében a „coord” kifejezés szerepel. Ezután megismételjük a keresést, és az -I (no ignore) opciót használjuk. Ez arra utasítja az fd-t, hogy figyelmen kívül hagyja a „.gitignore” fájl beállításait, és jelentsen minden egyező fájlt.

Mindehhez a következőket írjuk be:

fdfind coord
fdfind coord -I

A második eredményhalmazban található két extra fájl objektumfájl. Ezek akkor jönnek létre, amikor egy fájlprogramot fordítanak. A linker ezután felhasználja őket a program végső végrehajtható verziójának létrehozásához.

Az objektumfájlokat a forráskód-verzióvezérlő programok általában figyelmen kívül hagyják. Minden alkalommal újragenerálódnak, amikor lefordítod a programot, így nem kell másolatokat tárolnod róluk. A „.gitignore” fájlban van egy bejegyzés, amely arra utasítja a Git-et, hogy figyelmen kívül hagyja az objektumfájlokat, és alapértelmezés szerint az fd is figyelmen kívül hagyja azokat.

Az -I (no ignore) opció arra kényszeríti az fd-t, hogy mindent visszaadjon, amit talál, ahelyett, hogy a „.gitginore” fájl irányítaná.

Fájltípusok és kis- és nagybetűk érzékenysége

Megkérheti az fd-t, hogy keressen könyvtárakat, fájlokat (beleértve azokat is, amelyek futtathatók és üresek) és szimbolikus hivatkozásokat. Ezt megteheti a -t (type) kapcsolóval, amelyet az alábbi betűk egyike követ:

f: Fájl.
d: Címtár.
l: Szimbolikus link.
x: Futtatható fájl.
e: Üres fájl.

A következő egy images nevű könyvtárat keres:

fdfind -td images

Egyezés található, egy alkönyvtárral alacsonyabban, mint az aktuális.

  Videók automatikus lejátszásának kikapcsolása a Google Keresőben

Nézzük meg, hogyan működik a kis- és nagybetűk megkülönböztetése a keresési mintákkal. A következőket írjuk be, hogy először megkeressük azokat a fájlokat, amelyek fájlnevében a „geo”, majd a „Geo” szót tartalmazó fájlokat keressük:

fdfind -tf geo
fdfind -tf Geo

Az első parancsban kisbetűs keresési mintát használtunk, ami miatt az fd a kis- és nagybetűk megkülönböztetése nélkül működött. Ez azt jelenti, hogy a „Geo” és a „geo” is érvényes egyezések.

A második parancsunk egy nagybetűt tartalmazott, ami miatt az fd kis- és nagybetűk megkülönböztetésével működött. Ez azt jelenti, hogy csak a „Geo” egyezés érvényes.

Parancs végrehajtása

Az fd parancs lehetővé teszi egy másik parancs elindítását, és annak végrehajtását az összes talált fájlon.

Tegyük fel, hogy tudjuk, hogy van a ZIP fájl valahol a forráskód-könyvtárfánkban. Megkereshetjük a következő paranccsal, amely ZIP kiterjesztésű fájlokat keres:

fdfinf -e zip

Az -x (exec) kapcsolóval minden talált fájlt átadhat egy másik parancsnak, hogy az feldolgozza. Például beírhatjuk a következőt a híváshoz unzip segédprogram a ZIP-fájl kicsomagolásához (a „{}” a talált fájl helyőrzője):

fdfind -e zip -x unzip {}

Ez kicsomagolja a fájlt az aktuális munkakönyvtárban. Ha azt szeretnénk, hogy a ZIP-fájlt tartalmazó könyvtárba kicsomagoljuk, akkor a következő helyőrzők egyikét használhatjuk:

{}: A talált fájl teljes elérési útja és neve.
{/}: A talált fájl fájlneve.
{//}: A talált fájlt tartalmazó könyvtár.
{/.}: A talált fájl fájlneve kiterjesztés nélkül.

A ZIP-fájl megtalálásához és kicsomagolásához az azt tartalmazó könyvtárban használhatjuk az unzip -d (könyvtár) opciót, és átadhatjuk a szülőkönyvtár helyőrzőjét ({//}):

fdfind -e zip -x unzip {} -d {//}

A ZIP-fájl ezután megtalálható, és kicsomagolva a szülőkönyvtárában található.

Az Ön kedvenc keresése?

Mivel ilyen egyszerűséggel fedi le a leggyakoribb felhasználásokat, az fd könnyen a „találd” parancsoddá válhat. Amikor fejlettebb funkcióira van szüksége, bármikor visszatérhet ahhoz a tapasztalt veteránhoz, találja meg.