[Linux] Búsquedas por la terminal

Tarde o temprano vamos a tener la necesidad de buscar algo en la terminal, ya sean archivos, directorios, ejecutables, etc. Pues bien tenemos poderosas herramientas que por si solas o combinadas nos van a solucionar este menester

whereis

Con este buscamos la localización de algún binario, fuente o manual de un comando (el famoso man).

whereis bash

Para buscar los ficheros fuente

whereis -s bash

Para buscar los ficheros man

whereis -m bash

which

Si sólo queremos la localización de un ejecutable la mejor opción es usar which. Esto es porque este comando busca el ejecutable como argumento en los directorios listados en las variables de entorno del PATH (le dice a la shell y a otros programas en que directorios buscar los ficheros ejecutables).

which bash

type

Este comando lo anido aquí porque está muy relacionado con el anterior. Lo bueno de este, es que aparte de dar información acerca del comando buscado, nos muestra como es interpretado. Esto es que si tenemos un alias definido nos lo va a indicar.

type bash

locate

Con locate partimos de que tenga ya una indexación de los ficheros, esto es que antes de poder usarlo hemos de ejecutar

updatedb

Una vez haya terminado ya si podemos buscar cualquier fichero o directorio por el nombre (aunque también podemos hacer búsquedas por patrones)

locate myfile.md

find

Es el más conocido y tiene tropocientas opciones y combinaciones posibles, pero aquí nos vamos a quedar con lo más práctico. Su sintaxis básica es

find [options] [path...] [expression]

Buscar directorios o carpetas

find /home/linuxize -type d -name documents

Buscar ficheros por nombre

find /home/user -type f -name document.pdf

## Para buscar en el mismo directorio donde nos encontramos
find . -type f -name document.pdf

## Busquedas sin distincion de mayusculas y minusculas
find /home/user -type f -iname document.pdf

Buscar ficheros por extensión

find /home/user -type f -name '*.pdf'

## Lo contrario de lo anterior
find /home/user -type f -not -name '*.pdf'

Tenemos muchas más opciones como buscar recursivamente, por tamaño, fecha de modificación, permisos, usuario, etc.

fd

Se auto define como una alternativa simple, rápida, user-friendly… y tiene toda la razón, para buscar solo tenemos que hacer

fd document

ag o The Silver Searcher

Esta alternativa también es muy rápida y al igual que la anterior buscar es simplemente escribir lo siguiente

ag docu