28Jun

Cómo encontrar archivos y carpetas en Linux usando la línea de comando

click fraud protection

La mayoría de las personas usa un administrador de archivos gráficos para buscar archivos en Linux, como Nautilus en Gnome, Dolphin en KDE y Thunar en Xfce. Sin embargo, hay varias maneras de usar la línea de comando para buscar archivos en Linux, sin importar el administrador de escritorio que use.

Uso del comando Buscar

El comando "buscar" le permite buscar archivos para los cuales conoce los nombres aproximados de los archivos. La forma más simple del comando busca los archivos en el directorio actual y recursivamente a través de sus subdirectorios que coinciden con los criterios de búsqueda provistos. Puede buscar archivos por nombre, propietario, grupo, tipo, permisos, fecha y otros criterios.

Al escribir el siguiente comando en la lista, se enumeran todos los archivos encontrados en el directorio actual.

encontrar.

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

Para buscar archivos que coincidan con un patrón específico, use el argumento -name. Puede usar metacaracteres de nombre de archivo( como *), pero debe colocar un carácter de escape( \) delante de cada uno de ellos o incluirlos entre comillas.

instagram viewer

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

find.-name pro \ *

Todos los archivos en el directorio actual que comienzan con "pro" están listados.

NOTA: El comando find está predeterminado para distinguir entre mayúsculas y minúsculas. Si desea que la búsqueda de una palabra o frase no distinga entre mayúsculas y minúsculas, utilice la opción -iname con el comando find. Es la versión insensible al caso del comando -name.

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

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

Uso del comando Locate

El comando locate es más rápido que el comando find porque utiliza una base de datos previamente construida, mientras que el comando find busca en el sistema real, a través de todos los directorios y archivos reales. El comando locate 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 que pueda obtener resultados actualizados al minuto. Para hacerlo, escriba el siguiente comando en el indicador:

sudo updatedb

Ingrese su contraseña cuando se le solicite.

La forma básica del comando locate encuentra todos los archivos en el sistema de archivos, comenzando desde la raíz, que contienen todo o parte de 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 buscar todos los archivos o directorios que contienen exactamente y solo sus criterios de búsqueda, use la opción -b conel comando locate, de la siguiente manera.

locate -b '\ mydata'

La barra invertida en el comando anterior es un carácter globbing, que proporciona una forma de expandir los caracteres comodín en un nombre de archivo no específico a un conjunto de nombres de archivo específicos. Un comodín es un símbolo que puede ser reemplazado por uno o más caracteres cuando se evalúa la expresión. Los símbolos comodín 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 deshabilita la sustitución implícita de "mydata" por "* mydata *", por lo que solo obtendrá resultados que contengan "mydata".

El comando mlocate es una nueva implementación de locate. Indexa todo el sistema de archivos, pero los resultados de búsqueda solo incluyen los archivos a los que tiene acceso el usuario actual. Cuando actualiza la base de datos mlocate, guarda información de marca de tiempo en la base de datos. Esto permite que mlocate sepa si los contenidos de un directorio cambiaron sin leer los contenidos nuevamente y hace que las actualizaciones en la base de datos sean más rápidas y menos exigentes en su disco duro.

Cuando instala mlocate, el /usr/bin/ ubica los cambios en el archivo binario para apuntar a la ubicación. 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 utiliza 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 la secuencia de comandos se ejecute desde cron.

Para obtener más información acerca del comando locate o mlocate, escriba man locate o man mlocate en una ventana de Terminal y presione Enter. La misma pantalla de ayuda se muestra para ambos comandos.

Uso de Which Command

El comando "which" devuelve la ruta absoluta del archivo ejecutable al 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 u otro lugar en el administrador de escritorio. Por ejemplo, escribiendo el comando que firefox muestra los resultados que se muestran en la imagen a continuación.

Por defecto, el comando which solo muestra el primer ejecutable coincidente. Para mostrar todos los ejecutables que coincidan, use la opción -a con el comando:

que -a firefox

Puede buscar múltiples ejecutables usando a la vez, como se muestra en la siguiente imagen. Solo se muestran las rutas a los ejecutables encontrados. En el siguiente ejemplo, solo se encontró el ejecutable "ps".

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

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

Uso del comando Whereis

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

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

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

Comprender la diferencia entre el comando Whereis y qué comando

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

El comando whereis busca a través de una lista de directorios específicos para los archivos binarios, de origen y de hombre, 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 man para el comando.

Cuando se trata de resultados mostrados de forma predeterminada, el comando whereis muestra todo lo que encuentra, mientras que el comando que solo muestra el primer ejecutable que encuentra. Puede cambiar eso usando la opción -a, discutida anteriormente, para cada comando.

Debido a que el comando whereis solo usa rutas codificadas en el comando, es posible que no siempre encuentres lo que estás buscando. Si está buscando un programa que cree que podría estar instalado en un directorio que no figura en las páginas man para el comando whereis, puede usar el comando which con la opción -a para encontrar todas las instancias del comando en todo el sistema.