Buscar archivos en GNU/Linux

Es muy probable que en alguna ocasión necesitemos encontrar un archivo en nuestro sistema que, sabemos que lo tenemos pero no recordamos en donde lo hemos ubicado. En GNU/Linux disponemos de diversos métodos de búsqueda tanto desde la terminal como desde el escritorio. Si utilizamos la terminal, bien porque nos encanta o bien porque trabajamos en un sistema sin entorno gráfico, disponemos del comando locate (muy rápido) y el comando find (muy potente).

 

El comando locate

Los resultados de este comando son instantáneos debido a que el Sistema ha creado una base de datos, conocida como índice, que indica en donde se localizan los archivos. Si queremos utilizar este comando con garantías debemos actualizar este índice. Esto es necesario ya que nosotros como usuarios instalamos/desinstalamos aplicaciones.

Para ello nos vamos a la terminal y tecleamos,

sudo updatedb

Ahora ya podemos utilizar el comando locate. Tecleando en la terminal,

locate  -i   nombre_archivo

Nos devuelve las rutas donde aparece al  archivo nombre_archivo. Con el parámetro  -i  indicamos que no distinga entre mayúsculas y minúsculas ya que el comando locate es “case sensitive”

Además podemos realizar una búsqueda indicando un texto existente dentro del archivo

locate   nombre_archivo | grep   estudio

Devolverá todos las localizaciones en nuestro sistema que contengan el nombre  nombre_archivo  y que además también contengan el texto  estudio  en su interior.

 

El comando find

Busca archivos dentro de una jerarquía de directorios. La sintaxis del comando es la siguiente:

find <donde comenzar la búsqueda>

De una forma práctica lo utilizaremos como sigue:

find [/directorio/subdirectorio] -name [nombrearchivo] [*.ext]  -user[nombreusuario] -size [nºk]

Los términos que se encuentran entre [] son parámetros de búsqueda que podemos utilizar combinados (por supuesto no escribiremos los símbolos [] a la hora de teclear el comando) es decir:

– Podemos indicar un directorio en el que buscar (si no ponemos nada estamos indicando que queremos que la búsqueda se lleve a cabo en el directorio actual, lo mismo que “.”,  si ponemos sólo / estamos indicando que la búsqueda se realice desde el directorio raíz).

– El nombre del archivo: podemos indicar el nombre completo, o una parte del mismo utilizando el ‘*’ como comodín.

– Extensión.

– Por nombre de usuario.

– Por tamaño de archivo: podemos indicar que busque archivos de un tamaño inferior (-), igual, o superior (+) al indicado como parámetro en kilobytes.

O bien podemos utilizar una combinación de ellos.

 

Algunos ejemplos:

Realiza una búsqueda de todos los archivos dentro del directorio /Documentos que tienen extensión .png

find  /Documentos  -name  *.png

Realiza una búsqueda del archivo nombre_archivo, comenzando desde el directorio raíz

find / -name nombre_archivo

El mismo que el anterior pero le indicamos sólo una parte del nombre del archivo

find / -name *parte_del_nombre_archivo*

Realiza una búsqueda de todos los archivos por nombre de usuario

find / – user greiscool

Para buscar archivos por tamaño

(busca archivos vacíos)

find  -size 0

(busca archivos de tamaño igual o mayor a 250 kilobytes)

find  -size +250k

Para buscar archivos por expresiones regulares. Por ejemplo si tenemos archivos del tipo foto19-09-2012_01.jpg, foto19-09-2012_02.jpg,… , foto19-09-2012_40.jpg, foto20-09-2012_01.jpg,…, foto21-09-2012_01.jpg

find  -regex ‘./foto[19-21]-09-2012_[0-4][1-9].jpg’

En cualquier momento podemos detener una orden de búsqueda pulsando Ctrl+C

NOTA.- Estas son sólo algunas opciones, podemos consultarlas todas en la ayuda tecleando en la terminal,

man find

Publicado el 10 septiembre, 2012 en Aplicaciones, Linux, Ubuntu y etiquetado en , , , , . Guarda el enlace permanente. Deja un comentario.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s