Recherche de site Web

fd - Une alternative simple et rapide à la commande Find


La plupart des utilisateurs de Linux connaissent bien la commande find et les nombreux cas dans lesquels elle peut être utilisée. Aujourd'hui, nous allons passer en revue une alternative à la commande find, appelée fd.

fd est un outil simple, rapide et convivial destiné à fonctionner simplement plus rapidement que find. Il n'est pas destiné à remplacer complètement find, mais plutôt à vous offrir une alternative facile à utiliser et légèrement plus rapide.

Caractéristiques du fd

Certaines des fonctionnalités notables de fd :

  • Syntaxe facile à utiliser – fd *pattern* au lieu de find -iname *pattern*.
  • La sortie colorée est similaire à celle de la commande ls.
  • Performances rapides. Les benchmarks du développeur sont disponibles ici.
  • Recherche intelligente avec insensible à la casse par défaut et passe à la casse si le modèle contient un symbole majuscule.
  • Ne recherche pas par défaut les fichiers et répertoires cachés.
  • Ne regarde pas .gitignore par défaut.
  • Conscience Unicode.

Comment installer fd sous Linux

Nous allons voir comment installer fd dans différentes distributions Linux à l'aide du gestionnaire de packages par défaut, comme indiqué.

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]    

Comment utiliser fd sous Linux

Semblable à la commande find, fd a de nombreux cas d'utilisation, mais commençons par vérifier les options disponibles :

fd -h
OR
fd --help

Jetons un coup d’œil à quelques exemples. Vous pouvez exécuter fd sans aucun argument, le résultat est très similaire à la commande ls -R.

fd

Dans les prochains exemples fd, j'utiliserai une installation WordPress par défaut située dans /var/www/html/ pour rechercher différents fichiers et dossiers.

Dans l'exemple ci-dessous, j'ai imprimé uniquement les 10 premiers résultats pour la sortie la plus courte en utilisant la redirection de canal avec la commande head.

fd | head

Rechercher tous les fichiers JPG sous Linux

Disons que nous voulons trouver tous les fichiers jpg. Nous pouvons utiliser l'indicateur « -e » pour filtrer par extension de fichier :

fd -e jpg

Si vous souhaitez spécifier un répertoire de recherche, il vous suffit de le donner en argument :

fd <pattery> <directory>

Rechercher une chaîne dans tous les fichiers PHP sous Linux

L'indicateur « -e » peut être utilisé en combinaison avec un modèle comme indiqué :

fd -e php index

La commande ci-dessus recherchera les fichiers avec une extension .php et contiendra la chaîne « index » :

Si vous souhaitez exclure certains résultats, vous pouvez utiliser l'indicateur « -E » comme indiqué :

fd -e php index -E wp-content

Cette commande recherchera tous les fichiers avec l'extension php, contenant la chaîne « index » et exclura les résultats du répertoire « wp-content ».

Rechercher tous les fichiers JPG et modifier l'autorisation

Tout comme find, vous pouvez utiliser les arguments -x ou --exec pour exécuter une commande parallèle avec les résultats de la recherche.

Voici un exemple où nous utiliserons chmod pour modifier les autorisations des fichiers image

fd -e jpg -x chmod 644 {}

Ce qui précède trouvera tous les fichiers avec l'extension jpg et exécutera chmod 644 .

Voici quelques explications utiles et l’utilisation des parenthèses :

  • {} – Un espace réservé qui sera modifié avec le chemin du résultat de la recherche (wp-content/uploads/01.jpg).
  • {.} – similaire à {}, mais sans utiliser l'extension de fichier (wp-content/uploads/01).
  • {/} : un espace réservé qui sera remplacé par le nom de base du résultat de la recherche (01.jpg).
  • {//} : répertoire parent du chemin découvert (wp-content/uploads).
  • {/.} : uniquement le nom de base, sans l'extension (01).
Conclusion

Il s'agissait d'un bref aperçu de la commande fd, que certains utilisateurs peuvent trouver plus facile à utiliser et plus rapide. Comme mentionné plus tôt dans cet article, fd n'est pas destiné à remplacer complètement find, mais plutôt à fournir une utilisation simple, une recherche plus facile et de meilleures performances. Fd ne prend pas beaucoup de place et constitue un outil intéressant à avoir dans votre arsenal.