Comando find en Linux

¿Cómo usar el comando find en la terminal de Linux?

Escrito por domin el 23/03/2025

🔍🐧 El comando find en Linux

El comando find de Linux es una herramienta muy útil para buscar archivos y directorios en el sistema de archivos.

En este artículo vamos a ver como usarlo y también hay algunos ejercicios prácticos para prácticar con esta herramienta.

Sintaxis básica del comando find

La sintaxis general del comando find es la siguiente:

find [ruta] [expresión]

Donde:

Opciones comunes

Algunas de las opciones más utilizadas del comando find son:

Ejemplos de uso

  1. Buscar todos los archivos con extensión .txt en el directorio actual y sus subdirectorios:

    find . -name "*.txt"
  2. Buscar directorios vacíos:

    find . -type d -empty
  3. Buscar archivos modificados en los últimos 7 días:

    find . -type f -mtime -7
  4. Buscar archivos mayores de 100MB:

    find . -type f -size +100M

Ejercicios prácticos

Para practicar el uso del comando find, realiza los siguientes ejercicios:

  1. Encuentra todos los archivos con extensión .log en el directorio /var/log y sus subdirectorios.

  2. Busca todos los archivos ejecutables (permisos 755) en tu directorio home.

  3. Encuentra todos los archivos modificados en las últimas 24 horas en el directorio /tmp.

  4. Busca todos los archivos de más de 50MB en el sistema y muestra su tamaño en formato legible.

  5. Encuentra todos los archivos vacíos en tu directorio de documentos y elimínalos.

Soluciones:

  1. find /var/log -name "*.log" 
  2. find ~ -type f -perm 755
  3. find /tmp -type f -mtime -1
  4. find / -type f -size +50M -exec ls -lh {} \;
  5. find ~/Documents -type f -empty -delete

Practicar estos ejercicios te ayudará a familiarizarte con el comando find y sus diversas opciones. Recuerda siempre consultar la página del manual (man find) para obtener información detallada sobre todas las opciones disponibles.

Usos de find útiles.

Encuentra todos los ficheros del sistema con tamaño superior a 600MB

find / -type f -size +600M 2>/dev/null

Encontrar archivos con permisos inseguros:

find /var/www -type f -perm -o=w

Encontrar ficheros con extensión .log con más de 30 días de antiguedad:

find /var/log -type f -name "*.log" -mtime +30 -exec rm -f {} \;

Fuentes: