El uso del comando "FIND" en GNU/Linux


El comando find es muy potente y practico, tanto así que con el avance que a tenido GNU/Linux en aplicaciones gráficas, las cuales nos ayudan a hacer las cosas mas simples, no e podido sustituir este comando por una aplicación gráfica, y es simplemente por lo practico y potente que es a la hora de realizar tareas con mis datos, como hacer backups, buscar archivos en conjunto y aplicarles otro comando, entre otras cosas.


Es un comando muy amplio, así que en este articulo les mostrare un uso básico del comando, con ejemplos bien prácticos.

Por ejemplo si queremos buscar archivos por nombre, lo hacemos de la siguiente manera:

find /media/data -iname “nombre”

También podemos usar expresiones regulares para la búsqueda por nombre de archivos como por ejemplo, buscar todos los mp3.

find /media/data -iname “*.mp3”

Ademas de la búsqueda por nombre podemos hacer otro tipo de busqueda, por ejemplo por grupo, usuario, permisos, tipo, peso, etc, por ejemplo:

find /media -user root ---------- buscara todos los archivos del root
find /media -group root -------- buscara todos los archivos del grupo root
find /media -perm 777 --------- buscara todos los archivos cuyo permisos sean 777
find /media -size 30 ------------ buscara todos los archivos que pesen 30kb
find /media -size +30 ---------- buscara todos los archivos que pesen mas de 30kb
find /media -size -30 ----------- buscara todos los archivos que pesen menos de 30kb
find /media -type d ------------- buscara todos los directorios de la ruta especificada
find /media -type f ------------- buscara todos los ficheros de la ruta especificada
find /media -type l ------------- buscara todos los enlaces simbolicos de la ruta especificada

Tambien podemos usar condiciones:

find /media -iname “nombre” -and -type d - buscara archivos con el nombre especificado y que sean directorios

find /media -iname “nombre” -or -iname “nombre2” - buscara archivos que tengan uno de los dos nombres especificados.

Ademas de hacer búsquedas, podemos jugar con el comando find, enlazándolo con otros comandos, como por ejemplo podemos buscar todos los archivos mp3 de un directorio y copiarlo en otro directorio, borrar todos los archivos encontrados, actualizar las fechas de acceso a la actual, etc... la opción que se usa para ello es -exec, aquí les dejo unos ejemplos:

find /media/ -iname “*.mp3” -exec cp {} /home/usuario/ ;

Lo que hicimos fue agregarle la sentencia -exec, para ejecutar el comando cp (-exec cp), luego de ello agregamos las llaves {}, esto serian los archivos encontrados por find, luego la ruta a donde lo copiamos (-exec cp {} /home/usuario/) y luego terminamos la sentencia con ;

Otro ejemplo, en el cual actualizaremos la fecha de acceso de todos los archivos encontrados:

find /media -type f -exec touch {} :

Como ven “Find” es un comando muy funcional, y les puede ayudar mucho en sus tareas diarias, y en su ambiente laboral, espero que les haya gustado, hasta la próxima.

Gracias