Bueno, no hace falta decir que como todo entorno de GNU/Linux nos da la posibilidad de buscar archivos y carpetas en nuestro equipo. Claro está que tenemos ésta manera “gráfica” de poder realizar dicha tarea instalando alguna aplicación.
PERO por ahí no tenemos ganas de instalar algo extra, sabiendo que desde la tty, nuestra terminal (tilda, gnome-terminal, xfce4-terminal, etc.) podemos hacer lo mismo y de manera “nativa” ya que nuestro GNU/Linux nos da éste privilegio.

¿Cómo hacemos ésto? Bueno tenemos la órden llamada “find” que nos da un sin fin de posibilidades para usar y buscar cualquier tipo de archivo o carpeta en nuestro sistema.

Comencemos!
¿Cómo usar la órden find?
Hace tiempo no entendía muy bién como funcionaba dicha orden o como era el “correcto” uso de la misma y obviamente no tenía idea que tan potente es.
Lo que sabía básicamente era que escribiendo:

$ find archivo.txt

Encontraba lo que buscaba de una manera muy básica entonces vamos a pasar a explicar algunas cosas que veo útiles o que a mi particularmente me sirvieron, luego ya queda para ustedes como lo quieran y puedan usar.
Recordemos primero que nada tenemos el “man” de find para tener toda la información necesaria para su uso.

$ man find

Captura de pantalla de 2017-03-24 20-09-42

Entonces entendemos que básicamente para usar find podría ser algo así por ejemplo:

Buscando por nombre:

$ find /home/ice parámetro prueba.txt

Aclaremos, la estructura es bastante simple ya que seguido de dicha órden debemos incluir la ruta dónde buscará, una opción/parámetro y el nombre del archivo que buscamos.
Claro que si sabemos la ruta del archivo, sabemos dónde está alojado, pero en el caso que realmente no sepamos dónde se encuentra un determinado archivo podemos usar directamente la raiz “/” para que busque en toda nuestra unidad.

Volviendo al tema, entonces seguido de la ruta dónde vamos a buscar nuestro archivo, vamos a colocar una opción o parámetro que nos pueda facilitar un poco más las cosas, entonces podríamos usarlo así:

$ find /home/ice -name prueba.txt

Captura de pantalla de 2017-03-24 20-20-00

Buscando por tipo:

Que pasaría si no nos interesa tanto el nombre del arhcivo, sinó que deseamos ubicar todos los archivos de un determinado tipo? Bueno aquí dejo algunos de los más usados:

f – archivo regular
d – directorio
l – enlace simbólico
c – dispositivos de caracteres
b – bloque de dispostivos

Entonces suponemos que queremos ubicar todos los dispositivos de bloque (un archivo que hace referencia a un dispositivo) en nuestro sistema. Con la ayuda de la opción -type haremos lo siguiente:

$ find / -type c

Claro está que la línea anterior nos dará una cantidad de salidas de permiso denegado, pero básicamente tendrán algo parecido a ésto:

/dev/vcsa6
/dev/vcs6
/dev/vcsa5
/dev/vcs5
/dev/vcsa4
/dev/vcs4
/dev/vcsa3
/dev/vcs3
/dev/vcsa2
/dev/vcs2
/dev/fb0
/dev/media0
/dev/video0
/dev/psaux

También podemos usar la misma opción para ayudarnos a buscar archivos de configuración. Por ejemplo que necesitamos ubicar todos los archivos regualres que terminan con .conf, entonces el comando sería:

$ find / -type f -name “*.conf”

El comando anterior buscará en / todos los archivos regulares que terminen en .conf. Aclaro por las dudas que bueno como todos sabemos, o la mayoría por lo menos, que prácticamente todos los archivos de configuración se encuentran en /etc, entonces podemos especificar ésa ruta también quedando así:

$ find /etc -type f -name “*.conf”

Captura de pantalla de 2017-03-24 20-41-44

Redirigir los resultados en un archivo:

Normalmente nos sucede que a la hora de buscar un archivo la salida es demasiado larga, entonces lo que podemos hacer es redireccionar ésa salida a un archivo que puede ser MUY útil en algún momento; entonces vamos a usar el ejemplo anterior y enviaremos la salida a un archivo llamado busqueda.out de ésta manera:

$ find /etc -type f -name “*.conf” > busqueda.out

Aquí se genera un archivo llamado busqueda.out que contiene todos los resultados de la órden find, que lo podremos visualizar de la manera que tengamos ganas por ejemplo:

$ cat busqueda.out | less

$ nano busqueda.out

Buscando archivos por tamaño:

En ocaciones llegamos a un momento en que el comando find nos resulta muy útil. Me sucedió de ver algunos servidores con unidades llenas.
Entonces para hacer espacio o buscar archivos que no necesitemos podemos ubicar archivos cuyo determinado peso por ejemplo 100MB entonces podemos usar find así:

$ find /home/ice -size +1000M

Captura de pantalla de 2017-03-24 20-59-11.png

Puede ser que aparezcan demasiados archivos con ésta salida. Entonces podmeos filtrar un poco más según la estructura de directorios y bueno liberar espacio o solucionar algún que otro problema relacionado.

Asi que podemos buscar con las siguientes descripciones también:

C – bytes
K – Kilobytes
M – Megabytes
G – Gigabytes
B – bloques de 512 bytes

Bueno por ahora ésto sería todo. Recuerden que sólo vimos órdenes, opciones/parámetros básicos de éste comando, que la verdad nos resulta ser muy útil o por lo menos para mi lo fué como lo comenté al principio.
Recuerden usar “man find” para adentrarse en realmente todas las opciones que nos brinda para hacer un completo uso de ésta gran herramienta.

Video:

Espero que les haya servido!

Abrazo de gol!

Anuncios