Find
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
- Operadores lógicos (
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 () \;