find . | grep -v "excluded files criteria" | xargs rm
Cela listera tous les fichiers du répertoire courant, puis listera tous ceux qui ne correspondent pas à vos critères (attention à ce qu'ils correspondent aux noms de répertoires) puis les supprimera.
Mise à jour : en fonction de votre modification, si vous voulez vraiment tout supprimer du répertoire actuel, à l'exception des fichiers que vous avez répertoriés, cela peut être utilisé:
mkdir /tmp_backup && mv textfile.txt backup.tar.gz script.php database.sql info.txt /tmp_backup/ && rm -r && mv /tmp_backup/* . && rmdir /tmp_backup
Il va créer un répertoire de sauvegarde /tmp_backup
(vous avez les privilèges root, non?), Déplacer les fichiers que vous avez listés dans ce répertoire, supprimer récursivement tout dans le répertoire courant (vous savez que vous êtes dans le bon répertoire, n'est-ce pas?), Déplacer revenir au répertoire actuel tout de /tmp_backup
et enfin, supprimer /tmp_backup
.
Je choisis que le répertoire de sauvegarde soit en root, car si vous essayez de tout supprimer récursivement de root, votre système aura de gros problèmes.
Il existe certainement des façons plus élégantes de le faire, mais celui-ci est assez simple.