web-dev-qa-db-fra.com

Comment exécutez-vous une analyse à sec de rm pour voir quels fichiers seront supprimés?

Je veux voir quels fichiers seront supprimés lors de l'exécution d'un rm sous linux. La plupart des commandes semblent avoir une option de dry run pour afficher de telles informations, mais je n'arrive pas à trouver une telle option pour rm. Est-ce seulement possible?

91
Cory Klein

Dites que vous voulez courir:

rm *.txt

Vous pouvez simplement exécuter:

echo rm *.txt

ou même simplement:

echo *.txt

pour voir quels fichiers rm supprimeraient, car c'est le Shell qui étend le *.txt, pas rm.

La seule fois où cela ne vous aidera pas est pour rm -r.

Si vous souhaitez supprimer les fichiers et répertoires de manière récursive, vous pouvez utiliser find au lieu de rm -r, par exemple.

find . -name "*.txt" -print

puis s'il fait ce que vous voulez, changez le -print à -delete:

find . -name "*.txt" -delete
127
Mikel

Tu peux dire:

rm -i

pour l'exécuter en mode interactif, donc rm vous invitera à confirmer si chaque fichier doit être supprimé. Vous pouvez simplement répondre non à chaque fichier pour voir lesquels seront affectés.

17
Justin Ethier

Vous pouvez utiliser ls pour répertorier tous les fichiers qui seront supprimés par rm:

ls ../path/*.txt

Si vous devez répertorier pour afficher les fichiers qui seront supprimés avec un rm récursif, utilisez le -R drapeau avec ls:

ls -R ../path/*.txt
4
Veneet Reddy