Ir al contenido principal

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

Entradas populares de este blog

Ángulo de Corte

El armar un gallo de pulgada es una de las cosas más sujeta a mitos y medias verdades. Este es uno de los muchos temas que los galleros enuncian con una seguridad a prueba de balas.  Hasta el momento no he leído un solo escrito o esquema con detalle científico que tenga conclusiones claras y precisas de lo que sucede en un combate ni la ergonomía que mejor se adapta, todo proviene de un sistema de creencias que, muy en lo personal, me cuesta creer. El ángulo de corte se refiere a la posición de la punta de la navaja con respecto al codo de la pata. Dependiendo del amarrado es que la sitúa en un rango de los 5° a los 9°. De lo que no dudo es que no hay una manera precisa de emitir teorema alguno sobre este rubro. La formula del corte está dada por la sujeción de la navaja, la forma de la navaja, la altura de la botana, la posición de disparo del gallo, así como la calidad y aprendizaje del mismo durante el desarrollo de la pelea. Son muchas las variables, sin emba...

Análisis de conexiones TIME_WAIT

El tema de las conexiones mal utilizadas es un dolor de cabeza para muchos administradores de servidores de aplicaciones. Es común que las aplicaciones que mantenemos en nuestro resguardo sufran degradación, e incluso fallos, por el "simple" hecho de no cerrar las conexiones o tardar demasiado en hacerlo (vía sistema operativo). Como sabemos, una conexión pasa por varios estados, mismos que salen de la intención de este escrito. Las conexiones establecidas (ESTABLISHED) son demasiado costosas cuando abren y cierran, debido a eso, se han creado manejadores de conexiones (pooles) que mantienen abiertas las conexiones para reutilizarlas dependiendo la demanda. Es por eso, que en medida de lo posible, hay que utilizar un manejador de conexiones, ya sea a base de datos o algún broker. Entrando de lleno al tema, las conexiones en estado TIME_WAIT son un problema por el consumo de memoria, ocupando cada una 64k de memoria no paginable, es decir,  todo el tiempo se mantiene...

Significado de los dígitos de versión del kernel Linux

Algunas de las cosas que siempre quise saber, pero nunca me hice del tiempo para investigarlo es la función de los cuatro dígitos del kernel Linux. Su significado poco tiene que ver con hechos cabalísticos o confusos enunciados matemáticos. Mejor que en mis palabras están las de Tanenbaum: Los números de versión de Linux consiste en cuatro números, A.B.C.D, como 2.6.9.11. El primer número indica la versión del kernel. El segundo indica la revisión mayor. Antes del kernel 2.6 los números pares correspondían a versiones estables del kernel, mientras que los impares correspondían a versiones inestables que estaban en desarrollo. Después del kernel 2.6 los significados se manejaron de forma distinta. El tercer número corresponde a la revisión de versiones menores, como la aceptación de drivers. El cuarto número corresponde a las correcciones de errores menores o parches de seguridad.  Como ven, el señor Tanenbaum es sumamente lacónico con la explicación de los dígitos que compo...