Zoeken op website

fd - Een eenvoudig en snel alternatief voor het vinden van commando's


De meeste Linux-gebruikers zijn goed bekend met de opdracht find en de vele gevallen waarin deze kan worden gebruikt. Vandaag gaan we een alternatief bekijken om de opdracht te vinden, genaamd fd.

fd is een eenvoudige, snelle en gebruiksvriendelijke tool die bedoeld is om simpelweg sneller te presteren in vergelijking met find. Het is niet bedoeld om find volledig te vervangen, maar biedt u eerder een gebruiksvriendelijk alternatief dat iets sneller presteert.

fd-functies

Enkele opvallende kenmerken van fd:

  • Gemakkelijk te gebruiken syntaxis – fd *pattern* in plaats van find -iname *pattern*.
  • De kleurrijke uitvoer is vergelijkbaar met die van het ls-commando.
  • Snelle prestaties. De benchmarks van de ontwikkelaar zijn hier beschikbaar.
  • Slim zoeken met standaard niet-hoofdlettergevoelig en schakelt over naar hoofdlettergevoelig als het patroon een hoofdletter bevat.
  • Kijkt standaard niet in verborgen bestanden en mappen.
  • Kijkt standaard niet naar .gitignore.
  • Unicode-bewustzijn.

Hoe fd te installeren onder Linux

We gaan kijken hoe je fd in verschillende Linux-distributies kunt installeren met behulp van de standaard pakketbeheerder, zoals weergegeven.

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]    

Hoe fd te gebruiken in Linux

Net als de opdracht find kent fd veel toepassingen, maar laten we beginnen met het controleren van de beschikbare opties:

fd -h
OR
fd --help

Laten we een paar voorbeelden bekijken. Je kunt fd zonder argumenten uitvoeren, de uitvoer lijkt erg op het ls -R commando.

fd

In de volgende fd voorbeelden zal ik een standaard WordPress-installatie gebruiken in /var/www/html/ om naar verschillende bestanden en mappen te zoeken.

In het onderstaande voorbeeld heb ik alleen de eerste 10 resultaten afgedrukt voor de kortere uitvoer met behulp van pipe-omleiding met het head-commando.

fd | head

Vind alle JPG-bestanden in Linux

Stel dat we alle jpg-bestanden willen vinden. We kunnen de vlag “-e ” gebruiken om te filteren op bestandsextensie:

fd -e jpg

Als u een zoekmap wilt opgeven, hoeft u deze alleen maar als argument op te geven:

fd <pattery> <directory>

Zoek naar tekenreeksen in alle PHP-bestanden in Linux

De “-e ” vlag kan gebruikt worden in combinatie met een patroon zoals getoond:

fd -e php index

Het bovenstaande commando zoekt naar bestanden met de extensie .php en bevat de string “index ”:

Als u bepaalde resultaten wilt uitsluiten, kunt u de vlag “-E ” gebruiken, zoals weergegeven:

fd -e php index -E wp-content

Dit commando zoekt naar alle bestanden met de php-extensie, die de string “index ” bevatten en sluit resultaten uit de map “wp-content ” uit.

Vind alle JPG-bestanden en wijzig de toestemming

Net als find kunt u de argumenten -x of --exec gebruiken om parallelle uitvoering van opdrachten uit te voeren met de zoekresultaten.

Hier is een voorbeeld waarin we chmod gebruiken om de rechten van de afbeeldingsbestanden te wijzigen

fd -e jpg -x chmod 644 {}

Het bovenstaande zal alle bestanden vinden met de extensie jpg en zal chmod 644 uitvoeren.

Hier volgen enkele nuttige uitleg en het gebruik van de haakjes:

  • {} – Een tijdelijke aanduiding die wordt gewijzigd met het pad van het zoekresultaat (wp-content/uploads/01.jpg).
  • {.} – vergelijkbaar met {}, maar zonder gebruik van de bestandsextensie (wp-content/uploads/01).
  • {/}: een tijdelijke aanduiding die wordt vervangen door de basisnaam van het zoekresultaat (01.jpg).
  • {//}: bovenliggende map van het ontdekte pad (wp-content/uploads).
  • {/.}: alleen de basisnaam, zonder de extensie (01).
Conclusie

Dit was een korte bespreking van het fd-commando, dat sommige gebruikers gemakkelijker en sneller vinden. Zoals eerder in dit artikel vermeld is fd niet bedoeld om find volledig te vervangen, maar eerder om eenvoudig gebruik, eenvoudiger zoeken en betere prestaties te bieden. Fd neemt niet veel ruimte in beslag en is een leuk hulpmiddel om in je arsenaal te hebben.