Comandos Esenciales de find en Linux para Gestión de Archivos y Directorios

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 7,47 KB

Comandos Esenciales de find en Linux para la Gestión de Archivos y Directorios

Este documento presenta una serie de comandos prácticos utilizando la utilidad find en sistemas Linux, cubriendo desde la creación y copia de archivos hasta búsquedas avanzadas por nombre, permisos, fechas y tamaños, así como acciones de modificación y eliminación.

  1. Creación de Archivos

    Crea el fichero vacío llamado respaldo.txt en tu directorio personal (home).

    touch respaldo.txt
  2. Copia de Archivos

    Copia el fichero anterior (respaldo.txt) en dos nuevos archivos: uno llamado respaldo.php y otro llamado RESPALDO.txt.

    cp respaldo.txt respaldo.php RESPALDO.txt
  3. Búsqueda de Archivos por Nombre

    Busca todos los archivos cuyo nombre sea respaldo.txt en el directorio de trabajo actual.

    find . -type f -name "respaldo.txt"
  4. Busca todos los archivos bajo el directorio /home con el nombre respaldo.txt.

    find /home/ -type f -name "respaldo.txt"
  5. Busca todos los archivos cuyo nombre sea respaldo.txt, ignorando mayúsculas y minúsculas, en el directorio /home.

    sudo find /home/ -iname "respaldo.txt"
  6. Búsqueda de Directorios

    Busca todos los directorios cuyo nombre empiece por dir en el directorio raíz (/).

    sudo find / -type d -name "dir*"
  7. Búsqueda de Archivos por Extensión

    Busca todos los archivos PHP (.php) en el directorio de trabajo actual.

    find . -type f -name "*.php"
  8. Busca todos los archivos PHP en el directorio /home.

    sudo find /home/ -type f -name "*.php"
  9. Búsqueda de Archivos por Permisos

    Busca todos los archivos con permisos exactos 777.

    sudo find / -type f -perm 777
  10. Busca todos los archivos que no tienen permisos 777.

    sudo find / -type f -not -perm 777
  11. Busca todos los archivos con el bit SGID (Set Group ID) establecido y permisos 644.

    sudo find / -type f -perm 2644
  12. Busca todos los archivos con el bit Sticky establecido y permisos 551.

    sudo find / -type f -perm 1551
  13. Búsqueda de Archivos por Propietario

    Busca todos los archivos que pertenecen al usuario usuario (reemplaza usuario por el nombre de usuario real).

    sudo find / -type f -user usuario
  14. Busca todos los archivos de solo lectura.

    sudo find / -type f -perm /u=r,g=r,o=r ! -perm /u=w,g=w,o=w

    Nota: El comando original find / -type f ".*" busca archivos que empiezan con un punto, no archivos de solo lectura. El comando corregido busca archivos que tienen permiso de lectura para todos y no tienen permiso de escritura para nadie.

  15. Busca todos los archivos ejecutables.

    sudo find / -type f -executable

    Nota: El comando original find / -type f -name ".sh" busca archivos llamados exactamente .sh, no todos los archivos ejecutables ni todos los scripts de shell (que serían *.sh). El comando corregido busca cualquier archivo que tenga el bit de ejecución establecido.

  16. Acciones sobre Archivos Encontrados

    Busca todos los archivos con permisos 777 y utiliza el comando chmod para establecer sus permisos a 644.

    sudo find / -type f -perm 777 -exec chmod 644 {} \;
  17. Busca todos los directorios con permisos 777 y utiliza el comando chmod para establecer sus permisos a 755.

    sudo find / -type d -perm 777 -exec chmod 755 {} \;
  18. Eliminación de Archivos

    Busca los archivos llamados respaldo.txt y elimínalos.

    sudo find / -type f -name "respaldo.txt" -exec rm {} \;
  19. Busca los ficheros con extensión .txt en tu directorio personal (/home/usuario/) y elimínalos.

    sudo find /home/usuario/ -type f -name "*.txt" -exec rm {} \;
  20. Busca los archivos vacíos que hay en tu directorio personal (/home/usuario/) y elimínalos.

    sudo find /home/usuario/ -type f -empty -exec rm {} \;
  21. Busca todos los directorios vacíos que hay en el sistema de archivos (desde la raíz /).

    sudo find / -type d -empty
  22. Búsqueda de Archivos por Fecha y Hora

    Busca los archivos que se modificaron exactamente hace 50 días.

    sudo find / -type f -mtime 50
  23. Busca los archivos a los que se accedió exactamente hace 50 días.

    sudo find / -type f -atime 50
  24. Busca todos los archivos que se modificaron hace más de 50 días y menos de 100 días.

    sudo find / -type f -mtime +50 -mtime -100
  25. Busca todos los archivos cuyos metadatos (estado) se cambiaron en la última hora (menos de 60 minutos).

    sudo find / -type f -cmin -60
  26. Busca todos los archivos que se modificaron (contenido) en la última hora (menos de 60 minutos).

    sudo find / -type f -mmin -60
  27. Busca todos los archivos a los que se accedió en la última hora (menos de 60 minutos).

    sudo find / -type f -amin -60
  28. Búsqueda de Archivos por Tamaño

    Busca todos los archivos con un tamaño exacto de 50 MB.

    sudo find / -type f -size 50M
  29. Busca todos los archivos que son mayores a 50 MB y menores a 100 MB.

    sudo find / -type f -size +50M -size -100M
  30. Busca todos los archivos de 100 MB y elimínalos utilizando un solo comando.

    sudo find / -type f -size 100M -exec rm {} \;
  31. Busca todos los archivos .mp3 con un tamaño superior a 10 MB y elimínalos utilizando un solo comando.

    sudo find / -type f -name "*.mp3" -size +10M -exec rm {} \;

Entradas relacionadas: