Curso Linux

Tema 4 – Búsqueda de archivos

Bienvenido de nuevo, Linuxeros!

Los principiantes en Linux, normalmente, tienen problemas para encontrar archivos y programas, debido a la diferencia en la estructura de los directorios en comparación con Windows o MacOS. Los principiantes suelen frustrarse intentando encontrar el archivo o binario necesario, por lo que vamos a dedicar este tema a ver como podemos localizarlos.

Encontrando archivos en un directorio (FIND)

El primer comando que vamos a ver es find. Como habrás supuesto, find nos permite buscar en un directorio el archivo que estamos buscando. Por defecto es recursivo, lo que indica que buscara en todos los subdirectorios y nos mostrará un listado con los lugares donde se encontró el archivo. Por ejemplo, si queremos ver dónde se encuentra firefox:

# find -name firefox

Fíjate que tenemos que indicarle a Linux que queremos buscar por el nombre (-name) y luego indicar el nombre del archivo que queremos buscar.

Esto nos devolverá la ruta completa a todos los lugares donde se encontró firefox. Podemos ser más específicos e indicarle a Linux que sólo nos diga dónde se encuentra firefox en el directorio /etc. Podemos hacer esto tecleando lo siguiente:

# find /etc/ -name firefox

Esta sentencia dice, «mira en el directorio etc y todos sus subdirectorios y dime dónde has encontrado algo llamado firefox».

Ahora Linux solo devolverá las rutas hacia archivos que se encuentran en el directorio /etc o sus subdirectorios, como /etc/apport/blacklist.d/firefox y demás.

Buscando archivos en la ruta de variables «path variables» (WHICH)

El siguiente comando de búsqueda que veremos es which. Este comando nos permite buscar binarios que se encuentran en nuestra ruta de variables. Mmm… siempre he pensado que esto suena un montón de feo, así que vamos a darle un poco de sentido al asunto.

Los binarios son esos archivos que equivaldrían a los ejecutables en Windows. Estos son pequeños programas (archivos) como por ejemplo echo, ls, cd, mv, etc. Nuestra ruta de variables es la variable que guarda la ruta al directorio de nuestros binarios. Normalmente nuestros binarios se encontrarán en el directorio /bin (bin es el diminutivo de binarios) o en /sbin como podemos ver en nuestra ruta de variables. Podemos ver como esta configurada nuestra ruta indicándole a Linux que muestre (echo) el valor de la variable, para ello teclearemos lo siguiente:

# echo $PATH

Linux responderá con el valor de nuestra ruta de variables. Esos serán los lugares donde which buscará los binarios. Por lo que cuando tecleemos:

# which ls

Si buscásemos algún binario que su ruta no se encuentre en la ruta de variables no lo podrá encontrar.

Búscar cualquier archivo en cualquier directorio (WHEREIS)

A diferencia de which, whereis no se limita a buscar binarios en nuestra ruta. Puede localizar archivos en cualquier directorio y, además, también encontrar los archivos del manual (man).

# whereis firefox

Como podemos ver whereis nos devuelve múltiples rutas de firefox incluyendo los manuales man.

Búscando archivos usando la Base de Datos (LOCATE)

El comando locate puede usarse también para buscar archivos y normalmente es mucho más rápido que which o whereis. La diferencia es que locate usa una base de datos con todos los archivos del sistema y las búsquedas son mucho más rápidas.

El problema de locate es que los archivos nuevos NO podrán ser encontrados ya que la base de datos se actualiza normalmente una vez al día durante la noche, cuando la actividad del sistema es baja, ya que la actualización de la base de datos puede consumir bastantes recursos de nuestra CPU.

# locate firefox

Como puedes ver en la captura superior, locate nos devuelve una ruta cada vez que encuentra cualquier archivo con firefox en él, binario o no.

Ojalá esto os ayude a encontrar todo lo que necesitáis en Linux. Asegúrate de haber visto las partes anteriores de este curso (1, 2 y 3), y si tienes cualquier pregunta puedes hacerla en los comentarios de abajo.

¡Nos vemos pronto con más tutoriales sobre Linux!

Estándar

Deja un comentario