Logo

Mi Blog con Emacs y Esteroides

Emacs, IA y Linux: Poder y Simplicidad en tu Flujo de Trabajo

mybloggingnotes@gmail.com


15/03/2025

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

  1. Pide el directorio: El script comienza solicitando al usuario que introduzca la ruta del directorio que desea limpiar.
  2. Verifica el directorio: Se verifica si el directorio existe. Si no existe, el script termina con un mensaje de error.
  3. 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`.
  4. 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`.
  5. Mensaje de finalización: Al terminar, el script muestra un mensaje indicando que la limpieza ha sido completada.

Cómo Usar el Script

  1. Copia el script en un archivo, por ejemplo, `cleanemptyfiles.sh`.
  2. Haz que el script sea ejecutable: ```bash chmod +x cleanemptyfiles.sh
Categoría: linux script bash bytes deepseek tutoriales

Suscribirse al Feed RSS | Mapa del Sitio

© 2025 M.Castillo | Hecho con ❤️ en Emacs y org-static-blog

Visit counter For Websites