buscar

  • Buscar archivos modificados en un cierto mes del año

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

  • Buscar archivos por contenido usando grep

    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).

  • Buscar archivos por fecha de modificación

    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.

  • Buscar archivos por nombre

    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.

  • Buscar archivos por nombre en cualquier parte de la ruta

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

  • Buscar archivos por nombre utilizando comodines correctamente

    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.

  • Buscar artículos por contenido en Joomla!

    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.

  • Buscar coincidencias exactas en consultas MySQL

    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.

  • Buscar en orden reverso en less

    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.

  • Buscar los archivos creados por un usuario específico en Linux

    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).

  • Cómo buscar archivos por nombre

    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).

  • Cómo buscar páginas de manual

    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.

  • Cómo buscar paquetes en OpenBSD con pkg_info

    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.

  • Cómo buscar y obtener información de paquetes en Debian y derivados

    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.).

  • Cómo encontrar todos los enlaces simbólicos rotos en un sistema de archivos

    Cuando de buscar y encontrar se trata, siempre recurriremos a la poderosa herramienta find. Esta vez vamos a ver cómo utilizar find para buscar links rotos (enlaces simbólicos que apuntan a archivos o directorios inexistentes).

  • Encontrar todos los repositorios Git en tu máquina

    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.

  • Insertar una búsqueda personalizada de Google en un sitio Joomla!

    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.

  • Montar un servidor de búsqueda full-text search con Recoll en Debian

    Recoll es una aplicación de escritorio (GUI) que permite indexar y buscar archivos en un sistema local basándose en su contenido (lo que se denomina búsqueda full-text). Sin embargo, gracias a una extensión en Python es posible montar un servicio Web de búsqueda de archivos locales en un servidor headless. Por archivos locales se refiere a archivos localizados en un directorio local del propio servidor.

    Esta herramienta puede ser útil para montar un servicio de búsqueda de documentos a través de la Web. Por ejemplo, agregar un servicio de búsqueda de resoluciones de una institución pública en formato PDF a través de un sitio Web.

  • Recuperar sólo la primera coincidencia con grep

    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.