fd – Egyszerű és gyors alternatíva a parancs megtalálásához
A legtöbb Linux-felhasználó jól ismeri a find parancsot és azt, hogy milyen sok esetben használható. Ma áttekintjük a parancs keresésének alternatíváját, az fd nevet.
Az fd egy egyszerű, gyors és felhasználóbarát eszköz, amelynek célja, hogy egyszerűen gyorsabban teljesítsen a találással képest. Nem az a célja, hogy teljesen lecserélje a find funkciót, hanem inkább egy könnyen használható alternatívát ad, amely valamivel gyorsabban működik.
fd jellemzők
Az fd néhány figyelemre méltó funkciója:
- Könnyen használható szintaxis – fd *pattern* a find -name *pattern* helyett.
- A színes kimenet hasonló az ls parancshoz.
- Gyors teljesítmény. A fejlesztői referenciaértékek itt érhetők el.
- Intelligens keresés alapértelmezés szerint nem tesz különbséget a kis- és nagybetűk között, és átvált a kis- és nagybetűk megkülönböztetésére, ha a minta nagybetűket tartalmaz.
- Alapértelmezés szerint nem keres a rejtett fájlokban és könyvtárakban.
- Alapértelmezés szerint nem nézi a .gitignore fájlt.
- Unicode tudatosság.
Az fd telepítése Linux alatt
Megvizsgáljuk, hogyan telepíthető az fd különböző Linux-disztribúciókba az alapértelmezett csomagkezelő használatával, az ábrán látható módon.
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]
Az fd használata Linuxban
A find parancshoz hasonlóan az fd-nek számos felhasználási esete van, de kezdjük a rendelkezésre álló lehetőségek ellenőrzésével:
fd -h
OR
fd --help
Nézzünk néhány példát. Az fd parancsot argumentumok nélkül is futtathatja, a kimenet nagyon hasonlít az ls -R parancshoz.
fd
A következő fd példákban a /var/www/html/
helyen található alapértelmezett WordPress-telepítést fogom használni a különböző fájlok és mappák kereséséhez.
Az alábbi példában csak az első 10 eredményt nyomtattam ki a rövidebb kimenethez, csőátirányítással a head paranccsal.
fd | head
Keresse meg az összes JPG fájlt Linuxon
Tegyük fel, hogy meg akarjuk találni az összes jpg fájlt. Használhatjuk a “-e ”
jelzőt a fájlkiterjesztés szerinti szűréshez:
fd -e jpg
Ha egy keresési könyvtárat szeretne megadni, egyszerűen meg kell adnia argumentumként:
fd <pattery> <directory>
Keressen karakterláncot az összes PHP fájlban Linux alatt
A “-e ”
jelző használható egy mintával kombinálva, az alábbi ábrán látható módon:
fd -e php index
A fenti parancs a .php
kiterjesztésű fájlokat keresi, és az „index ” karakterláncot tartalmazza:
Ha ki szeretne zárni néhány eredményt, használja a „-E ”
jelzőt az alábbi módon:
fd -e php index -E wp-content
Ez a parancs minden olyan php kiterjesztésű fájlt megkeres, amely az „index” karakterláncot tartalmazza, és kizárja a „wp-content” könyvtárból származó eredményeket.
Keresse meg az összes JPG fájlt és módosítsa az engedélyt
Csakúgy, mint a find, a -x
vagy a --exec
argumentumokkal párhuzamos parancsvégrehajtást hajthat végre a keresési eredményekkel.
Íme egy példa, ahol a chmod segítségével módosíthatjuk a képfájlok engedélyeit
fd -e jpg -x chmod 644 {}
A fentiek megtalálják az összes jpg kiterjesztésű fájlt, és a chmod 644
parancsot futtatják.
Íme néhány hasznos magyarázat és a zárójelek használata:
{}
– Helyőrző, amely a keresési eredmény elérési útjával módosul (wp-content/uploads/01.jpg).{.}
– hasonló a{}
-hoz, de nem használja a fájlkiterjesztést (wp-content/uploads/01).{/}
: Helyőrző, amelyet a keresési eredmény alapneve (01.jpg) vált fel.{//}
: a felfedezett útvonal szülőkönyvtára (wp-content/uploads).{/.}
: Csak az alapnév, kiterjesztés nélkül (01).
Következtetés
Ez egy rövid áttekintés volt az fd parancsról, amelyet egyes felhasználók könnyebben és gyorsabban használhatnak. Amint azt ebben a cikkben korábban említettük, az fd nem teljesen helyettesíti a find funkciót, hanem egyszerűbb használatot, egyszerűbb keresést és jobb teljesítményt biztosít. Az Fd nem foglal sok helyet, és nagyszerű eszköz, amely a fegyvertárban van.