Cómo encontrar 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 encontrar 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 encontrar archivos en Linux, sin importar qué administrador de escritorio use.
Usando el comando Buscar
El comando "buscar" le permite buscar archivos para los que conoce los nombres de archivo aproximados. La forma más simple del comando busca archivos en el directorio actual y recursivamente a través de sus subdirectorios que coinciden 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 indicador, se enumeran todos los archivos encontrados en el directorio actual.
encontrar .
El punto después de "buscar" indica el directorio actual.
Para encontrar archivos que coincidan con un patrón específico, use la -nombre
argumento. Puede utilizar metacaracteres de nombre de archivo (como *
), pero deberías poner un personaje de escape ( \
) delante de cada uno de ellos o encerrados entre comillas.
Por ejemplo, si queremos encontrar todos los archivos que comienzan con "pro" en el directorio Documentos, usaremos cd documentos /
comando para cambiar al directorio Documentos, y luego escriba el siguiente comando:
encontrar . -nombre pro \ *
Todos los archivos en el directorio actual que comienza con "pro" están listados.
NOTA: El comando de búsqueda por defecto es sensible a las mayúsculas Si desea que la búsqueda de una palabra o frase no distinga mayúsculas de minúsculas, utilice la -iname
Opción con el comando de búsqueda. Es la versión insensible al caso del -nombre
mando.
Si encontrar
no localiza ningún archivo que coincida con sus criterios, no produce salida.
El comando de búsqueda tiene muchas opciones disponibles para refinar la búsqueda. Para más información sobre el comando de búsqueda, ejecute hombre encontrar
En una ventana de Terminal y presiona Enter.
Usando el comando Localizar
El comando de localización es más rápido que el comando de búsqueda porque utiliza una base de datos construida anteriormente, mientras que el comando de búsqueda busca en el sistema real, a través de 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 actualizados al minuto. Para hacer esto, escriba el siguiente comando en el indicador:
sudo updatedb
Introduzca su contraseña cuando se le solicite.
La forma básica del comando localizar encuentra todos los archivos en el sistema de archivos, comenzando en la raíz, que contienen todos o parte de los criterios de búsqueda.
localizar 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 -segundo
Opción con el comando de localización, como sigue.
localice -b '\ mydata'
La barra invertida en el comando anterior es un carácter global, que proporciona una forma de expandir los caracteres comodín en un nombre de archivo no específico en un conjunto de nombres de archivos 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 significa un solo carácter y el asterisco ( *
), que representa una cadena contigua de caracteres. En el ejemplo anterior, la barra invertida desactiva la sustitución implícita de "mydata" por "* mydata *", por lo que terminas con solo resultados que contienen "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 tiene acceso el usuario actual. Cuando actualiza la base de datos mlocate, mantiene la información de marca de tiempo en la base de datos. Esto permite a mlocate saber si el contenido de un directorio cambió sin volver a leerlo y hace que las actualizaciones de la base de datos sean más rápidas y menos exigentes para su disco duro..
Cuando instala mlocate, el archivo binario / usr / bin / localizar cambia para apuntar a mlocate. Para instalar mlocate, si aún no está incluido en su distribución de Linux, escriba el siguiente comando cuando se le solicite.
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 el comando mlocate, escriba hombre localizar
o hombre mlocate
En una ventana de Terminal y presiona Enter. La misma pantalla de ayuda se muestra para ambos comandos.
Usando el comando que
El comando "which" devuelve la ruta absoluta del 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 cual firefox
muestra los resultados mostrados en la imagen de abajo.
De forma predeterminada, el comando que solo muestra el primer ejecutable coincidente. Para mostrar todos los ejecutables que coinciden, use la -una
Opción con el comando:
el cual -un firefox
Puede buscar varios 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 que solo busca la variable PATH del usuario actual. Si busca un archivo ejecutable que solo está disponible para el usuario root como un 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 Enter.
Usando el Comando Whereis
El comando whereis se usa para averiguar dónde se encuentran los archivos binarios, de origen y de página de manual para un comando. Por ejemplo, escribiendo donde esta 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 la fuente y al manual (ual), use la -segundo
opción. Por ejemplo, el comando whereis -b firefox
sólo se mostrará / usr / bin / firefox
como resultado. Esto es útil porque lo más probable es que busque el archivo ejecutable de un programa más a menudo que buscaría las páginas fuente y manual para ese programa. También puede buscar solo los archivos de origen ( -s
) o sólo para las páginas de manual ( -metro
).
Para obtener más información sobre el comando whereis, escriba hombre donde esta
En una ventana de Terminal y presiona 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 man de un comando, mientras que el comando which solo le muestra la ubicación del binario para el comando.
El comando whereis busca en una lista de directorios específicos para los archivos binary, source y man, mientras que el comando which busca los directorios listados 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 de ARCHIVOS de las páginas del manual para el comando.
Cuando se trata de resultados que se muestran de forma predeterminada, el comando whereis muestra todo lo que encuentra, mientras que el comando which solo muestra el primer ejecutable que encuentra. Puedes cambiar eso usando el -una
Opción, discutida anteriormente, para el cual comando.
Debido a que el comando whereis solo usa rutas codificadas en el comando, es posible que no siempre encuentre lo que está buscando. Si está buscando un programa que cree que podría estar instalado en un directorio que no figura en las páginas del manual para el comando whereis, es posible que desee utilizar el comando which con el comando -una
Opción para encontrar todas las apariciones del comando en todo el sistema..