Buscando archivos en GNU/ Linux
No conozco una sola persona, que al día de hoy, no tenga la necesidad de buscar archivos en su disco duro. Algunas herramientas gráficas permiten buscar archivos o carpetas, con tan solo unas cuantas opciones. En lo personal, nunca me he valido de esas herramientas, siento que entorpecen un poco la búsqueda. Es un efecto que produce estar demasiado tiempo con la consola. Sí, la consola que sólo funciona con instrucciones emanadas de los dedos del usuario.
Ahora bien, en las distribuciones como Fedora, Centos o mismo RHEL, hay más de una manera de buscar archivos, y es con el comando locate. Este comando tiene algunas ventajas, como ser más rápido que el otro comando estándar, find. Su problema es que tiene restricciones en cuanto a rutas y archivos qué puede buscar, y el tiempo que tarda en actualizar su base de datos (updatedb). Este último puede resolverse fácilmente, actualizando la BD de manera manual, tomándole unos cuantos segundos.
El archivo de configuración (/etc/updatedb.conf) sirve para restringir los directorios que se indexarán, entre otras cosas. En este post no abordaremos el comando locate, puesto que considero que sale del uso común y que fácilmente puede subsanarse con find, sin embargo, lo menciono por algún curioso que esté interesado en conocer más herramientas de búsqueda.
Buscar archivos con locate
Para buscar archivos solo basta con escribir el comando locate seguido de la cadena de texto que buscamos. Puede soportar regex.
$ locate logind.dfs
Buscar archivos con find
Creo que esta es la vía estándar de hacer las búsquedas, e incluso, puedo decir que la más robusta en cuando a búsqueda se refiere. Con find podemos buscar por nombre de archivo, por directorio, por permisos, tamaño, fechas de modificación o dueños (usuario y/o grupo). En fin, no pretendo dar una guía exhaustiva de cómo funciona find, sólo colocaré algunos ejemplos.
Buscar por usuario y grupo
Buscamos las coincidencias por el usuario lyonn
find /home -user lyonn -ls
Buscamos las coincidencias por el usuario lyonn o el usuario webuser
find /home -user lyonn -or user webuser -ls
Buscamos las coincidencias por el grupo admin
find /etc -group admin -ls
Buscamos por todos los usuarios que NO sean root
find /var -not -user root -ls
Buscando por permisos
Busca las coincidencias con permisos 755
find / -perm 755 -ls
Busca los directorios con permisos de escritura para el usuario, el grupo y otros.
find / -perm -222 -type d -ls
Buscar por sólo lectura
find /sololectura -perm +222 -type f
Buscando por tamaño
Busca coincidencias de archivos que midan 10M o más
find /opt/appserver/domain/logs -size +10M
Busca por las coincidencias de archivos que midan menos de 5G
find /opt/appserver/domain/logs -size -5G
La información que aquí presento es exigua con respecto todas las opciones que find nos brinda, sin embargo, puede servirte para comenzar a picarle piedra, como dice el argot técnico.
Comentarios
Publicar un comentario