Cómo limpiar archivos y carpetas vacías en Linux con un script Bash
Introducción
¿Alguna vez te has encontrado con archivos o carpetas vacías en tu sistema que ocupan espacio innecesario? En este post, te mostraré cómo crear un script en Bash que te permita limpiar automáticamente todos los archivos y carpetas con 0 bytes desde ayer hacia atrás. Este script es ideal para mantener tu sistema organizado y liberar espacio en disco.
Requisitos
- Un sistema Linux (Ubuntu, Debian, Fedora, etc.).
- Conocimientos básicos de terminal y Bash.
- Permisos de escritura en el directorio que deseas limpiar.
El Script
A continuación, te presento el script en Bash que realiza la limpieza. Puedes copiarlo y pegarlo directamente en tu terminal o guardarlo en un archivo `.sh` para ejecutarlo más tarde.
#!/bin/bash # Pide al usuario que ingrese el directorio a limpiar read -p "Introduce la ruta del directorio que deseas limpiar: " DIRECTORIO # Verifica si el directorio existe if [ ! -d "$DIRECTORIO" ]; then echo "El directorio $DIRECTORIO no existe." exit 1 fi # Busca y elimina archivos vacíos (0 bytes) desde ayer hacia atrás find "$DIRECTORIO" -type f -size 0 -mtime +0 -exec rm -v {} \; # Busca y elimina carpetas vacías desde ayer hacia atrás find "$DIRECTORIO" -type d -empty -mtime +0 -exec rmdir -v {} \; echo "Limpieza completada. Archivos y carpetas vacías eliminados."
Explicación del Script
- Pide el directorio: El script comienza solicitando al usuario que introduzca la ruta del directorio que desea limpiar.
- Verifica el directorio: Se verifica si el directorio existe. Si no existe, el script termina con un mensaje de error.
- Busca archivos vacíos: Usa el comando `find` para buscar archivos con 0 bytes (`-size 0`) que hayan sido modificados hace más de un día (`-mtime +0`). Luego, los elimina con `rm`.
- Busca carpetas vacías: También usa `find` para buscar carpetas vacías (`-type d -empty`) que hayan sido modificadas hace más de un día (`-mtime +0`). Luego, las elimina con `rmdir`.
- Mensaje de finalización: Al terminar, el script muestra un mensaje indicando que la limpieza ha sido completada.
Cómo Usar el Script
- Copia el script en un archivo, por ejemplo, `cleanemptyfiles.sh`.
- Haz que el script sea ejecutable: ```bash chmod +x cleanemptyfiles.sh