una lupa buscando en el texto

Cómo buscar archivos en Linux: dominar los comandos Find y Grep

En este artículo aprenderá cómo buscar archivos en Linux usando diferentes herramientas.

La hoja de referencia del comando "buscar"

Buscando por nombre de archivo

"Buscar" es una de las herramientas más populares para buscar archivos en Linux. Cuando sepa el nombre del archivo, puede buscarlo usando el siguiente comando. Reemplace "/home" con una carpeta para buscar y "filename.txt" con el nombre del archivo.

$ buscar /home -name nombre de archivo.txt

Para buscar un archivo en la carpeta actual, reemplace “/home” con un símbolo de punto (.):

$ encontrar . -nombre Documentos.zip ./Documentos.zip

Cuando no sepa el nombre exacto del archivo, utilice la expresión regular para buscar una coincidencia. El símbolo de asterisco (*) coincide con cualquier conjunto de caracteres después de la palabra clave "Documentos".

$ buscar /home -name "Documentos*" /home/eugene/Documents.zip /home/eugene/Documents /home/eugene/Phone/Documents

Buscando por fecha de modificación

Para buscar archivos que se modificaron hoy, agregue la tecla "-mtime" al comando de búsqueda:

$ buscar /home -mtime 0

Por ejemplo, busquemos imágenes que se modificaron hace 10 días:

$ buscar imágenes/ -mtime 10 imágenes/capturas de pantalla/captura de pantalla del 2023-11-03 10-29-49.png

Búsqueda por tipo de archivo

El comando "buscar" en Linux le permite buscar archivos según su tipo. Aquí hay unos ejemplos:

Buscar directorios: Para buscar todos los directorios dentro de una ruta especificada, utilice la opción -type d.

$ buscar /home -escribir d

Buscar archivos normales: Por el contrario, para localizar archivos normales, utilice la opción -type f.

$ buscar /home -tipo f -nombre "*.txt"

Búsqueda de enlaces simbólicos: Para buscar enlaces simbólicos, utilice la opción -type l.

$ buscar /home -escribir l -nombre "nombreenlace"

Busque extensiones de archivos específicas: Limite su búsqueda especificando extensiones de archivo.

$ buscar /home -tipo f -nombre "*.jpg"

Combinando criterios

Puedes combinar múltiples criterios para que tus búsquedas sean más precisas. He aquí un ejemplo:

Buscar archivos modificados con una extensión específica: Encuentra archivos modificados en los últimos 7 días con la extensión “.log”.

$ buscar /var/logs -tipo f -nombre "*.log" -mtime -7

Buscar archivos modificados entre un rango de fechas: Localice archivos modificados entre el 1 de noviembre de 2023 y el 5 de noviembre de 2023.

$ encontrar /home -newermt 2023-11-01! -recientemt 2023-11-06

Opciones adicionales del comando "buscar"

Ignorando la distinción entre mayúsculas y minúsculas: Si desea que la búsqueda no distinga entre mayúsculas y minúsculas, utilice la opción -iname.

$ buscar /home -iname "documento*"

Limitar la profundidad de búsqueda: Limite la profundidad de búsqueda a un nivel específico con la opción -max Depth.

$ buscar /inicio -maxprofundidad 2 -nombre "*.txt"

Excluyendo directorios específicos: Excluya ciertos directorios de su búsqueda usando -not o ! opción.

$ buscar /home -type f -name "*.txt" -not -path "/home/user/exclude/*"

Recuerde, dominar el comando "buscar" puede mejorar significativamente su capacidad para navegar y administrar archivos en un entorno Linux. Experimente con diferentes opciones para adaptar sus búsquedas según criterios específicos.

Busque por contenido de archivo usando el comando "grep"

Cuando se trata de buscar contenido específico dentro de archivos, el comando "grep" se convierte en su herramienta de referencia. Le permite buscar patrones o cadenas de texto dentro de uno o varios archivos. Aquí hay una hoja de referencia rápida para comenzar:

Búsqueda de contenido básico: Para buscar una cadena específica en un archivo, utilice la siguiente sintaxis

$ grep "cadena_búsqueda" nombre de archivo

Reemplace "cadena_búsqueda" con el texto que está buscando y "nombre de archivo" con el nombre del archivo.

Buscar en varios archivos: Si desea buscar en varios archivos, proporcione un comodín o un patrón de archivo específico

