Cómo buscar archivos y carpetas en Linux usando la línea de comandos

Cómo buscar archivos y carpetas en Linux usando la línea de comandos

La mayoría de la gente usa un administrador de archivos gráfico para buscar archivos en Linux, como Nautilus en Gnome, Dolphin en KDE y Thunar en Xfce. Sin embargo, hay varias formas de usar la línea de comandos para buscar archivos en Linux, independientemente del administrador de escritorio que esté usando.

Usando el comando Buscar

El comando «buscar» le permite buscar archivos cuyos nombres aproximados conoce. La forma más simple del comando busca archivos en el directorio actual y de forma recursiva en sus subdirectorios que coincidan con los criterios de búsqueda proporcionados. Puede buscar archivos por nombre, propietario, grupo, tipo, permisos, fecha y otros criterios.

Al escribir el siguiente comando en el símbolo del sistema, se enumeran todos los archivos que se encuentran en el directorio actual.

find .

El punto después de «buscar» indica el directorio actual.

Para buscar archivos que coincidan con un patrón específico, use el -name argumento. Puede utilizar metacaracteres de nombre de archivo (como * ), pero debes poner un carácter de escape ( ) delante de cada uno de ellos o enciérrelos entre comillas.

Por ejemplo, si queremos encontrar todos los archivos que comienzan con «pro» en el directorio de Documentos, usaremos el cd Documents/ para cambiar al directorio Documentos, luego escriba el siguiente comando:

find . -name pro*

Se enumeran todos los archivos del directorio actual que comienzan con «pro».

NOTA: El comando de búsqueda distingue entre mayúsculas y minúsculas de forma predeterminada. Si desea que la búsqueda de una palabra o frase no distinga entre mayúsculas y minúsculas, utilice la -iname opción con el comando de búsqueda. Esta es la versión que no distingue entre mayúsculas y minúsculas del -name pedido.

find no encuentra ningún archivo que coincida con sus criterios, no produce ningún resultado.

El comando de búsqueda proporciona muchas opciones para refinar la búsqueda. Para obtener más información sobre el comando de búsqueda, ejecute man find en una ventana de terminal y presione Enter.

Usando el comando de localización

El comando de localización es más rápido que el comando de búsqueda porque usa una base de datos previamente construida, mientras que el comando de búsqueda busca en el sistema real, todos los directorios y archivos reales. El comando de localización devuelve una lista de todos los nombres de ruta que contienen el grupo de caracteres especificado.

La base de datos se actualiza periódicamente desde cron, pero también puede actualizarla usted mismo en cualquier momento para obtener resultados al minuto. Para hacer esto, escriba el siguiente comando en el símbolo del sistema:

sudo updatedb

Introduzca su contraseña cuando se le solicite.

La forma básica del comando de localización busca todos los archivos en el sistema de archivos, comenzando por la raíz, que contienen algunos o todos los criterios de búsqueda.

locate mydata

Por ejemplo, el comando anterior encontró dos archivos que contienen «mydata» y un archivo que contiene «datos».

Si desea encontrar todos los archivos o directorios que contienen exactamente y solo sus criterios de búsqueda, utilice el -b con el comando de localización, de la siguiente manera.

locate -b ‘mydata’

La barra invertida en el comando anterior es un carácter global, que permite que los caracteres comodín en un nombre de archivo no específico se expandan en un conjunto de nombres de archivo específicos. Un comodín es un símbolo que se puede reemplazar por uno o más caracteres al evaluar la expresión. Los símbolos genéricos más comunes son el signo de interrogación ( ? ), que representa un solo carácter y el asterisco ( * ), que representa una cadena contigua de caracteres. En el ejemplo anterior, la barra invertida desactiva el reemplazo implícito de «mydata» por «* mydata *» para que solo obtenga resultados que contengan «mydata».

El comando mlocate es una nueva implementación de localizar. Indexa todo el sistema de archivos, pero los resultados de la búsqueda solo incluyen archivos a los que el usuario actual tiene acceso. Cuando actualiza la base de datos mlocate, mantiene la información de la marca de tiempo en la base de datos. Esto le permite a mlocate saber si el contenido de un directorio ha cambiado sin tener que reproducir el contenido y hace que las actualizaciones de la base de datos sean más rápidas y menos exigentes en su disco duro.

