Solo para visitantes de nuestro blog Obtenga 3 meses adicionales gratis + 10% de descuento en el plan trianual YSBLOG10
Agarra el trato

Buscar comandos en Linux con ejemplos reales en 2026

¿Alguna vez has abierto tu servidor Linux y has pensado, “¿Dónde fue a parar ese archivo?” Un minuto todo parece estar bien, y al minuto siguiente tu almacenamiento se está llenando, tus registros se están acumulando o tu carpeta de proyecto parece imposible de manejar. manage.

En momentos como estos, no quieres perder el tiempo haciendo clic en directorios, quieres una respuesta rápida y clara. Eso es exactamente lo que ofrece Comando find en Linux Te ofrece esta herramienta. Te ayuda a buscar archivos y carpetas utilizando filtros sencillos como nombre de archivo, tamaño, fecha de modificación, permisos y propietario.

En este artículo aprenderás sobre el mundo real. find Ejemplos que los administradores y desarrolladores utilizan a diario para solucionar problemas, limpiar archivos antiguos, comprobar riesgos de seguridad y mantener los servidores organizados sin confusiones ni conjeturas.


Cómo funciona el comando find en Linux

GNU find (común en Linux) Recorre los árboles de directorios y compara cada entrada con expresiones (predicados). Cuando encuentra un archivo que coincide, ejecuta una acción (como imprimir la ruta). Las expresiones se procesan de izquierda a derecha con lógica de cortocircuito, por lo que el orden es importante para el rendimiento y la corrección.

Sintaxis básica y selección de ruta

find [PATH...] [OPTIONS] [EXPRESSION] [ACTIONS]

Patrones comunes:

# Search current directory recursively
find . -name "*.log"

# Search multiple paths
find /var/www /home -type f -size +100M

# Limit depth
find /etc -maxdepth 1 -type f

Predicados y acciones

  • Predicados: -nombre, -tipo, -tamaño, -mtime, -usuario, -grupo, -permisos, -ruta, -expresión regular, -vacío, -enlaces, -inum, -más reciente
  • Operadores logicos: -y (implícito), -o (-o), -no (!), paréntesis ( ) para agrupar
  • Comportamiento: -print (predeterminado), -print0, -ls, -exec, -execdir, -ok, -delete, -printf (GNU)

Opciones de búsqueda más utilizadas (con ejemplos breves)

  • -nombre/-iname: Coincidencia por nombre de archivo (distinguiendo mayúsculas y minúsculas/sin distinguirlas)
  • -tipo: f (archivo), d (directorio), l (enlace simbólico), b/c (dispositivos), s (socket), p (FIFO)
  • -tamaño: Tamaño del archivo usando c (bytes), k, M, G con + (mayor que) o – (menor que)
  • -mtime/-mmin: Hora de última modificación (días/minutos). También -atime (acceso), -ctime (metadatos).
  • -usuario/-grupo: Filtrar por propietario o grupo
  • -permanente: Coincidencia de modos de permisos (exactos o máscaras)
  • -profundidad máxima/-profundidad mínima: Controlar la profundidad de recursión
  • -ruta/-ipath/-regex: Coincidir con la ruta completa (útil para directorios)
  • -ciruela pasa: Excluir directorios de forma eficiente
  • -print0 con xargs -0: Tubería segura para espacios y caracteres especiales
# Case-insensitive name match
find /var/www -iname "*.php"

# Only directories named cache
find . -type d -name "cache"

# Files larger than 500 MB
find / -type f -size +500M 2>/dev/null

# Modified in the last 15 minutes
find /var/log -type f -mmin -15

# Owned by nginx user
find /var/www -type f -user nginx

# World-writable files (security check)
find / -type f -perm -0002 2>/dev/null

# Limit recursion
find /etc -maxdepth 1 -type f

# Exclude node_modules directories
find . -type d -name node_modules -prune -o -type f -name "*.js" -print

# NUL-delimited safe piping
find . -type f -print0 | xargs -0 du -sh

Ejemplos prácticos para administradores y desarrolladores

1) Descubre qué está ocupando espacio en el disco

Permite visualizar rápidamente archivos grandes en las raíces web o directorios de inicio para evitar interrupciones causadas por discos llenos.

# Top offenders > 200MB, sorted by size
find /var/www -type f -size +200M -printf "%s %p\n" 2>/dev/null | sort -nr | head -20

En macOS/BSD find, -printf no está disponible. Use xargs + ls:

