La suppression du répertoire devrait fonctionner. Vous pourriez rencontrer des problèmes si vous essayez de supprimer des fichiers individuels car il y en a tellement. Vous n'utilisez pas rm -rf dirname/*
êtes-vous ?
Je suppose que vous perdez la connexion ssh à cause de l'inactivité, êtes-vous sûr que la commande n'a pas été exécutée correctement sur le serveur ?
Dans tous les cas, une solution de contournement possible serait d'utiliser nohup :
nohup rm -rf dirname
Vous pouvez lancer la commande et vous déconnecter, elle continuera en arrière-plan.
MISE À JOUR :
J'ai trouvé cette question sur U&L.SE, je vous recommande d'y jeter un coup d'œil. Malheureusement, je ne peux pas recréer votre problème. J'ai créé un répertoire avec 2516007 fichiers et je pourrais toujours le supprimer en utilisant rm -rf
:
$ mkdir ha
$ for X in $(seq 1 10000);do touch {1..10000}_$X; done
$ ls -f ha | wc -l
2516007 <= I stopped before the for loop finished, but this should be enough
$ time rm -rf ha/
real 23m11.695s
user 0m3.540s
sys 0m42.891s
Ainsi, il a fallu 20 minutes pour supprimer environ 2 millions de fichiers vides. Il semble raisonnable que cela puisse prendre des heures pour supprimer une énorme quantité de fichiers non vides.
Quoi qu'il en soit, certaines des suggestions de la question U&L devraient aider. Plus précisément celui-ci :
find /delb -type f --delete
ou celui-ci (légèrement modifié par rapport à l'original)
find /delb -type f -print0 | xargs -0r rm -f
Enfin, une astuce que vous pourriez faire est de supprimer quelques fichiers à la fois. Si vous savez que certains noms de fichiers commencent par la chaîne "foo", d'autres par "bar", etc., procédez comme suit :
rm -rf /delb/foo*
rm -rf /delb/bar*
etc. Vous pouvez également essayer quelque chose comme ceci :
for n in {a..z}; do rm -rf /delb/$n*; done
for n in {A..Z}; do rm -rf /delb/$n*; done
for n in {0..9}; do rm -rf /delb/$n*; done
Cette dernière commande supprimera séquentiellement chaque nom de fichier commençant par chaque lettre de l'alphabet, puis tous les noms de fichiers commençant par des chiffres.