Buscar ficheros

En GNU/Linux, tenemos una serie de herramientas que nos permiten encontrar ficheros de una manera más o menos rápida. El comando más versátil para este propósito es find, aunque depende de lo que busquemos y de nuestra configuración puede que no sea tan rápido como otros comandos.

Buscando ficheros con find

La sintaxis básica es: find <ruta> <expresión>, aunque suele usarse en esta forma: find <ruta> -name <patron>. Por ejemplo, para buscar en todo el sistema un fichero que su nombre contenga la expresión docpodriamos hacer:

$ find / -name "*doc*"

Con esto encontrariamos en todo el sistema los ficheros cuyo nombre contengan la expresion doc. Pero nos sacaria por pantalla muchos errores, sobretodo proque habrá muchos directorios en los que no podremos entrar porque no tendremos permiso. Podemos evitar que nos informe de esto y limpiar la salida, redirigiendo la salida de error. Simplemente añadiriamos esto al final del comando: 2>/dev/null (ver capítulo redirecciones).

Buscando ficheros con locate

locate es una herramienta que busca los ficheros en una base de datos que contiene información de las aplicaciones instaladas, etc. Para crear o actualizar esta base de datos, utilizaremos el comando: updatedb(deberemos ser root).

Una vez tengamos actualizada la base de datos (es necesario hacerlo antes de un locate o despues de instalar algo en el sistema, para tener la base de datos actualizada completamente) podremos utilizar el comando: locate <patron>. Siguiendo con el ejemplo anterior nos quedaria asi.

$ su
# updatedb
# locate doc

Buscando programas con which

Si lo que queremos buscar son programas, lo más probable es que se encuentren en algún directorio de nuestro PATH. PATH es una variable de entorno que contiene los directorios donde el shell (intérprete de comandos) buscará los programas (y comandos) cuando los queramos ejecutar.

Pues bien, si queremos buscar un programa que creemos que está en el PATH, en vez de usar find o locate, que nos tardarán más, podemos usar: which <programa>. Así, por ejemplo, podríamos querer saber donde está instalado el comando ssh; haríamos esto:

# which ssh

Y nos diria el directorio donde se encuentra el programa, o bien nos informaria de que el programa no se encuentra en el PATH.

Buscando programas con whereis

Este comando busca archivos ejecutables, páginas del manual y el directorio poniendo la ruta donde se encuentre.
Su uso es igual que whichwhereis <programa>

$ whereis ssh
$ ssh: /usr/bin/ssh /usr/share/man/man1/ssh.1.gz

Tutorial elaborado por Nacx para ADSLAyuda.com

Este sitio web utiliza cookies para mejorar su experiencia. Asumiremos que estás de acuerdo, pero puedes optar por no seguir si lo deseas. Aceptar Leer más