Find

De La Wiki de KiVi

Introducción

  • Definición: Explica de forma sencilla qué es find y para qué se utiliza.
  • Sintaxis básica: Presenta la estructura general del comando con ejemplos simples.

Opciones más comunes

  • Buscar por nombre:
    • Nombres exactos
    • Patrones con comodines (*, ?)
    • Expresiones regulares
  • Buscar por tipo de archivo:
    • Ficheros regulares
    • Directorios
    • Enlaces simbólicos
    • Otros tipos
  • Buscar por tamaño:
    • Mayor que
    • Menor que
    • Igual a
  • Buscar por fecha:
    • Modificación
    • Acceso
  • Buscar por permisos:
    • Lectura, escritura, ejecución
  • Buscar por propietario y grupo:
  • Combinar opciones:
    • Operadores lógicos (-and, -or, -not)
    • Paréntesis para agrupar expresiones

Acciones sobre los archivos encontrados

  • Imprimir nombres:
  • Ejecutar comandos:
  • Eliminar archivos: (¡Con mucha precaución!)

Ejemplos prácticos

Buscar todos los archivos PDF en un directorio:

find /home/user/ -name "*.pdf"

Buscar ficheros por nombre en el directorio documentos del usuario:

find /home/user/documents -name "example.txt"

Buscar por extensión:

find /var/log -name "*.log"

Buscar todos los archivos modificados en las últimas 24 horas o un dia:

find /home/user -mtime -1

Buscado de ficheros modificados en los últimos 60 minutos:

find /srv/exports -mmin -60

Buscado de todos los ficheros menos los que tienen extensión "*.txt"

find /home/user -not -name "*.txt"

Buscar todos los ficheros entre un rango de peso, por ejemplo, entre 50 y 100M:

find /home/user/Download -size +50M -size 100M

Búsqueda de todos los ficheros ocultos:

find /home/user -name ".*"

Buscar archivos mayores a 10MB y eliminarlos:

find /ruta/al/directorio -size +10M -delete

Buscar ficheros que pertenecen a un usuario:

find /home -user username

Buscar ficheros con permisos 0644:

fins /etc -perm 0644

Buscar archivos ocultos y ejecutar un comando sobre ellos:

find /ruta/al/directorio -name ".*" -exec ls -l {} \;

Buscar ficheros o directorios y ejecutar, pro ejemplo borrado de los ficheros sin ningún contenido:

find /home/user/Download -type f -empty -exec rm () \;