Linux Tutoriels

Comment utiliser la commande fd sous Linux

Sous Linux, fd est une alternative plus simple à la commande find. 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 la commande n’est pas destinée à remplacer la commande de recherche traditionnelle, qui a été sur Linux, eh bien, pour toujours. Au lieu de cela, fd essaie de satisfaire la majorité des utilisations courantes de find d’une manière plus simple – et, c’est souvent huit ou neuf fois plus rapide que find. Vous pouvez voir certains de ses benchmarks sur le projet Page du référentiel GitHub.

fd a une sortie colorisée, similaire à celle de certains modes ls. C’est récursif, mais ne recherche pas les répertoires cachés par défaut. Il sait à propos de 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 en 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 paquet officiellement maintenu avec apt-get. Si vous utilisez une ancienne version d’Ubuntu, vérifiez le instructions d’installation sur la page du hub Git.

Tapez ce qui suit:

sudo apt-get install fd-find

sudo apt-get install fd-find dans une fenêtre de terminal.

Dans Ubuntu, la commande est fdfind pour éviter un conflit de nom avec un autre utilitaire existant. Si vous voulez qu’il soit fd, vous pouvez configurer un alias:

alias fd=fdfind

alias fd = fdfind dans une fenêtre de terminal.

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

  Comment télécharger des fichiers vers Dropbox depuis Facebook Messenger

Pour installer fd sur Fedora, tapez cette commande:

sudo dfn install fd-find

sudo dnf installe fd-find dans une fenêtre de terminal.

Sur Manjaro, tapez ce qui suit:

sudo pacman -Syu fd

sudo pacman -Syu fd dans une fenêtre de terminal.

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 d’afficher sa version, il s’appelle «fd»):

fdfind --version

fdfind --version dans une fenêtre de terminal.

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 vous utilisez 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

fdfind dans une fenêtre de terminal.

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

Sortie de fdfind dans une fenêtre de terminal.

Pour voir les fichiers d’un type spécifique, utilisez l’option -e (extension). Notez que vous n’êtes pas obligé 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

fdfind -e png dans une fenêtre de terminal.

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

sortie de fdfind -e png dans une fenêtre de terminal.

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

fdfind index.page

fdfind index.page dans une fenêtre de terminal.

Le fichier est trouvé et se trouve dans un sous-répertoire. Nous n’avons pas eu à dire à fd d’effectuer une recherche récursive.

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

fdfind passwd / etc dans une fenêtre de terminal.

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

fdfind -e c coord

fdfind -ec coord dans une fenêtre de terminal.

Deux fichiers correspondants ont été trouvés.

fd et Git

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

  Comment utiliser Windows 10 Cloud Recovery pour réinitialiser le PC

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

ls -adl .git*

ls -adl .git * dans une fenêtre de terminal.

Demandons à fd de lister tous les fichiers qui contiennent «coord» dans le nom du fichier. Nous allons ensuite répéter la recherche et utiliser l’option -I (pas d’ignorer). Cela indique à fd d’ignorer les paramètres du fichier «.gitignore» et de signaler chaque fichier correspondant.

Pour faire tout cela, nous tapons ce qui suit:

fdfind coord
fdfind coord -I

fdfind coord dans une fenêtre de terminal.

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 y a une entrée dans le fichier «.gitignore» qui demande à Git d’ignorer les fichiers objets et, par défaut, fd les ignore également.

L’option -I (no ignore) force fd à 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 de 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 l’option -t (type), suivie de l’une des lettres ci-dessous:

f: fichier.
d: Annuaire.
l: lien symbolique.
x: fichier exécutable.
e: fichier vide.

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

fdfind -td images

fdfind -td images dans une fenêtre de terminal.

Une correspondance est trouvée, un sous-répertoire inférieur au répertoire actuel.

Voyons comment la sensibilité à 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

fdfind -tf geo dans une fenêtre de terminal.

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

  Microsoft Teams ne se synchronise pas (Guide complet)

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

Exécution de la commande

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

Disons que nous savons qu’il y a un Fichier zip quelque part dans notre arborescence de 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

fdfinf -e zip dans une fenêtre de terminal.

Avec l’option -x (exec), vous pouvez passer chaque fichier trouvé à une autre commande à traiter par celui-ci. Par exemple, nous pouvons taper ce qui suit pour appeler le 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é.
{/}: Nom de fichier du fichier trouvé.
{//}: le répertoire contenant le fichier trouvé.
{/.}: 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 l’option unzip -d (directory), et passer dans l’espace réservé du répertoire parent ({//}):

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

fdfind-e zip -x décompressez {} -d {//} dans une fenêtre de terminal.

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

Sortie de fdfind-e zip -x décompressez {} -d {//} dans une fenêtre de terminal.

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 de «recherche». Chaque fois que vous avez besoin de ses fonctionnalités plus avancées, vous pouvez toujours revenir à ce vétéran chevronné, trouvez.

x