Si os habeis encontrado en vuestros servidores con un directorio con miles y miles de ficheros de logs y habeis intentado hacer un rm -f /directorio/* habreis podido comprobar que rm se queja indicando:
# rm *
-bash: /bin/rm: La lista de argumentos es demasiado larga
Es una limitación del sistema operativo y por tanto no se le pueden pasar a rm más de X atributos. La solución es una combinación de comandos entre find y rm de la siguiente forma:
Nombre de ficheros normales
find /directorio/a/borrar -type f -exec rm '{}' \;
Nombre de ficheros con espacios y otros caracteres extraños
find /ruta/al/directorio_spam -type -f -print0 | xargs -0n 100 rm
Si no quereis probar el comando directamente por miedo, podeis sustituir el comando del final “rm” por un “echo” y ver que es lo que borraría. Quedaría de la siguiente forma:
find /ruta/al/directorio_spam -type -f -print0 | xargs -0n 100 echo
Escrito por yeahmen 