Cuando instala mlocate, el archivo binario / usr / bin / Locate cambia para apuntar a mlocate. Para instalar mlocate, si aún no está incluido en su distribución de Linux, escriba el siguiente comando en el indicador.

sudo apt-get install mlocate

NOTA: Le mostraremos un comando más adelante en este artículo que le permite determinar dónde se encuentra el ejecutable de un comando, si existe.

El comando mlocate no usa el mismo archivo de base de datos que el comando de localización estándar. Por lo tanto, es posible que desee crear la base de datos manualmente escribiendo el siguiente comando en el indicador:

sudo /etc/cron.daily/mlocate

El comando mlocate no funcionará hasta que la base de datos se cree manualmente o cuando el script se ejecute desde cron.

Para obtener más información sobre el comando localizar o mlocate, escriba man locate Dónde man mlocate en una ventana de terminal y presione Enter. Se muestra la misma pantalla de ayuda para ambos comandos.

Usando el comando Which

El comando «which» devuelve la ruta absoluta del ejecutable que se llama cuando se emite un comando. Esto es útil para encontrar la ubicación de un ejecutable para crear un acceso directo al programa en el escritorio, en un panel o en cualquier otro lugar del administrador de escritorio. Por ejemplo, escribiendo el comando which firefox muestra los resultados que se muestran en la imagen siguiente.

De forma predeterminada, el comando which muestra solo el primer ejecutable coincidente. Para mostrar todos los ejecutables correspondientes, use el -a opción con el comando:

which -a firefox

Puede buscar más de un ejecutable a la vez, como se muestra en la siguiente imagen. Solo se muestran las rutas de los ejecutables encontrados. En el siguiente ejemplo, solo se encontró el ejecutable «ps».

NOTA: El comando which solo busca la variable PATH para el usuario actual. Si busca un ejecutable que solo esté disponible para el usuario root como usuario normal, no se mostrarán resultados.

Para obtener más información sobre el comando which, escriba «man which» (sin las comillas) en el símbolo del sistema en una ventana de terminal y presione Entrar.

Usando el comando Whereis

El comando whereis se usa para averiguar dónde se encuentran los archivos binarios, fuente y de página de manual de un comando. Por ejemplo, escriba whereis firefox en el indicador muestra los resultados como se muestra en la siguiente imagen.

Si desea mostrar solo la ruta al ejecutable, y no las rutas a la fuente y las páginas de manual, use la -b opción. Por ejemplo, el comando whereis -b firefox solo se mostrará /usr/bin/firefox como resultado. Esto es conveniente porque probablemente buscará el archivo ejecutable de un programa con más frecuencia de lo que buscaría el código fuente y las páginas de manual de ese programa. También puede buscar solo los archivos de origen ( -s ) o solo para páginas de manual ( -m ).

Para obtener más información sobre el comando whereis, escriba man whereis en una ventana de terminal y presione Enter.

Comprender la diferencia entre el comando Whereis y el comando Which

El comando whereis le muestra la ubicación del binario, la fuente y las páginas de manual de un comando, mientras que el comando which solo le muestra la ubicación del binario del comando.

El comando whereis busca en una lista de directorios específicos archivos binarios, fuente y man, mientras que el comando which busca los directorios enumerados en la variable de entorno PATH del usuario actual. Para el comando whereis, la lista de directorios específicos se puede encontrar en la sección ARCHIVOS de las páginas del manual del comando.

En cuanto a los resultados que se muestran de forma predeterminada, el comando whereis muestra todo lo que encuentra, mientras que el comando which muestra solo el primer ejecutable que encuentra. Puede cambiar esto usando el -a opción, discutida anteriormente, para el comando which.

Dado que el comando whereis solo utiliza rutas codificadas de forma rígida en el comando, es posible que no siempre encuentre lo que está buscando. Si está buscando un programa que cree que podría instalarse en un directorio que no figura en las páginas de manual del comando whereis, puede usar el comando which con el -a opción para encontrar todas las apariciones del comando en todo el sistema.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Experto Geek - Tu Guía en Tendencias Tecnológicas