buscar

  • Tuve la necesidad de encontrar todos los archivos modificados el mes de marzo de 2018. Tarea simple gracias a find.

  • En los sistemas de la familia Unix, típicamente utilizamos la herramienta find para buscar archivos por nombre, por fecha de modificación, o tipo, tamaño, etc. Sin embargo puede ser necesario buscar archivos por contenido. Por ejemplo, buscar archivos que incluyan cierta palabra clave dentro de su texto. A tal fin es posible recurrir a grep para realizar búsquedas de texto en archivos (lo que se conoce como full-text search).

  • Realizando un análisis forense tuve la necesidad de buscar archivos modificados en una cierta fecha. Los sistemas operativos de la familia UNIX no almacenan la fecha de creación de los archivos, por lo que debe utilizarse la fecha de modificación.

  • A veces necesitamos buscar un archivo por nombre y nunca recordamos la sintaxis correcta del comando "find" y terminamos desistiendo o utilizando algún bonito buscador con interfaz gráfica. Aunque en realidad, la sintaxis de "find" es muy simple sólo se necesita saber en qué directorio buscar y una parte del nombre del archivo.

  • Ayer tuve la necesidad de buscar todos los archivos cuya ruta contenga una cadena específica, utilizando find.

  • A veces tenemos el problema de no recordar donde se encuentra un archivo, entonces es necesario buscarlo. Para esto, sólo hace falta recordar el nombre, o parte del nombre, del archivo. En GNU/Linux, el comando find busca archivos en una jerarquía de directorios. Para los usuarios novicios (o quienes vienen desde otro sistema operativo) puede resultar dificil o desconocido ya que find es una de las herramientas más completas, complejas y poderosas de la consola/terminal/línea de comandos/shell. Por eso en este artículo explico cómo buscar correctamente archivos por nombre utilizando comodines (wildcards), por ejemplo astreriscos y símbolos de pregunta.

  • De fábrica, el panel de control de Joomla! sólo permite buscar artículos por título. Esto es algo limitante ya que a veces necesitamos buscar artículos según su contenido. Aunque existen muchas extensiones para Joomla! que proveen esta funcionalidad (poder buscar artículos por tag, contenido, autor), es más rápido y fácil conectarse directamente a la base de datos MySQL y ejecutar una simple consulta SQL.

  • Hoy tuve la necesidad de realizar la búsqueda de una cadena en una columna de una tabla MySQL ignorando las reglas de comparación impuestas por el collation, con el objetivo de obtener sólo coincidencias exactas.

  • Situación: tengo que buscar la última aparición de una cadena en un log gigantesco (porque quiero encontrar la última vez que se registró cierto evento).

    Problema: ¿cómo encontrarla lo más rápidamente posible?

    Solución: ejecutar una búsqueda en orden reverso a partir del final del archivo utilizando less.

  • Tuve la necesidad de buscar en un servidor los archivos que fueron creados por un usuario en particular, más específicamente "www-data" (usuario con el que corre Apache en los sistemas Debian y derivados). Esto fue lo único que se me ocurrió hasta el momento para encontrarlos (sin recurrir a auditd).

  • A veces uno se encuentra con el problema de no recordar donde puso un archivo, entonces es necesario buscarlo. Para esto, sólo es necesario recordar el nombre (o parte del nombre) del archivo. Para buscar archivos por nombre en GNU/Linux es posible utilizar las herramientas find y locate (estaba escribiendo "los comandos" pero me arrepentí y borré, en general no me gusta utilizar la palabra "comando" ya que los usuarios menos expertos suelen tenerle pánico a la misma, un "comando" es una porción de texto críptico, escrito en un lenguaje que sólo entienden las computadoras, que realiza tareas incomprensibles y puede causar la destrucción total del planeta, en cambio una "herramienta" es algo que nos facilita la vida).

  • Como administrador o simple usuario de un sistema *nix (GNU/Linux, *BSD, etc.) muchas veces recurrimos a las páginas de manual (manpages), a través del comando man, para obtener ayuda o comprender el funcionamiento de alguna parte del sistema, herramienta o aplicación. Las páginas de manual son uno de los pilares distintivos de todo sistema operativo de la familia Unix donde, a diferencia de otros sistemas operativos (que buscan ofuscar su código y hasta su funcionamiento al máximo posible para sacar la mayor rentabilidad del soporte, pues con cobrar por las licencias del software no basta...), todo está documentado. Cada paquete, aplicación, servicio, herramienta y hasta los internals del sistema operativo y el lenguaje con el cual fue programado, tienen su respectiva página de manual (la cual puede ser consultada utilizando el comando man). Los lectores asiduos a este blog, sabrán que la mayor cantidad de referencias en los artículos son a páginas de manual.

  • Previamente compartí un artículo extenso dedicado a la gestión de paquetes en OpenBSD. En dicho artículo explicaba que, a fin de buscar un paquete por nombre, simplemente debía buscar el port correspondiente en el árbol de ports utilizando el comando make search key=. Sin embargo, si no hemos instalado el árbol de ports en el sistema, será imposible buscar un paquete (al menos desde línea de comandos, claro está). En este artículo entonces voy a demostrar cómo buscar paquetes correctamente en OpenBSD, sin necesidad de recurrir al árbol de ports.

  • En este artículo voy a explicar cómo buscar paquetes, y obtener información de los mismos, desde el gestor de paquetes APT en Debian y derivados (Ubuntu, Mint, Elementary, etc.).

  • Si trabajan como desarrolladores y están involucrados en diferentes proyectos, es probable que tengan varias copias locales de repositorios Git. Y llegado un punto también es probable que pierdan la cuenta de los mismos, o no recuerden la ubicación o ruta de alguno de ellos. Por ello, en este breve artículo comparto un comando rápido para buscar todos los repositorios Git en nuestra máquina.

  • Más allá de que Joomla! incluye su propio buscador de contenido/artículos (al igual que Wordpress o cualquier otro CMS medianamente decente), muchos deseamos delegar esa tarea a los expertos: Google. En este artículo voy a explicar paso a paso, y detalladamente, cómo crear un motor de búsqueda personalizado de Google e integrarlo en nuestro sitio Joomla!, sin necesidad de utilizar plugins, módulos ni componentes de terceros.

  • Supongamos que deseamos buscar una cadena en un archivo de texto, pero sólo nos interesa quedarnos con el primer resultado de la búsqueda:

    root@linuxito:~# grep server_name /usr/local/nginx/conf/nginx.conf
            server_name linuxito.com;
            server_name www.linuxito.com;
            server_name linuxito.com;
            server_name www.linuxito.com;
    

    Probablemente nos veamos tentados a utilizar head:

    root@linuxito:~# grep server_name /usr/local/nginx/conf/nginx.conf | head -n 1
            server_name linuxito.com;
    

    Sin embargo, grep posee una opción para controlar qué cantidad de resultados deseamos visualizar.