rm linux, Como borrar directorios en linux ✓ rm -rf fácil y rápido

Borrar-directorios-en-linux

Tabla de contenidos

Borrar carpeta que contiene archivos y subdirectorios de forma recursiva:

sudo rm -rf /directorio

Comando rm en linux para borrar tanto archivos como carpetas.

Opción r significa de forma recursiva, es decir bajando por todos los subdirectorios existentes.

Opción f significa sin pedir sin solicitar confirmación de cada elemento a eliminar.

Eliminar directorios vacios con rmdir:

 

Rmdir es un comando que únicamente puede eliminar directorios vacíos:

rmdir /directorio

En caso que el directorio no esté vacío, no borrará nada:

rmdir: fallo al borrar «./directorio»: El directorio no está vacío

Problema Eliminar directorios con muchos archivos: argument list too long

 

En ocasiones, nos encontramos con  directorios con una cantidad muy elevada de archivos, y entonces recibimos el mensaje de que no se puede borrar mediante rm -rf. El mensaje que recibimos es

bash: /bin/rm: Argument list too long

La solución es usar el comando find en el directorio con demasiados archivos:

find /directorioconmuchosarchivos -type f -delete
find /directorioconmuchosarchivos -type f -exec rm {} \;

Problema Eliminar directorios elevada carga CPU en servidores de producción

 

En ocasiones tenemos servidores en producción en los que hay que borrar directorios con muchísimos pequeños archivos de caché y ésto puede suponer una sobrecarga excesiva que comprometa el correcto funcionamiento de la carga de páginas web o funcionamiento mysql. En ese caso, podemos usar un pequeño script para que borre poco a poco los archivos, y así la carga de cpu de nuestra máquina no se vea comprometida:

Script borrar muchos archivos sin sobrecargar la cpu:

for directory in $(find /var/web/shared/cache/borrar/ -maxdepth 1 -type d); 
do
nice -n 19 ionice -c3 find $directory* -delete -exec sh -c 'sleep 1' {} \; &
done