J'ai des répertoires du système de fichiers Ubuntu dans le répertoire racine et j'ai accidentellement copié des centaines de fichiers dans le répertoire racine.
J'ai intuitivement essayé de supprimer les fichiers copiés en excluant le système de fichiers comme
rm -rf !{bin,sbin,usr,opt,lib,var,etc,srv,libx32,lib64,run,boot,proc,sys,dev} ./.
mais ça marche pas. Quelle est la bonne façon d'exclure certains répertoires tout en supprimant l'ensemble ?
EDIT :N'essayez jamais l'une des commandes ici sans savoir quoi faire !
Réponse acceptée :
Puisque vous utilisez bash
:
shopt -s extglob
echo rm -rf ./!(bin|sbin|usr|...)
Je recommande d'ajouter echo
au début de la ligne de commande lorsque vous exécutez quelque chose qui peut potentiellement faire exploser tout le système. Supprimez-le si vous êtes satisfait du résultat.
Remarque :La commande ci-dessus ne supprimera pas les fichiers cachés (ceux dont le nom commence par un point). Si vous souhaitez également les supprimer, activez également dotglob
choix :
shopt -s dotglob