Pasar al contenido principal

Comando find en Linux

Categorías

El comando find sirve para buscar archivos en sistemas de directorios del sistema operativo Linux. La búsqueda la realiza de forma recursiva por medio del ingreso de opciones. Los resultados pueden tener varios procesos al momento de ser visualizados.
 
Estructura del comando find: 
 
find [ruta] [criterios] [opciones]
 
Ejemplo:

[[email protected] linux]$ find
.
./documentacion
./documentacion/programacion
./documentacion/programacion/lenguajes
./documentacion/programacion/lenguajes/servidor
./desarrollo

Con solo ejecutar el comando find en consola o bash por ser recursivo muestra todos los directorios con archivos dentro del origen de la búsqueda. La visualización es relativa.

Criterios de búsqueda en find

Los criterios de búsqueda son formas y reglas para filtrar los resultados obtenidos. Hablemos sobre algunos que sirven al momento de trabajar con el sistema de directorios.

-name

El criterio -name permite buscar archivos y directorios por nombre. En la composición se puede utilizar comodines para afinar los resultados.

El siguiente ejemplo busca en todos los directorios internos un archivo por nombre de extensión txt:

[[email protected] linux]$ find -name "name_server.txt"
./documentacion/programacion/lenguajes/servidor/name_server.txt
[[email protected] linux]$ 

Búsqueda por criterio de nombre utilizando comodines. Muestra todos los archivos de extensión txt en los diferentes directorios.

[[email protected] linux]$ find -name "*.txt"
./documentacion/programacion/lenguajes/servidor/name_server.txt
./desarrollo/algoritmos.txt
[[email protected] linux]$ 

-type

El criterio type en find permite hacer búsquedas por tipos de archivo.

Tabla de modificadores type:

Modificadores type
Código Tipo de archivo
B Archivo especial en modo bloque
C Archivo especial en modo caracter
D Directorio
F Archivo ordinario
L vinculo simbólico
P Tubería con nombre(pipe)
S Socket(Conexión de red)
[[email protected] linux]$ find ./ -name "se*" -type d -print
./documentacion/programacion/lenguajes/servidor
[[email protected] linux]$ 

El comando interior desde el directorio actual("./") pasado un criterio -name buscará un archivo que comience  por "se" y sea de tipo directorio(d). Se puede utilizar el criterio -print para mostrar el resultado pero no es necesario.

-user y -group

permiten una búsqueda sobre el propietario y el grupo de pertenencia de los archivos. Es posible precisar el nombre (usuario, grupo) o la ID (UID, GID). El ejemplo siguiente busca todos los archivos ordinarios que pertenecen a seb y al grupo users

[[email protected] linux]$ find ./ -type d -user jrodriguez -group jrodriguez -print 
./
./documentacion
./documentacion/programacion
./documentacion/programacion/lenguajes
./documentacion/programacion/lenguajes/servidor
./desarrollo
[[email protected] linux]$ 

Se realizará la consulta en todos los archivos de tipo directorio de grupo y usuario "jrodriguez"


 

Enviado por John el Vie, 30/06/2017 - 17:12