Comment utiliser xargs avec trouver dans Linux

Comment utiliser xargs avec trouver dans Linux
Ce tutoriel explique comment utiliser les commandes xargs et trouver pour faire des opérations combinées.

Après avoir lu ce tutoriel, vous pouvez rechercher des fichiers à l'aide de la commande find et exécuter une commande spécifique basée sur des résultats correspondants.

Les instructions et les exemples sont utiles pour la plupart des distributions Linux. Le contenu est optimisé à la fois pour les utilisateurs de Linux nouveaux et expérimentés.

Toutes les étapes décrites dans cet article contiennent des captures d'écran pour faciliter la compréhension de tous les utilisateurs de Linux et les appliquer.

Les exemples d'utilisation inclus dans cet article sont les suivants:

  • Rechercher et supprimer les fichiers par extension (type de fichier).
  • Trouver et supprimer les fichiers par nom.
  • Trouver et modifier les autorisations de fichiers en fonction des autorisations actuelles.

Brève introduction aux commandes de recherche et xargs

Le xargs Commande, lorsqu'elle est combinée avec d'autres commandes comme trouver, utilise la sortie de la première commande comme argument.

Par exemple, exécutons le trouver Commande pour identifier les fichiers avec une extension ou un type de fichier spécifique. Nous pouvons ajouter le xargs commande pour exécuter une action pour tous les fichiers correspondant à l'extension spécifiée trouver.

Comme vous pouvez le voir dans la ligne suivante, un tuyau sépare la commande 1 et la commande 2, où la commande 1 peut être n'importe quelle commande comme LS, et la commande 2, y compris la commande xargs, suivie d'une action spécifique comme chat.

[Commande 1] | [Commande 2]

L'exemple applicable serait:

LS | Cat xargs

Cette commande répertorie tous les fichiers dans le répertoire actuel. Ensuite, la sortie (fichiers répertoriés) sera utilisé par Xargs comme argument, et leur contenu sera imprimé comme indiqué par Cat xargs. Voir la capture d'écran suivante:

Comment trouver et déplacer des fichiers à l'aide de xargs

La première section de ce didacticiel explique comment utiliser les commandes Find et Xargs pour rechercher et déplacer des fichiers correspondant à une condition, dans ce cas, le type de fichier.

Commençons par trouver des fichiers par extension et en les déplaçant vers un répertoire spécifique en utilisant xargs.

Avant de commencer, exécutez le LS Commande pour afficher des fichiers et des répertoires dans mon sous-répertoire nommé testdir.

LS

Comme vous pouvez le voir, il existe différents types de fichiers, y compris .SMS, .c, et fichiers sans extensions. Faites également attention au tutorieldir annuaire.

Supposons que vous souhaitez déplacer des fichiers avec une extension spécifique à un répertoire. La syntaxe est la suivante:

trouver -nom '*.'-Type F | xargs mv -t

Dans la syntaxe précédente, le -nom L'option précède le nom ou la condition du fichier en fonction du nom du fichier. Le -Type F L'option Spécifie que la commande Find traite avec les fichiers et non les répertoires. Le -t L'option avant le répertoire de destination est utilisée pour définir le répertoire cible. Faites attention au wildcard (*) avant l'extension, en demandant à la commande de rechercher tous les fichiers de l'extension spécifiée indépendamment du nom.

Ainsi, si vous voulez tout déplacer .SMS Fichiers dans le répertoire nommé tutorieldir, Exécutez la commande suivante:

trouver . -nom '*.Txt '-Type F | xargs mv -t tutorieldir

Comme vous pouvez le voir, après avoir exécuté le LS Commande deux fois, les fichiers ont été déplacés du répertoire actuel vers le tutorieldir sous-répertoire.

La syntaxe est la même pour tous les types de fichiers. Répétons-le, cette fois pour .c des dossiers:

trouver . -nom '*.C '-Type F | xargs mv -t tutorieldir

La première commande LS affiche trois .c Fichiers dans le répertoire actuel. Après avoir exécuté la commande find avec xargs, la commande d'arbre affiche tout .Les fichiers C ont été déplacés vers le tutorieldir répertoire, où .SMS Les fichiers ont été transportés dans l'exemple précédent.

Trouver et supprimer des fichiers et répertoires par nom avec xargs

La syntaxe pour trouver et supprimer des fichiers à l'aide de xargs est la suivante:

trouver -nom | xargs rm

C'est ici que est le répertoire parent que vous recherchez des fichiers, et est le nom du fichier que vous souhaitez trouver et supprimer.

Voyons le scénario actuel dans la capture d'écran suivante:

LS

Dans le premier exemple, choisissez Fichiers par type, comme fait dans la section précédente, pour les supprimer, comme indiqué ci-dessous:

trouver . -nom "*.C "| Xargs RM

Comme vous pouvez le voir ci-dessus, tout .c Les fichiers ont été supprimés avec succès.

Maintenant, le scénario est le suivant:

LS

Dans l'exemple actuel, j'utiliserai le joker pour supprimer tous les fichiers dont le nom commence par «déposer», Indépendamment de la continuation du nom.

trouver . -Nom "Fichier *" | xargs rm

Jusqu'à présent, cet article explique comment gérer les fichiers. Maintenant, voyons comment utiliser Find et Xargs avec des répertoires. Dans le nouveau scénario, il y a cinq nouveaux répertoires: dir1, dir2, dir3, dir4, et dir5, Comme indiqué dans l'image suivante:

LS

En supposant que vous souhaitez supprimer tous les répertoires avec des noms commençant par «diron», Exécutez la même commande. Cependant, après la commande RM, ajoutez le -r Flag utilisé pour gérer les répertoires, comme le montre la figure suivante:

trouver . -Nom "Dir *" | xargs rm -r

Trouver et supprimer des fichiers en fonction des autorisations

Cette section décrit la recherche de fichiers par des autorisations spécifiques et les modifier à l'aide de xargs.

Comme vous pouvez le voir ci-dessous, les fichiers quelque chose1.txt, quelque chose2.SMS, et quelque chose3.SMS ont des autorisations complètes pour tout le monde (777).

ls -l

La syntaxe pour trouver des fichiers avec autorisation et les modifier est affichée ci-dessous:

trouver -permanente | xargs chmod

Pour trouver tous les fichiers avec des autorisations complètes à tous (777) dans le répertoire actuel et les modifier en autorisations complètes pour le propriétaire et lire et exécuter les autorisations pour les utilisateurs de groupe et autres (755), exécutez la commande exécutée dans les éléments suivants:

trouver . -perm 777 | xargs chmod 755

Conclusion

Comme vous pouvez le voir, la commande xargs, lorsqu'elle est combinée avec la commande find, est pratique pour les tâches en vrac ou les tâches spécifiques lorsque vous ne connaissez pas un emplacement de fichier. Les deux commandes sont faciles à mettre en œuvre et peuvent être incorporées par les nouveaux utilisateurs pour faciliter leur expérience avec le terminal Linux. Find et xargs sont des commandes Linux de base. Tout utilisateur Linux doit savoir comment appliquer. Les xargs peuvent être combinés avec d'autres commandes de base comme LS. Les instructions expliquées ci-dessus sont utiles pour toutes les distributions Linux.

Découvrez plus d'articles pour plus de conseils et de tutoriels Linux.