find /var/www -type f -size +200M -print0 2>/dev/null | xargs -0 ls -lhS | head -20

2) Limpiar registros y copias de seguridad antiguos

Automatice la retención para mantener el almacenamiento optimizado y evitar el aumento excesivo de copias de seguridad.

# Remove compressed logs older than 14 days (review with -print first!)
find /var/log -type f -name "*.gz" -mtime +14 -print
find /var/log -type f -name "*.gz" -mtime +14 -delete

O bien, moverlos a un directorio de archivo:

find /var/log -type f -name "*.log" -mtime +30 -exec mv -t /var/archive/logs {} +

3) Auditorías de seguridad: Permisos y archivos sospechosos

# World-writable files (risky on shared hosting)
find /home -xdev -type f -perm -0002 -print

# Setuid / setgid binaries (review carefully)
find / -xdev \( -perm -4000 -o -perm -2000 \) -type f -print 2>/dev/null

# PHP files modified in last day (possible webshells after a hack)
find /var/www -type f -name "*.php" -mtime -1 -print

Búsqueda de funciones codificadas utilizadas frecuentemente por malware (junto con grep):

find /var/www -type f -name "*.php" -exec grep -HniE "base64_decode|eval\(" {} \; 2>/dev/null

4) Implementaciones: Archivos modificados recientemente

Verifica qué cambió en una actualización de código o detecta archivos activos.

# Files changed in last 10 minutes
find /var/www/site -type f -mmin -10 -print

# Compare against a reference marker file
touch /tmp/deploy.marker
# ... deploy ...
find /var/www/site -type f -newer /tmp/deploy.marker -print

5) Excluir directorios pesados ​​o irrelevantes

Acelere las búsquedas eliminando las rutas de proveedores, caché y sistemas de control de versiones.

find . \
  -path "./node_modules" -prune -o \
  -path "./vendor" -prune -o \
  -path "./.git" -prune -o \
  -type f -name "*.js" -print
# Broken links
find /var/www -xtype l -print

# Remove them safely after review
find /var/www -xtype l -delete

7) Búsqueda por contenido (con grep)

# Only PHP files containing "DB_HOST"
find . -type f -name "*.php" -exec grep -Hn "DB_HOST" {} \;

# Faster with xargs; safe for spaces with -print0/-0
find . -type f -name "*.env" -print0 | xargs -0 grep -Hn "SECRET_KEY"

8) Preparar listas de archivos para la copia de seguridad o sincronización.

# Archive only images last modified this week
find /var/www/media -type f -mtime -7 \( -iname "*.jpg" -o -iname "*.png" \) -print0 | \
  tar --null -T - -czf recent-images.tgz

Eliminaciones seguras y mejores prácticas con -exec

  • Siempre pruebe con -imprimir antes de -eliminar o -ejecutar.
  • Usa -Aceptable para confirmación interactiva en rutas críticas.
  • Utilice -exec … {} + para operaciones por lotes (menos procesos generados).
  • Usa -print0 y xargs -0 para manejar espacios/saltos de línea de forma segura.
  • Cuando use -eliminar en directorios, combinar con -profundidad para evitar problemas de orden.
# Dry run
find /backups -type f -mtime +30 -print
# Delete after verification
find /backups -type f -mtime +30 -depth -delete

# Batch-remove .tmp files efficiently
find . -type f -name "*.tmp" -exec rm -f {} +

Consejos para el buen funcionamiento de árboles grandes

  • Empiece por la ruta más cercana (evite usar find / a menos que sea necesario).
  • Usa -maxdepth/-mindepth para reducir el coste de recorrido.
  • Elimine los directorios que generan ruido: node_modules, vendor, .git, cache, sessions.
  • Combine las comprobaciones de nombres simples antes de los predicados costosos (como -regex o -exec).
  • Utilice -mount para evitar acceder a otros sistemas de archivos (por ejemplo, /proc, /sys, NFS).
  • Para mayor velocidad, es preferible usar -name con globs en lugar de -regex.
  • Si la opción updatedb está habilitada, considere usar locate para búsquedas instantáneas de nombres de archivo. Para los desarrolladores, herramientas modernas como fd o ripgrep pueden complementar find para mayor velocidad.

Diferencias entre GNU find y BSD/macOS find

  • -printf es específico de GNU; En macOS, utilice -exec stat o xargs ls para formatear.
  • -regextype es GNU; BSD find admite diferentes expresiones regulares predeterminadas.
  • -El comportamiento y la seguridad de la eliminación pueden variar; pruebe primero con -imprimir.
  • En macOS, instala GNU find a través de Homebrew (findutils) como gfind para obtener todas las funciones de GNU.

