Tip: 5 consejos para usar el comando GNU Find

8

Al momento de tener que realizar búsquedas de archivos en nuestro sistema operativo GNU/Linux, una de las mejores formas de realizarlo es a través de consola utilizando el comando Find. Este comando es útil cuando sabemos que tenemos un archivo guardado en alguna parte del disco, pero no recordamos bien donde, o como se llama, o su tamaño, o quien es el propietario, etc.

En los sistemas operativos basados en Unix, el comando Find es una utilidad muy potente y a su vez uno de los más útiles en lo que a línea de comandos respecta. A simple vista, su sintaxis puede aparentar un tanto difícil, pero con un poco de práctica podemos ser capaces de localizar cualquier archivo en el sistema sin inconveniente alguno.

Para facilitarnos el camino y para comenzar a utilizar el comando Find, la gente de Linux.com elaboró una lista con consejos útiles.

Uso básico

Comencemos con el uso básico de este comando. Si estamos buscando un archivo y conocemos su nombre, pero no donde esta guardado, tan solo deberemos tipear lo siguiente:

$ find -name nombre-del-archivo

El resultado será algo como lo siguiente:

$ find -name preview.jpg

./Descargas/preview.jpg

Es posible también que necesitemos buscar un archivo en un directorio específico:

$ find /home/Documentos nombre-del-archivo

Si queremos especificarle a Find que sólo busque archivos que esten situados en el directorio actual, utilizamos el caracter “.” en el comando:

$ find . -name nombre-del-archivo

Por otra parte, la opción -name difiere entre mayúsculas y minúsculas. Si queremos realizar búsquedas sin esta diferenciación, utilizamos la opción -iname:

$ find -iname nombre-del-archivo

Buscar archivos por tamaño

A veces, suele suceder que no tenemos el nombre del archivo, entonces es necesario utilizar otros parámetros de búsqueda. Por ejemplo, la búsqueda de archivos por tamaño. La opción para buscar por tamaño es -size, seguido por el tamaño que queremos buscar. Si queremos buscar archivos de 100k, debemos ejecutar lo siguiente:

$ find -size 100k

Este método lo utilizamos para encontrar archivos de un tamaño específico. Pero puede suceder que necesitemos buscar archivos de tamaños menores o mayores a 100k. Para ello utilizaremos los signos + o -.

$ find -size +100k

Este comando encontrará todos los archivos mayores a 100k.

$ find -size -100k

Este comando encontrará todos los archivos menores a 100k.

Encontrar archivos por usuario

Otra forma práctica de encontrar archivos, es por medio de su propietario. Es decir, buscar archivos por el usuario que lo creó. Supongamos que en primera instancia buscamos archivos huérfanos, para encontrarlos utilizamos lo siguiente:

$ find -nouser

Si necesitamos encontrar archivos que pertenecen a un usuario específico, utilizamos la opción -user o -uid. La opción -uid nos permite buscar archivos por número de usuario ID; y la opción -user permite buscar archivos por nombre de usuario o UID. Por ejemplo, si yo quisiera encontrar todos mis archivos en un directorio, utilizo el siguiente comando:

$ find -user ezequiel

O por número de usuario ID:

$ find -user 1000

ò

$ find -uid 1000

También es posible que necesitemos buscar un archivo que son de un usuario o de otro. A esto podemos realizarlo agregando la opción -o:

$ find -user root -o -user ezequiel

Esto encontrará todos los archivos que son propiedad de root o ezequiel. Pero puede ser también que necesitemos buscar archivos que no son de tal usuario, para ello agregamos la opción -not:

$ find -not -user ezequiel

Tambien podemos optar por buscar archivos que pertenecen a un usuario y que no son más grandes que un determinado tamaño:

$ find -user ezequiel -not -size +100k

Encontrar archivos por grupo

Otra forma de buscar archivos es por grupo, utilizando la opción -group. A esta opción debemos agregarle el nombre del grupo o el número de grupo ID (GID). La forma de buscarlo es la siguiente:

$ find -group nombre-del-grupo

Encontrar archivos por permisos

En algún momento es posible que necesitemos comprobar el sistema de archivos mediante la búsqueda de archivos que están con permisos de escritura o que tienen un permiso equivocado. Para realizar este tipo de búsquedas podemos utilizar las opciones: -readable, -writable y -executable. Estos parámetros buscarán si los archivos tienen permisos de lectura, escritura o de ejecución.

Otra opción es buscar archivos por permiso utilizando la opción -perm. Por ejemplo, si necesitamos encontrar archivos con un permiso específico:

$ find -name ‘*.txt’ -perm 644

O si necesitamos encontrar archivos con ciertos permisos:

$ find -perm -”permisos”

Cabe destacar que en todo momento podremos acceder al manual del comando Find tipeando en consola lo siguiente:

$ man find

Otros llegaron buscando:

Compartir

Comparte este post en redes sociales

Ezequiel

Suscríbete al feed

Si te gustó este post, no te olvides de suscribirte al feed RSS para que recibas las actualizaciones antes que nadie

únete a los 18571 seguidores

es gratis y toma menos de 2 minutos

8 Comentarios en este artículo

  1. césar  

    se ven muy eficientes los métodos, yo he estado usando “locate” para buscar archivos, conocen alguna diferencia entre los dos?

  2. nestux   twitter  

    Una de las principales diferencias entre find y locate es que este último no nos permite especificar directorio si no que busca en toda la ruta al fichero y no sólo en el nombre del fichero y además, si le pasamos un criterio de búsqueda sin wildcards, devolverá todos los nombres de fichero cuya ruta completa contenga ese criterio a diferencia de find que sólo devolvería los ficheros con ese nombre exacto.

    Saludos.

  3. Ezequiel  

    @nestux: excelente! gracias por el aporte!

  4. DrM!   twitter  

    Muy util! me voy a imprimir ésto como referencia. Muchas gracias

  5. Abraham  

    Hablando de la consola, ya podemos utilizar la consola para accesar aplicaciones de google! Muy interesante lo que podemos hacer con esto!

    http://code.google.com/p/googlecl/

  6. Ezequiel  

    @Abraham: muy buen dato! graciaas!

  7. nestux   twitter  

    @Ezequiel: Gracias a ti por el post, muy completo :).

  8. Excelente los consejos. Muchas gracias.

Deja un comentario

(*) (*)

Tu E-Mail no será visible públicamente
Los campos marcados como (*) son obligatorios

Otras personas llegaron buscando:

  • find buscar por usuario
  • buscar archivos con un tamaño espesifico linux
  • comando find encontrar un archivo
  • comando find archivos mas grandes
  • comando find

  • buscar ficheros mayores que un tamaño especifico linux
  • locate archivo especifico en linux
  • buscar archivos en un directorio con find
  • el comado tip
  • comando para obtener archivos mayores a un tamaño especifico
  • find en un directorio especifico

  • orden para buscar archivos segun permisos
  • comando find size
  • f
  • linux find encontrar un archivo especifico
  • buscar archivoc con find por usuario
  • linux find sin saber nombre exacto
  • opcion iname en el comando find
  • usar locate en directorio especifico
  • comando del sistema operativo mas comunes
  • seo forum