Accueil > Base de connaissances > Administration Systeme Linux > Supprimer le contenu d'un dossier contenant des milliers de fichiers (aka /bin/rm: Argument list too long.)


Supprimer le contenu d'un dossier contenant des milliers de fichiers (aka /bin/rm: Argument list too long.)




Il arrive parfois qu'un dossier soit remplit de milliers de fichiers, souvent suite a des problèmes de spam ou de cache qui ont mal tourné.
Le problème de ces milliers de fichiers, outre la place consommée sur le disque est qu'ils consomment des inodes et ralentissent considérablement les taches de backup.

Il est donc bon de vouloir les supprimer, la commande rm -rf * fait souvent l'affaire.
Sauf si vous avez vraiment beaucoup beaucoup de fichiers.. dans ce cas la commande vous retourne :
/bin/rm: Argument list too long.


Afin de contourner ce problème il vaut mieux utiliser la commande find et son option delete.

La comande suivante va effacer tous les fichiers d'un dossier, un par un et vous les afficher à l'écran :

# find . -type f -print -delete


L'autre alternative qui est plus radicale et rapide mais ne donne pas de rapport sur ce qui a été supprimé est l'éxécution de ce script :

# time perl -e 'for(<*>){((stat)[9]<(unlink))}'
Ccommande à exécuter dans le dossier ou on veut supprimer les fichiers !!
Par contre elle n'affecte pas les sous dossiers.

 



Cette réponse était-elle pertinente?

Ajouter aux favoris Ajouter aux favoris    Imprimer cet article Imprimer cet article

Consultez aussi