Cinco comandos de búsqueda de archivos en Linux

Introducción

Hay cinco comandos de búsqueda de archivos en Linux: whereis, locate, which, type, y find. Cada uno de ellos tiene sus propias características y está diseñado para escenarios de búsqueda particulares. Esta guía le presentará cada comando y le mostrará ejemplos de usos. Para leer más sobre cualquiera de estos comandos, es mejor revisar la página de manual apropiada.

whereis

El whereiscomando se utiliza para buscar archivos binarios, código fuente y las páginas del manual en línea en varios directorios de instalación estándar para cualquier nombre de programa especificado.

Debido a whereisque no busca en todas las ubicaciones de su sistema, no se encontrarán archivos de estos directorios específicos. Por la misma razón, obtendrá el resultado de su búsqueda rápidamente, ya sea que se encuentre o no.

Además, no buscará los comandos que están integrados directamente en el shell.

Por ejemplo, si desea encontrar información sobre el lscomando, ejecute el siguiente comando en su terminal:

whereis ls

Recibirá algunos comentarios como:

ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

En el resultado, /bin/lses el binario que desea localizar, las otras dos son páginas de manual para el lsprograma, no lsse encontró ningún código fuente para el programa.

Copie el /bin/lsarchivo a su directorio de inicio y al /usr/bindirectorio, y luego ejecute el whereiscomando nuevamente:

cp /bin/ls ~
cp /bin/ls /usr/bin/ls
whereis ls

Como ves, solo /bin/lsy /usr/bin/lsse encontraron en el resultado de búsqueda. El lsno se encontró el programa en su directorio personal, debido a su directorio principal no es uno de los directorios de instalación estándar.

ls: /bin/ls /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

Si ejecuta el siguiente comando:

whereis cd

Verá una salida similar a la línea a continuación. No se descubrió ningún archivo binario porque cdes un comando incorporado del shell.

cd: /usr/share/man/man1/cd.1.gz /usr/share/man/man1p/cd.1p.gz

locate

El locatecomando se utiliza para buscar archivos por nombre con la ayuda de una base de datos ( /var/lib/mlocate/mlocate.db). Esta base de datos es básicamente una instantánea del diseño de su sistema de archivos. Cualquier registro en esta base de datos que coincida con su consulta aparecerá en el resultado de la búsqueda. Por defecto, el locatecomando usará su consulta para que coincida con cualquier parte del nombre completo de cada registro, incluido el nombre de la ruta. Por lo tanto, la cantidad de archivos coincidentes en el resultado de la búsqueda podría ser mayor de lo esperado.

A medida que la base de datos queda desactualizada, el resultado de la búsqueda del locatecomando se vuelve menos preciso. Puede notar archivos que ya no existen, o no verá coincidencias para los archivos recién creados. Por defecto, la mlocate.dbbase de datos se actualiza automáticamente una vez al día. Puede usar el updatedbcomando para actualizarlo manualmente.

Debido a que la búsqueda se realiza en la base de datos en lugar del sistema de archivos, la velocidad de búsqueda es muy rápida.

Si ejecuta el siguiente comando:

locate ls

Obtendrá muchos registros en lugar de su resultado esperado.

Para que el resultado de la búsqueda sea más preciso, puede usar el -bindicador para restringir el rango de búsqueda, usando su consulta para que coincida solo con el nombre base de cada registro:

locate -b "\ls"

Esta vez, obtendrá la ubicación de cada archivo exactamente llamado lsen su sistema de archivos:

/bin/ls

which

El whichcomando buscará el comando que especificó en el valor de la variable de entorno PATHy devolverá el primer resultado por defecto. Si está consultando un alias, el whichcomando determinará el comando real para el alias antes de realizar su búsqueda.

El whichcomando también es muy rápido debido a su simplicidad.

El uso del whichcomando es simple:

which your_command

Si desea mostrar todos los comandos coincidentes en lugar del primero, use la -abandera:

which -a your_command

Aquí hay un ejemplo para buscar un comando que tenga un alias:

which ll

El resultado de la búsqueda sería:

alias ll='ls -l --color=auto'
    /bin/ls

type

Por defecto, el typecomando indicará cómo se interpretaría el nombre de un comando. Los posibles resultados incluyen un alias, una palabra clave, una función, un archivo incorporado o un archivo. Al igual que el whereiscomando, el typecomando solo buscará en varios directorios de instalación estándar para responder a su consulta.

Algunos ejemplos para escribir diferentes comandos:

Un comando integrado de shell:

type cd

cd is a shell builtin

Un archivo binario en el sistema de archivos:

type sudo

sudo is /usr/bin/sudo

Un alias:

type ls