Buscar comandos en flujos de trabajo de alojamiento y DevOps

En los servidores de producción, el comando find es fundamental para el mantenimiento rutinario: borrar registros antiguos, auditar permisos, encontrar cargas de usuario demasiado grandes o preparar copias de seguridad selectivas. En el alojamiento de WordPress, es invaluable para limpiar directorios de caché, localizar medios pesados ​​o detectar modificaciones recientes. PHP archivos tras una presunta vulneración.

# WordPress: clear cache older than 12 hours (various plugins)
find /var/www/site/wp-content/cache -type f -mmin +720 -delete

# Identify huge uploads
find /var/www/site/wp-content/uploads -type f -size +50M -print

Si prefieres no hacerlo manage estas tareas usted mismo, YouStable, manageplanes de alojamiento VPS y dedicado Incluimos asistencia experta para el endurecimiento de servidores, la monitorización proactiva y la gestión del almacenamiento. De esta forma, usted se centra en el lanzamiento de nuevas funcionalidades mientras nosotros nos encargamos de que su infraestructura Linux sea limpia, rápida y segura.


Solución de problemas y posibles inconvenientes

  • Citando Para evitar la expansión de shell, utilice entrecomillados los patrones en -name (use -name “*.log”, no -name *.log).
  • El orden importa: find evalúa de izquierda a derecha; coloque primero las pruebas baratas y use la agrupación con paréntesis.
  • Operadores: -o es OR, -a es AND (implícito). Use \( … \) y \! para NOT.
  • Espacios en los nombres: Siempre prefiera -print0 | xargs -0 o -exec … {} +.
  • -ruta vs -nombre: Utilice -path para la coincidencia basada en directorios (por ejemplo, “*/cache/*”).
  • Coincidencia de permisos: -perm 0644 es exacto; -perm -g+w significa "escribible por el grupo".
  • Sistemas de archivos cruzados: Utilice -xdev o -mount para evitar recorrer /proc, /sys o montajes de red.

Preguntas Frecuentes

1. ¿Cuál es la diferencia entre encontrar y localizar?

`find` escanea el sistema de archivos en tiempo real y admite filtros avanzados (tamaño, fecha, permisos). `locate` consulta una base de datos predefinida (`updatedb`) y devuelve los resultados al instante solo por nombre. Use `locate` para búsquedas rápidas por nombre de archivo; use `find` para búsquedas precisas, actualizadas al minuto y basadas en atributos.

# Exclude specific directories with -prune find . -path "./vendor" -prune -o -type f -print # Exclude multiple find . \( -path "./vendor" -o -path "./node_modules" -o -path "./.git" \) -prune -o -type f -print

3. ¿Cómo puedo buscar por fecha de modificación (posterior a X)?

# Modified in last 2 days find /var/www -type f -mtime -2 # Newer than a reference file find /var/www -type f -newer /path/to/reference.file

find . -type f -iname "*.jpg"
find . -type f -iname "readme.*"

5. ¿Cuál es la forma más segura de eliminar los archivos coincidentes?

Primero, ejecute sin eliminar y revise la salida (-print). Luego confirme con -ok si es necesario. Para la eliminación masiva, use -delete solo después de verificar las coincidencias, idealmente combinado con -depth. Ejemplo: find /path -type f -name “*.tmp” -print; luego find /path -type f -name “*.tmp” -delete.


Conclusión

El comando find en Linux es una habilidad fundamental para administradores y desarrolladores. Con filtros precisos y acciones seguras, puede localizar archivos, reforzar la seguridad y recuperarlos. espacio del discoy automatizar el mantenimiento con confianza.

Aplique los ejemplos anteriores a su entorno y considere YouStable, manageSi desea que expertos experimentados optimicen y protejan sus servidores, contrate un servicio de alojamiento web.

Compartir via:

Sanjeet Chauhan

Sanjeet Chauhan es bloguero y experto en SEO, dedicado a ayudar a los sitios web a crecer orgánicamente. Comparte estrategias prácticas, consejos prácticos y conocimientos para impulsar el tráfico, mejorar el posicionamiento y maximizar la presencia online.

Deja Tu Comentario

Su dirección de correo electrónico no será publicada. Las areas obligatorias están marcadas como requeridas *

Ir al Inicio