$ grep "patrón" /ruta/a/archivos/*.txt

Búsqueda que no distingue entre mayúsculas y minúsculas: Haga que su búsqueda no distinga entre mayúsculas y minúsculas con la opción -i

$ grep -i nombre de archivo "patrón"

Mostrar números de línea: Si desea saber los números de línea donde se encuentra el patrón, use la opción -n

$ grep -n nombre de archivo "patrón"

Mostrar sólo nombres de archivos: Para mostrar solo los nombres de los archivos que contienen el patrón, use la opción -l

$ grep -l "patrón" /ruta/a/archivos/*.txt

Buscar recursivamente: Si desea buscar un patrón en todos los archivos dentro de un directorio y sus subdirectorios, use la opción -r

$ grep -r "patrón" /ruta/al/directorio

Excluir archivos o directorios: Excluya ciertos archivos o directorios de su búsqueda con la opción –excluir

$ grep "patrón" --exclude=*.log /ruta/a/archivos/*

Buscar palabras completas: Utilice la opción -w para buscar palabras completas, evitando coincidencias parciales

$ grep -w nombre de archivo "palabra"

Uso avanzado de “grep”

Buscar coincidencias invertidas: Invierta la coincidencia para mostrar líneas que no contengan el patrón especificado usando la opción -v

$ grep -v nombre de archivo "patrón"

Contando coincidencias: Si quieres saber cuántas líneas contiene el patrón, usa la opción -c:

$ grep -c nombre de archivo "patrón"

Mostrar solo texto coincidente: muestra solo el texto que coincide con el patrón con la opción -o:

$ grep -o nombre de archivo "patrón"

Búsqueda recursiva con números de línea: Combine opciones para una búsqueda exhaustiva, por ejemplo:

$ grep -r -n "patrón" /ruta/al/directorio

Dominar el comando "grep" le permite localizar rápidamente contenido específico dentro de los archivos, lo que lo convierte en una herramienta indispensable para la exploración eficiente de archivos en un entorno Linux. Experimente con diferentes opciones para personalizar sus búsquedas y descubrir la información que necesita.

Métodos alternativos de búsqueda de archivos

Además de los potentes comandos "find" y "grep", existen métodos alternativos para buscar archivos en un entorno Linux. Exploremos algunos:

Buscar archivos usando el script Python

A veces, una secuencia de comandos Python personalizada puede proporcionar más flexibilidad en la búsqueda de archivos. Aquí hay un ejemplo simple usando Python os y fnmatch módulos:

import os
from fnmatch import fnmatch

def find_files(directory, pattern):
    for root, dirs, files in os.walk(directory):
        for file in files:
            if fnmatch(file, pattern):
                print(os.path.join(root, file))

# Usage
find_files('/path/to/search', '*.txt')

Este script recorre el directorio y sus subdirectorios, haciendo coincidir los archivos según el patrón especificado. Personaliza el find_files función que se ajuste a sus criterios de búsqueda específicos.

El comando "localizar"

El "localizarEl comando ”es otra forma eficaz de buscar archivos en un sistema Linux. Utiliza un índice prediseñado, lo que hace que las búsquedas sean más rápidas en comparación con el comando "buscar". Sin embargo, tenga en cuenta que el índice necesita actualizaciones periódicas para incluir cambios recientes.

Actualice la base de datos de localización:

$ sudo actualizadob

Buscar archivos:

$ localizar nombre de archivo.txt

Usando el comando "cuál"

Si está buscando la ubicación de un ejecutable en la RUTA de su sistema, el comando "cuál" puede resultar útil.

Buscar ubicación ejecutable:

$ cual nombre_ejecutable

Uso de “fd”: una alternativa rápida y fácil de usar para “buscar”

El comando "fd" es una alternativa rápida y fácil de usar a "buscar". Viene con una sintaxis simplificada y salida coloreada.

Instalar fd:

$ sudo apt-get install fd-find # Para Ubuntu/Debian $ sudo dnf install fd # Para Fedora

Buscar archivos:

$ fdfind Documentos Teléfono/Documentos Documentos Documentos.zip

Scripts y alias personalizados

Por último, puede crear scripts de shell o alias personalizados para agilizar el proceso de búsqueda de archivos. Por ejemplo:

# Alias ​​de alias personalizado findtxt='find /path/to/search -name "*.txt"' # Uso $ findtxt

Los scripts y alias personalizados le permiten crear accesos directos para sus necesidades específicas de búsqueda de archivos, mejorando su flujo de trabajo.

Buscar archivos en Linux usando el script Bash

Crear y utilizar un script bash ayuda a automatizar tareas repetitivas de búsqueda de archivos en Linux. A continuación se muestra un ejemplo de un script Bash simple que busca archivos según un patrón proporcionado:

#!/bin/bash # Script Bash para buscar archivos según un patrón if [ $# -ne 2 ]; luego repite "Uso: $0 " exit 1 fi directorio=$1 patrón=$2 # Compruebe si el directorio existe si [ ! -d "$directorio" ]; luego haga eco "Error: Directorio $directorio no encontrado." exit 1 fi # Utilice el comando buscar para buscar archivos buscar "$directorio" -nombre "$patrón" -imprimir

Guarde este script en un archivo, por ejemplo, find_files.sh, y hágalo ejecutable con el siguiente comando:

$ chmod +x buscar_archivos.sh

Ahora, puedes usar el script para buscar archivos proporcionando el directorio y el patrón como argumentos:

$ ./find_files.sh /ruta/a/buscar "*.txt"

Este script comprueba si se proporciona la cantidad correcta de argumentos y si el directorio especificado existe. Luego utiliza el comando de búsqueda para buscar archivos según el patrón dado.

Bonificación: cómo buscar imágenes en Linux

En Linux, existen varias herramientas y métodos para la búsqueda de imágenes, cada una de las cuales ofrece características y capacidades únicas. Aquí hay algunas opciones:

Comando "buscar" con filtrado de tipo de archivo:

El comando estándar "buscar" se puede utilizar para localizar archivos de imagen según sus tipos de archivo. Por ejemplo, para buscar todos los archivos JPEG en un directorio y sus subdirectorios:

$ buscar /ruta/a/imagenes -tipo f -nombre "*.jpg"

El comando "fdfind":

El comando "fdfind", una alternativa rápida y fácil de usar a "buscar", también se puede utilizar para buscar archivos de imágenes. Instálalo si aún no lo has hecho:

$ sudo apt-get install fd-find # Para Ubuntu/Debian $ sudo dnf install fd # Para Fedora

Busque imágenes con una extensión específica:

$ fdfind -e jpg

El comando "localizar"

El comando "localizar" se puede utilizar para búsquedas rápidas, especialmente si se mantiene una base de datos actualizada:

$ localizar '*.jpg'

Recuerde actualizar la base de datos de localización periódicamente para ver los cambios recientes:

$ sudo actualizadob

Comando “grep” para nombres de imágenes específicos:

Si tiene una convención de nomenclatura específica para sus archivos de imagen, puede usar el comando "grep" para buscarlos:

$ grep -r 'patrón' /ruta/a/imágenes

Reemplace 'patrón' con una parte del nombre del archivo de imagen.

Comando “archivo”

El comando "archivo" puede identificar tipos de archivos, ayudándole a filtrar archivos de imágenes:

$ archivo /ruta/a/imágenes/*

Busque líneas que incluyan "imagen" para identificar archivos de imagen.

Visor de imágenes “feh” con lista de archivos

Si tiene una lista de archivos de imágenes y desea verlos, el visor de imágenes "feh" le permite crear una lista de archivos:

$ feh -f $(buscar /ruta/a/imagenes -tipo f -nombre "*.jpg")

Esto abre un visor de imágenes con una lista de archivos de todos los archivos JPEG en el directorio especificado.

Uso de herramientas de metadatos de imágenes

Si sus imágenes tienen metadatos, puede utilizar herramientas como "exiftool" para buscar según las propiedades de la imagen:

$ exiftool -nombre de archivo -r /ruta/a/imagenes | grep 'término_búsqueda'

Administradores de archivos gráficos

Los administradores de archivos gráficos como Nautilus, Dolphin o Thunar suelen ofrecer funciones de búsqueda. Puede navegar hasta el directorio y utilizar la barra de búsqueda.

Organizadores de imágenes basados ​​en etiquetas

Herramientas como “digiKam” o “Shotwell” ofrecen organización de imágenes basada en etiquetas. Etiqueta tus imágenes y utiliza estas herramientas para buscar según etiquetas.

Resum

En conclusión, dominar la búsqueda de archivos en Linux implica comprender y combinar varios comandos, herramientas y técnicas de secuencias de comandos. Si es un entusiasta de la línea de comandos o prefiere las interfaces gráficas, esta guía le brinda el conocimiento para navegar y buscar archivos sin problemas en un entorno Linux. ¡Feliz búsqueda de archivos!

¿Qué tan útil fue esta publicación?

¡Haz clic en una estrella para calificarla!

Puntuación media 5 / 5. Recuento de votos: 1

No hay votos hasta ahora! Sé el primero en calificar esta publicación.