Un problema típico cuando se trabaja con computadoras es que no puede encontrar los archivos que ha guardado en alguna parte. Muchos programas GUI le permiten buscar archivos mientras trabaja en Linux, independientemente de la distribución. Sin embargo, en algunas situaciones, solo tendrá acceso a la terminal de línea de comandos, especialmente si administra servidores o usa SSH para acceder al sistema. Si no puede encontrar sus archivos, debe usar programas de línea de comandos en Linux para buscarlos.
Este tutorial le mostrará cómo usar la Terminal, que es el programa de línea de comandos en el sistema operativo Ubuntu, para buscar archivos. En el shell, hay tres formas bien conocidas de buscar archivos:
- Buscar archivos mediante Buscar comando
- Uso de Localizar comando para buscar archivos
- Uso de Grep comando para buscar en archivos
Los comandos Buscar y Localizar se utilizan para buscar archivos en el sistema, mientras que grep se utiliza para buscar archivos en función del texto que contiene. Find es un método más lento pero contiene varias condiciones de búsqueda, mientras que Locate no incluye tantas condiciones pero es mucho más rápido que Find.
Comencemos con el procedimiento. Usaremos Ubuntu 20.04 LTS por describir el procedimiento mencionado en este artículo.
Método 1:usar el comando Buscar
Buscar es un comando muy flexible que se utiliza para buscar archivos en función de una variedad de condiciones. Es una herramienta muy útil cuando busca un archivo cuyo nombre no recuerda. Con el comando Buscar, puede buscar según el nombre del archivo y la carpeta, la fecha de creación, la fecha de modificación y los permisos. Puede combinar estas múltiples condiciones en un solo comando Buscar. Es una herramienta de búsqueda muy poderosa pero más lenta.
La sintaxis general del comando es:
$ find /path/to/file/ -iname filename
Buscar archivos en un directorio específico
Puede usar el comando Buscar para buscar todos los archivos en un directorio específico. La sintaxis general sería:
$ find /path/to/file/
Por ejemplo, para encontrar todos los archivos en /home/tin/Downloads/ directorio, inicie la Terminal presionando Ctrl+Alt+T y luego ejecute el siguiente comando en la Terminal:
$ find /home/tin/Downloads/
Buscar archivos en el directorio actual
Para buscar archivos en un directorio actual, use
$ find .
Para buscar un archivo llamado, por ejemplo, "softwares" en el directorio actual, use el siguiente comando en la Terminal:
$ find . -iname Softwares
Buscar usando un comodín
También puede utilizar los caracteres comodín para buscar los archivos que coincidan con la consulta. La sintaxis general sería:
$ find /path/to/file/ -iname filename*
Por ejemplo, para buscar archivos que comiencen con la palabra "cent", ejecute el siguiente comando en la Terminal:
$ find /home/tin/ -iname cent*
Buscar archivos vacíos
También puede buscar archivos vacíos con el comando Buscar. La sintaxis general sería:
$ find /path/to/file/ -iname -empty
Por ejemplo, para encontrar archivos vacíos en /home/tin directorio, ejecute el siguiente comando en la Terminal:
$ find /home/tin/ -empty
Buscar por fecha y hora
Usando el comando Buscar, también puede buscar archivos dependiendo de cuándo fueron accedidos o modificados. Hay tipos de tiempo que puede usar para buscar archivos:
- mtime (Hora de modificación) :cuando se modificó el contenido del archivo por última vez.
- atime (Tiempo de acceso) :cuándo se accedió al archivo por última vez.
- ctime (Cambiar hora) :cuándo se modificaron los atributos del archivo por última vez.
Por ejemplo, para buscar archivos en un directorio actual que se modificaron hace menos de 2 días, ejecute el siguiente comando en la Terminal:
$ find . -mtime -2
Para buscar archivos a los que se accedió hace menos de 2 días, ejecute el siguiente comando en la Terminal:
$ find . –atime -2
Para buscar archivos que se cambiaron hace menos de 2 días, ejecute el siguiente comando en la Terminal:
$ find . –ctime -2
Búsqueda basada en el tamaño del archivo
Por ejemplo, para buscar un archivo cuyo tamaño sea mayor a 5 MB, podemos usar el siguiente comando en la Terminal:
$ find . –size +5M\
Búsqueda basada en permisos de archivo
Se utiliza para buscar archivos con permisos específicos. La sintaxis general sería:
$ find /path/to/file/ -type -perm mode
donde:
Tipo el parámetro incluye d o f valor que se utilizan para especificar el tipo de archivo. d para directorios y f solo para archivos.
modo puede ser con permiso numérico (p. ej., 777, 655, etc.) o con permiso simbólico (p. ej., u=x, a=r+x).
Por ejemplo, para buscar un archivo con el permiso 644, podemos usar el siguiente comando en la Terminal:
$ find . –type f –perm 644
Método 2:Usando el comando Localizar
Hay otro comando Localizar que se puede usar para buscar archivos en Linux. No tiene tantas condiciones de búsqueda como ofrece la utilidad Find, pero es mucho mejor y más rápida que la utilidad Find. La razón detrás es el proceso en segundo plano que realmente se ejecuta en su sistema y busca y almacena nuevos archivos en su propia base de datos. A diferencia del comando Buscar, no busca archivos y directorios en su disco duro local, sino que los busca en su propia base de datos. Su base de datos debe actualizarse regularmente para que la utilidad de búsqueda funcione.
Instalando Localizar
Locate no está instalado de forma predeterminada en el sistema operativo Linux. Deberá instalarlo manualmente. Presiona Ctrl+Alt+T para iniciar la Terminal y luego escriba el siguiente comando como sudo para instalar la utilidad Locate:
$ sudo apt-get install locate
Una vez completada la instalación, puede usar la utilidad Localizar de inmediato.
La sintaxis general del comando es:
$ locate –i filename
Donde -i se usa para ignorar las distinciones entre mayúsculas y minúsculas.
Buscando un archivo
Por ejemplo, para buscar un nombre de archivo "centos", use el siguiente comando en la Terminal:
$ locate –i centos
Buscará todos los archivos que incluyan la cadena "centos" en sus nombres de archivo.
Buscar varios archivos
También puede buscar varios nombres de archivos simultáneamente. Por ejemplo, use el siguiente comando en Terminal para buscar dos archivos "sdn.txt" y “centos” :
$ locate –i sdn.txt centos
Buscar usando comodín
También puede utilizar el carácter comodín para buscar los archivos que coincidan con la consulta. Por ejemplo, para buscar todos los archivos que terminan en ".iso", use el siguiente comando en la Terminal:
$ locate –i *.iso
Actualizar la base de datos de localización
El comando Locate se basa en su base de datos para funcionar, por lo que debe actualizarse periódicamente. Ejecute el siguiente comando en Terminal para actualizar la base de datos de la utilidad Locate:
$ sudo updatedb
Método 3:Usando el comando Grep
Aunque Grep no es para buscar archivos directamente en su sistema, en su lugar se usa para buscar texto. Sin embargo, puede usarlo para mostrar los nombres de los archivos que contienen la cadena particular de caracteres que coincide con su consulta de búsqueda. Para buscar una cadena, debe encerrarla entre comillas dobles.
La sintaxis general del comando es:
$ grep [opciones] [patrón] [/ruta/al/archivo]
donde [opciones] El parámetro contiene opciones genéricas para controlar la búsqueda y [patrón] contiene la cadena que queremos buscar.
Si está buscando un archivo que contenga una palabra, que sospecha que podría estar en su directorio específico, puede buscarlo usando la sintaxis de comando anterior en Terminal.
Por ejemplo, para buscar un archivo que contenga la palabra “tintín” y creemos que ese archivo podría estar en nuestras Descargas carpeta, podemos usar el siguiente comando para localizar ese archivo.
$ grep -r –i “tintin” /home/tin/Downloads
donde
-i se usa para ignorar las distinciones de mayúsculas y minúsculas
–r se usa para buscar recursivamente el directorio especificado
Buscar varias palabras
También puede buscar varias cadenas simultáneamente. Tienes que usar la barra invertida "\" y el signo de canalización "|" caracteres entre sus cadenas.
Por ejemplo, para buscar dos cadenas "tintin" y "ping", podemos usar el siguiente comando en la Terminal:
$ grep –r –I “tintin\|ping” /home/tin/Downloads
Entonces, esa fue la breve descripción general de cómo puede buscar archivos usando la línea de comando en Ubuntu. En este artículo, hemos visto tres útiles métodos de línea de comandos para buscar archivos. Puede elegir cualquiera de estos métodos según la velocidad de búsqueda y las condiciones.