find

comando común en sistemas Unix

find es un comando común en sistemas Unix que se utiliza para encontrar archivos en un determinado directorio a partir de diversas reglas de búsqueda, tales como nombre exacto de archivo, fecha de creación, tamaño, permisos, etc. llegando a ser muy flexible y una de las herramientas más útiles en la administración de sistemas cuando se sabe utilizar.

En los sistemas GNU/Linux forma parte del paquete findutils.

Utilización de find

editar

Si find devuelve el valor 0 significa que la búsqueda ha terminado de manera satisfactoria y puede continuar si corresponde con la ejecución de alguna acción sobre el resultado, en caso de error devuelve un valor mayor que 0.

Si no se especifica ningún directorio de búsqueda, find asume el directorio actual.

Buscar archivos y mostrar sus nombres

editar

Para buscar todos los archivos dentro de un directorio con extensión .[1]

find /home/usuario -name "*.txt"

Para encontrar un archivo en todo el sistema, se debe buscarlo desde la carpeta raíz /

find / -name nombre_de_archivo

Buscar archivos por nombre de usuario

editar

Para buscar un archivo por nombre de usuario:

find / -user nombreusuario

Esto mostrará todos los archivos del usuario a partir de la carpeta raíz / y todas sus subcarpetas.

Buscar archivos por tamaño de fichero

editar

Para buscar archivos vacíos (el . indica el directorio en el que nos encontramos):

find . -size 0c

Para buscar archivos de un tamaño en kilobytes:

find . -size 54k

Buscar por expresiones regulares

editar

El comando find permite la búsqueda utilizando expresiones regulares. Esto le da una potencia considerable. Por ejemplo si deseamos buscar archivos del tipo archivo01_01.txt, archivo02_03.txt, etc:

find . -regex './archivo0[1-2]_0[1-3].*'

Es válido el uso de expresiones regulares:[2]

find / -name "[0-9]*"     (todo lo que empiece con un dígito)
find / -name "[Bb]*"      (todo lo que empiece con un la letra B o b)
find / -name "[a-m]*.mp3" (todo lo que empiece entre a y m y termine en ".mp3")

Búsqueda por tamaño

editar

Las unidades de tamaño son:[3]

  • c – bytes
  • k – kilobytes
  • M – megabytes
  • G – gigabytes
  • b – trozos de 512 bytes

Para buscar archivos de un tamaño determinado, por ejemplo que tengan 20 Megabytes:

find / -size 20M

Para buscar archivos que tengan más de 5 Megabytes:

find / -size +5M

Véase también

editar

Enlaces externos

editar

Referencias

editar
  1. «Buscar archivos en Linux». WebTutoriales. Archivado desde el original el 26 de enero de 2021. Consultado el 3 de febrero de 2021. 
  2. González D,, Sergio. «Encuentra cualquier cosa en Linux con find». LINUXTOTAL.com.mx. Consultado el 3 de febrero de 2021. 
  3. «Cómo usar los comandos Find y Locate en Linux:». HOSTINGER TUTORIALES. 23 de diciembre de 2020. Consultado el 3 de febrero de 2021.