Après avoir lu ce tutoriel, vous saurez comment simplifier la tâche de supprimer les fichiers dans Linux en utilisant différentes techniques. Ce tutoriel est optimisé pour les utilisateurs nouveaux et expérimentés, passant directement au point pratique et expliquant tous les aspects. Je vous encourage à pratiquer tous les exemples donnés afin d'incorporer ces connaissances. Soyez juste prudent avec le contenu que vous supprimez.
Cet article comprend les captures d'écran de chaque étape, ce qui permet à tous les utilisateurs de Linux de les appliquer facilement.
Trouver et supprimer des fichiers dans Linux
Cette section explique les différentes techniques pour trouver les fichiers et les supprimer à la volée avec une seule commande ou avec une combinaison de commandes.
Pour commencer, voyons ce qu'il y a dans le répertoire domestique en utilisant le LS (Liste) Commande.
LSComme vous pouvez le voir dans la figure précédente, il y a plusieurs fichiers et répertoires. Parmi eux, nous pouvons voir le 1.SMS, 2.SMS et 3.SMS.
Nous pouvons utiliser la commande find suivie du type de fichier, du nom du fichier et du -supprimer option.
Mais dans l'exemple suivant, nous ne supprimerons pas de fichier spécifique mais tous les fichiers avec le «.Extension txt ”.
trouver . -Tapez f -name "*.txt "-deleteOù:
Comme vous pouvez le voir dans la capture d'écran précédente, après avoir exécuté le LS Commande à nouveau, les fichiers txt n'apparaissent pas. Ils ont été supprimés par la commande précédemment exécutée.
Bien sûr, vous pouvez trouver et supprimer les fichiers spécifiques comme indiqué dans la figure suivante où fichier3 est trouvé et supprimé.
trouver . -Tapez F -NAME FILE3 -DeleteComme expliqué dans la liste des commandes et des options précédentes, si vous souhaitez supprimer un répertoire plutôt qu'un fichier, vous devez remplacer le F avec un d après le -taper Option comme indiqué dans l'image suivante:
trouver . -Type D -name Dir1 -deleteSupposons que vous souhaitez supprimer de nombreux fichiers dont la première partie de leurs noms est la même. Dans la capture d'écran suivante, vous pouvez voir le fichier1, fichier2 et fichier3.
Si vous souhaitez supprimer tous les fichiers «FileX», il vous suffit de remplacer la partie des noms de fichiers sans coïncidence avec le wildcard (*) comme indiqué dans l'exemple suivant:
trouver . -Tapez f -Name "Fichier *" -DeleteTous les exemples précédents expliquaient comment supprimer les fichiers à l'aide du -supprimer option. Cette section explique comment obtenir le même résultat en utilisant le -exécutif commande.
La première partie de la commande suivante a déjà été expliqué précédemment. La commande Incorporated -exec est utilisée pour appliquer une action basée sur le résultat de la commande précédente.
trouver . -Nom "quelque chose.log "-exec rm -rf \;Où:
Maintenant, voyons un nouveau scénario utilisant à nouveau la commande LS. Comme vous pouvez le voir, il y en a différent «.Fichiers txt ».
Dans ce cas, nous remplacerons le -supprimer option avec le -Exec RM Encore une fois pour supprimer tous les «.Txt ”fichiers comme nous l'avons fait dans le deuxième exemple de ce document mais en utilisant une technique différente.
Vous pouvez voir la commande dans la troisième ligne de la figure suivante. La commande LS précédente affiche les fichiers existants avant l'exécution trouver, Et le deuxième LS montre le résultat avec tous les «.Fichiers txt »supprimés.
trouver . -Tapez f -name "*.txt "-exec rm -f \;Maintenant, créons un nouveau scénario que vous pouvez voir dans l'exemple suivant. Ce scénario en comprend plusieurs «.txt »et«.C Fichiers ".
Supposons que vous souhaitez supprimer les deux .SMS et .c fichiers à la fois en utilisant l'option -delete au lieu de l'option -exec. Comme vous pouvez le voir dans l'image suivante, les fichiers de noms sont entre le \ ( et \). Avant le deuxième nom de fichier, nous avons le -o option suivie du -nom et le deuxième nom (ou condition dans ce cas, car nous supprimons tous les «.Fichiers txt ”). Vous pouvez ajouter le -O -name plusieurs fois comme vous en avez besoin, mais rappelez-vous que le premier -nom n'est pas précédé par le -o option.
trouver . \( -nom "*.c "-o -name" *.txt "\) -deleteComme vous pouvez le voir, les deux .SMS et .c Les fichiers ont été supprimés avec succès.
Maintenant, combinons la commande Find avec la commande xargs (expliquée à la fin de ce tutoriel).
Dans l'exemple suivant, nous supprimons tous les «.Fichiers txt ”à l'aide de xargs, où -je est l'espace réservé et entre% nous exécutons la commande.
Comme vous pouvez le voir, après la deuxième exécution LS, tout .c et .SMS Les fichiers ont été supprimés.
trouver *.TXT -TYPE F | xarg -i% rm "%"La syntaxe pour supprimer de nombreux fichiers est plus facile avec xargs. Dans la commande suivante, les deux .c et .SMS Les fichiers sont supprimés.
trouver *.SMS *.C -Type F | xarg -i% rm "%"Enfin, supposons que vous souhaitez supprimer les fichiers par date et non par nom ou extension. Dans ce cas, la commande find peut identifier le mtime (dates de fichiers de création ou de modification) des fichiers et répertoires.
Dans l'image suivante, vous pouvez voir le dir2 Répertoire qui contient 4 fichiers: fichier1, fichier2, fichier3 et fichier4. Tous les fichiers dans le dir2 ont été créés au cours des dernières 24 heures.
L'identification des fichiers est possible en utilisant le -m du temps option suivie de l'intervalle de temps des fichiers. Dans ce cas, le -1 L'option indique 1 jour, 24 heures. Le -1 signifie les fichiers créés ou modifiés le dernier jour, tandis que +1 signifie les fichiers créés ou modifiés il y a plus d'un jour.
Dans l'exemple suivant, nous utilisons la commande find avec l'option -mtime pour supprimer les fichiers créés ou modifiés le dernier jour.
Trouver Dir2-Type F -mtime -1 -Deletexargs vs -exec
Le xargs La commande est presque toujours implémentée avec des tuyaux (mais pas nécessairement à le faire) pour utiliser la première commande comme argument. Contrairement au tuyau, il permet d'utiliser la première commande comme argument et pas seulement comme une sortie ou une commande prédécesseur précédente.
L'exemple suivant de cette section répertorie les fichiers et répertoires à l'aide du LS (Liste) Commande et déplace les fichiers répertoriés vers un autre répertoire avec mv et xargs commandes. Ce n'est pas la méthode appropriée pour déplacer les fichiers, mais il est utile comme exemple pour montrer comment le xargs Commande fonctionne.
Tout d'abord, jetez un coup d'œil à mon linuxhintdir annuaire. Comme vous pouvez le voir, nous avons 3 fichiers: fichier1, fichier2 et fichier3.
ls dir1 dir2Maintenant, déplacez tous les fichiers à l'intérieur dir1 pour dir2 en utilisant le mv commande.
ls ~ / dir1 / * | xargs mv -t ~ / dir2Comme vous pouvez le voir, le résultat ls ~ / dir1 / * a été passé par xargs après le mv commande.
Le -exécutif La commande est similaire à xargs. Il peut exécuter des commandes en fonction de la sortie de la première commande. Contrairement aux xargs, -exécutif exécute la commande chaque fois qu'un fichier correspond à la condition. Si nous utilisons la commande -exec pour supprimer les fichiers, il les supprimera par fichier par fichier. Tandis que xargs exécute la commande à la fois pour tous les fichiers correspondants. Cela fait xargs Un peu plus rapide que -exec. Par conséquent, si vous traitez avec de nombreux fichiers, les Xargs seraient pratiques -exécutif.
Conclusion
Linux a de nombreuses méthodes pour atteindre la même tâche. Trouver et supprimer les fichiers avec une seule commande est une connaissance que tout utilisateur de Linux devrait avoir indépendamment sur son expérience. Ce tutoriel se concentre sur la recherche et la suppression des fichiers, mais Xargs et -exec peuvent être utilisés avec de nombreuses commandes Linux. Il est important de mentionner que certaines fonctions sont disponibles uniquement dans le trouver version. La plupart des conseils expliqués sont utiles pour presque toutes les distributions Linux.
Merci d'avoir lu ce tutoriel expliquant comment trouver et supprimer les fichiers dans Linux. Continuez à nous suivre pour des conseils plus professionnels.