Agence web » Actualités du digital » Comment utiliser la commande fd sous Linux

Comment utiliser la commande fd sous Linux

Sous Linux, fd est une alternative plus simple au find commander. Il a une syntaxe simplifiée, utilise des valeurs par défaut sensibles et a un comportement de bon sens intégré. Prenons-le à l’épreuve.

fd versus find: quelle est la différence?

le fd n'est pas censée remplacer la commande traditionnelle find commande, qui a été sur Linux, eh bien, depuis toujours. Au lieu, fd essaie de satisfaire la majorité des utilisations courantes de find de manière plus simple, et c'est souvent huit ou neuf fois plus rapide que find. Vous pouvez voir certains de ses benchmarks sur la page du référentiel GitHub du projet.

fd a une sortie colorisée, similaire à celle de certains ls modes. Il est récursif, mais ne recherche pas les répertoires masqués par défaut. Il connaît Git et ignorera également automatiquement tous les modèles de votre fichier «.gitignore».

fd est insensible à la casse par défaut. Cependant, si votre modèle de recherche contient une lettre majuscule, fd fonctionne dans un mode sensible à la casse. Bien sûr, vous pouvez remplacer les valeurs par défaut, mais, dans de nombreux cas, elles jouent en votre faveur.

Installation de fd

Depuis Ubuntu 19.04 (Disco Dingo,) vous pouvez installer fd directement en appelant le package officiellement maintenu avec apt-get. Si vous exécutez une ancienne version d'Ubuntu, consultez les instructions d'installation sur la page du hub Git.

Tapez ce qui suit:

sudo apt-get install fd-find

Dans Ubuntu, la commande est fdfind pour éviter un conflit de nom avec un autre utilitaire existant. Si tu veux que ce soit fd, vous pouvez configurer un alias:

alias fd=fdfind

Pour rendre l'alias persistant afin qu'il reste disponible après les redémarrages, placez-le dans votre fichier «.bashrc» ou «.bash_aliases».

À installer fd sur Fedora, tapez cette commande:

sudo dfn install fd-find

Sur Manjaro, tapez ce qui suit:

sudo pacman -Syu fd

fd contre fdfind

Pour éviter toute confusion, nous avons laissé la commande avec son nom par défaut, fdfind, sur notre PC de test Ubuntu. fd et fdfind sont exactement la même commande, comme vous le verrez dans l'exemple suivant (si vous demandez fdfind pour montrer sa version, il s'appelle «fd»):

fdfind --version

comment-utiliser-la-commande-fd-sous-linux-6036271

Nous appellerons la commande «fed», mais dans les exemples, nous utiliserons Ubuntu «fdfind». Sur d'autres distributions Linux, vous pouvez taper «fd» au lieu de «fdfind» pour enregistrer quelques frappes.

Recherches simples avec fd

Si tu utilises fd sans options de ligne de commande, il se comporte un peu comme ls, sauf qu'il répertorie les fichiers dans les sous-répertoires par défaut.

Tapez ce qui suit:

fdfind

La sortie apparaît dans différentes couleurs pour différents types de fichiers et répertoires.

1595973611_229_comment-utiliser-la-commande-fd-sous-linux-4753818

Pour voir les fichiers d'un type spécifique, utilisez le -e (extension) option. Notez que vous n’avez pas besoin de faire précéder l’extension d’un point (.), Ni de respecter la casse.

Par exemple, vous pouvez taper ce qui suit:

fdfind -e png

Désormais, les seuls fichiers répertoriés sont des fichiers image PNG.

1595973611_159_comment-utiliser-la-commande-fd-sous-linux-4288123

Pour rechercher un seul fichier, tapez son nom sur la ligne de commande, comme ceci:

fdfind index.page

1595973611_316_comment-utiliser-la-commande-fd-sous-linux-7414423

Le fichier est trouvé et se trouve dans un sous-répertoire. Nous n'avons pas eu à dire fd pour rechercher récursivement.

Pour que la recherche démarre dans un répertoire particulier, incluez un chemin de fichier sur la ligne de commande. La commande suivante lancera une recherche dans le répertoire «/ etc» et recherchera les fichiers contenant «passwd» dans le nom du fichier:

fdfind passwd /etc

1595973611_57_comment-utiliser-la-commande-fd-sous-linux-8951879

Ici, nous recherchons tous les fichiers de code source C qui contiennent "coord" dans le nom du fichier:

fdfind -e c coord

1595973611_520_comment-utiliser-la-commande-fd-sous-linux-3336654

Deux fichiers correspondants ont été trouvés.

fd et Git

Git est un système de contrôle de version de code source extrêmement populaire. Si vous utilisez Git sur votre ordinateur, vous utilisez probablement des fichiers «.gitignore» pour indiquer à Git quels fichiers il doit s'occuper et lesquels il peut ignorer. Par défaut, fd respecte les paramètres de vos fichiers «.gitignore».