ls is aliased to `ls --color=auto'

find

Entre los cinco comandos de búsqueda de archivos presentados en este tutorial, el findcomando es el más poderoso. También es el más lento. A diferencia de los otros cuatro comandos, el findcomando realmente buscará su archivo en todo el sistema de archivos, un nodo i por un nodo i. Con el findcomando, puede utilizar criterios de consulta sofisticados para encontrar cada archivo que necesita, incluso ejecutar acciones adicionales en los archivos que se encontraron.

Los criterios de búsqueda para el findcomando son demasiado sofisticados para explicar en un artículo tan breve, aquí hay algunos ejemplos.

Formato básico del findcomando:

find [path] [option] [action]

Para buscar todos los archivos en el directorio de trabajo y todos sus subdirectorios:

find

Para buscar un archivo llamado aaaen su directorio de inicio y todos sus subdirectorios:

find ~ -name 'aaa'

Para buscar todos los archivos en el sistema de archivos que se modificaron en las últimas 24 horas:

find / -mtime 0

Para buscar todos los archivos en el directorio web y todos sus subdirectorios que pertenecen al usuario nginx:

find /usr/share/nginx/html/ -user nginx

Para buscar todos los archivos en el directorio de trabajo cuyos permisos son 0744:

find -perm -0744

Para buscar un archivo con el nombre aaaen el directorio de trabajo y enumerar su información detallada:

find -name 'aaa' -exec ls -l {} \;


Leave a Comment

¿Puede la IA luchar con un número cada vez mayor de ataques de ransomware?

¿Puede la IA luchar con un número cada vez mayor de ataques de ransomware?

Los ataques de ransomware van en aumento, pero ¿puede la IA ayudar a lidiar con el último virus informático? ¿Es la IA la respuesta? Lea aquí, sepa que la IA es una bendición o una perdición

ReactOS: ¿Es este el futuro de Windows?

ReactOS: ¿Es este el futuro de Windows?

ReactOS, un sistema operativo de código abierto y gratuito, está aquí con la última versión. ¿Puede satisfacer las necesidades de los usuarios de Windows de hoy en día y acabar con Microsoft? Averigüemos más sobre este estilo antiguo, pero una experiencia de sistema operativo más nueva.

Manténgase conectado a través de la aplicación de escritorio WhatsApp 24 * 7

Manténgase conectado a través de la aplicación de escritorio WhatsApp 24 * 7

Whatsapp finalmente lanzó la aplicación de escritorio para usuarios de Mac y Windows. Ahora puede acceder a Whatsapp desde Windows o Mac fácilmente. Disponible para Windows 8+ y Mac OS 10.9+

¿Cómo puede la IA llevar la automatización de procesos al siguiente nivel?

¿Cómo puede la IA llevar la automatización de procesos al siguiente nivel?

Lea esto para saber cómo la Inteligencia Artificial se está volviendo popular entre las empresas de pequeña escala y cómo está aumentando las probabilidades de hacerlas crecer y dar ventaja a sus competidores.

La actualización complementaria de macOS Catalina 10.15.4 está causando más problemas que resolver

La actualización complementaria de macOS Catalina 10.15.4 está causando más problemas que resolver

Recientemente, Apple lanzó macOS Catalina 10.15.4, una actualización complementaria para solucionar problemas, pero parece que la actualización está causando más problemas que conducen al bloqueo de las máquinas Mac. Lee este artículo para obtener más información

13 Herramientas comerciales de extracción de datos de Big Data

13 Herramientas comerciales de extracción de datos de Big Data

13 Herramientas comerciales de extracción de datos de Big Data

¿Qué es un sistema de archivos de diario y cómo funciona?

¿Qué es un sistema de archivos de diario y cómo funciona?

Nuestra computadora almacena todos los datos de una manera organizada conocida como sistema de archivos de diario. Es un método eficiente que permite a la computadora buscar y mostrar archivos tan pronto como presiona buscar.

Singularidad tecnológica: ¿un futuro lejano de la civilización humana?

Singularidad tecnológica: ¿un futuro lejano de la civilización humana?

A medida que la ciencia evoluciona a un ritmo rápido, asumiendo muchos de nuestros esfuerzos, también aumentan los riesgos de someternos a una singularidad inexplicable. Lea, lo que la singularidad podría significar para nosotros.

Una mirada a 26 técnicas analíticas de Big Data: Parte 1

Una mirada a 26 técnicas analíticas de Big Data: Parte 1

Una mirada a 26 técnicas analíticas de Big Data: Parte 1

El impacto de la inteligencia artificial en la atención médica 2021

El impacto de la inteligencia artificial en la atención médica 2021

La IA en la salud ha dado grandes pasos desde las últimas décadas. Por tanto, el futuro de la IA en el sector sanitario sigue creciendo día a día.