Dans ce répertoire, nous avons un référentiel Git et un fichier «.gitignore». Nous tapons ce qui suit:

ls -adl .git*

1595973611_843_comment-utiliser-la-commande-fd-sous-linux-6003894

Demandons fd pour lister tous les fichiers contenant «coord» dans le nom de fichier. Nous répéterons ensuite la recherche et utiliserons le -I (pas d'ignorer) option. Cela raconte fd pour ignorer les paramètres du fichier «.gitignore» et signaler chaque fichier correspondant.

Pour faire tout cela, nous tapons ce qui suit:

fdfind coord
fdfind coord -I

1595973611_291_comment-utiliser-la-commande-fd-sous-linux-5876492

Les deux fichiers supplémentaires du deuxième ensemble de résultats sont des fichiers objets. Ceux-ci sont créés lors de la compilation d'un programme de fichiers. Ils sont ensuite utilisés par l'éditeur de liens pour créer la version exécutable finale du programme.

Les fichiers objets sont généralement ignorés par les programmes de contrôle de version de code source. Ils sont régénérés chaque fois que vous compilez votre programme, vous n’avez donc pas à en stocker des copies. Il existe une entrée dans le fichier ".gitignore" qui indique à Git d'ignorer les fichiers objets et, par défaut, fd les ignore aussi.

le -I (pas d'ignorer) force l'option fd pour renvoyer tout ce qu'il trouve, plutôt que d'être guidé par le fichier «.gitginore».

Types de fichiers et sensibilité à la casse

Vous pouvez demander fd pour rechercher des répertoires, des fichiers (y compris ceux qui sont exécutables et vides) et des liens symboliques. Vous pouvez le faire en utilisant le -t (type), suivie de l'une des lettres ci-dessous:

  • F: Fichier.
  • : Annuaire.
  • l: Lien symbolique.
  • X: Fichier exécutable.
  • e: Fichier vide.

Ce qui suit recherche un répertoire appelé images:

fdfind -td images

1595973611_900_comment-utiliser-la-commande-fd-sous-linux-7252330

Une correspondance est trouvée, un sous-répertoire plus bas que le répertoire actuel.

Voyons comment le respect de la casse fonctionne avec les modèles de recherche. Nous tapons ce qui suit pour rechercher d'abord les fichiers qui contiennent "geo" dans leurs noms de fichiers, puis ceux qui contiennent "Geo" dans leurs noms de fichiers:

fdfind -tf geo
fdfind -tf Geo

1595973611_447_comment-utiliser-la-commande-fd-sous-linux-5304001

Dans la première commande, nous avons utilisé un modèle de recherche en minuscules, ce qui a causé fd pour fonctionner de manière insensible à la casse. Cela signifie que «Geo» et «geo» sont des correspondances valides.

Notre deuxième commande contenait un caractère majuscule, ce qui provoquait fd pour fonctionner de manière sensible à la casse. Cela signifie que seul «Geo» est une correspondance valide.

Exécution de la commande

le fd La commande vous permet de lancer une autre commande et de l'exécuter sur chacun des fichiers trouvés.

Supposons que nous sachions qu’il existe un fichier Zip quelque part dans l’arborescence de nos répertoires de code source. Nous pouvons le rechercher à l'aide de la commande suivante, qui recherche les fichiers avec l'extension ZIP:

fdfinf -e zip

1595973611_588_comment-utiliser-la-commande-fd-sous-linux-7681441

Avec le -x (exec), vous pouvez passer chaque fichier trouvé à une autre commande pour être traité par celui-ci. Par exemple, nous pouvons taper ce qui suit pour appeler l'utilitaire de décompression pour décompresser notre fichier ZIP (le «{}» est un espace réservé représentant le fichier trouvé):

fdfind-e zip -x unzip {}

Cela décompressera le fichier dans le répertoire de travail actuel. Si nous voulons qu'il soit décompressé dans le répertoire contenant le fichier ZIP, nous pouvons utiliser l'un des espaces réservés suivants:

  • {}: Le chemin d'accès complet au fichier et le nom du fichier trouvé.
  • {/}: Le nom de fichier du fichier trouvé.
  • {//}: Le répertoire contenant le fichier trouvé.
  • {/.}: Le nom de fichier du fichier trouvé, sans l'extension.

Pour que notre fichier ZIP soit trouvé et décompressé dans le répertoire qui le contient, nous pouvons utiliser la décompression -d (directory) et passez dans l'espace réservé du répertoire parent ({//}):

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

Le fichier ZIP est ensuite localisé et décompressé dans son répertoire parent.

1595973611_677_comment-utiliser-la-commande-fd-sous-linux-3632602

Votre recherche préférée?

Parce qu'il couvre les utilisations les plus courantes avec une telle simplicité, fd peut facilement devenir votre commande «trouver». Chaque fois que vous avez besoin de ses fonctionnalités plus avancées, vous pouvez toujours revenir à ce vétéran chevronné, find.