Encontrar datos en un sistema con miles de archivos se vuelve muy difícil para los administradores, especialmente para los usuarios del sistema que no están familiarizados con la línea de comandos. Si bien es posible buscar a través de la interfaz gráfica de usuario, tiene ciertas limitaciones en términos de velocidad y funcionalidad. La línea de comandos proporciona flexibilidad para buscar rápidamente archivos utilizando varios criterios de búsqueda. En Linux, hay varios comandos que puede usar para buscar archivos y carpetas en su sistema.
En este artículo, aprenderemos cómo usar varios comandos para encontrar archivos y carpetas en su sistema Debian. Usaremos los siguientes comandos para buscar archivos:
- Buscar comando
- Comando de localización
- Comando grep
Tenga en cuenta que usamos Debian 10 y Debian 11 para ejecutar los comandos y procedimientos mencionados en este artículo.
Usando el comando Buscar
Find es el comando más efectivo para buscar archivos en un sistema. Es útil incluso si no conoce el nombre del archivo, ya que le permite buscar archivos en función de diversas condiciones, como la fecha de creación del archivo, la fecha de modificación, los permisos, etc.
La siguiente sintaxis se puede usar para buscar un archivo usando el comando Buscar:
$ find /path/to/file/ -iname filename
Por ejemplo, para buscar un archivo llamado “license.pdf” en el directorio ~/Downloads, use el siguiente comando:
$ find ~/Downloads/ -iname license.pdf
Recuerda que, si no especificas el directorio, buscará los archivos en tu directorio actual.
Buscar archivo usando comodines
Los caracteres comodín también se pueden usar para encontrar los archivos que coinciden con la consulta.
$ find /path/to/file/ -iname filename\*
Por ejemplo, para buscar todos los archivos en un directorio que comienza con la palabra "prueba", se puede usar el siguiente comando:
$ find ~/Downloads -iname test\*
Buscar archivos vacíos
Para buscar archivos vacíos en un directorio, use la siguiente sintaxis de comando:
$ find /path/to/file/ -empty
Por ejemplo, para encontrar todos los archivos vacíos en el directorio ~/Descargas, se utilizará el siguiente comando:
$ find ~/Downloads/ -empty
Buscar archivos por fecha y hora
También puede buscar archivos en función de cuándo se accedió a ellos o se modificaron. Puede buscar archivos según las siguientes condiciones:
- mtime (Tiempo de modificación en días)
- atime (Tiempo de acceso en días)
- ctime (Cambio de tiempo en días)
Para buscar archivos que se modificaron hace menos de 3 días, use el siguiente comando en la Terminal:
$ find /path/to/file -mtime -3
De manera similar, para buscar archivos que se modificaron hace más de 3 días, use +3.
Para encontrar archivos a los que se accedió hace menos de 3 días, use el siguiente comando en la Terminal:
$ find /path/to/file -atime -3
Para buscar archivos que se cambiaron hace menos de 3 días, use el siguiente comando en la Terminal:
$ find /path/to/file -ctime -3
Búsqueda basada en el tamaño del archivo
Para buscar archivos según el tamaño, use el interruptor de tamaño seguido del tamaño del archivo. Para encontrar el archivo con un tamaño de 5kb, use:
Para buscar archivos con un tamaño inferior a 5M, use:
$ find /path/to/file -size -5M
Para buscar archivos con tamaños superiores a 5M, utilice:
$ find /path/to/file -size +5M
Búsqueda basada en permisos de archivo
Para buscar archivos con permisos particulares, use la siguiente sintaxis:
$ find /path/to/file/ -type -perm mode
Introduzca d o f después del parámetro de tipo para mencionar el tipo de archivo. (d para directorios y f para archivos). Reemplazar modo con permisos numéricos (por ejemplo, 777, 655, etc.) o simbólicos (por ejemplo, u=x, a=r+x).
Por ejemplo, para buscar un archivo con el permiso 655, use el siguiente comando en la Terminal:
$ find /path/to/file -type f -perm 777
Usando el comando de localización
También se puede usar otro comando Localizar para buscar archivos en Linux. No ofrece tantos criterios de búsqueda como el comando Buscar, sin embargo, es mucho más rápido y eficiente que el comando Buscar. Mantiene su propia base de datos manteniendo un registro de los nuevos archivos agregados en su sistema. Entonces, cada vez que busca un archivo, no lo busca en su disco duro. En su lugar, busca el archivo en su propia base de datos.
Instalando Localizar
Locate no viene preinstalado en las distribuciones de Linux. Tendrás que instalarlo manualmente. Ejecute el siguiente comando en su terminal de línea de comandos para instalar la utilidad Locate.
$ sudo apt-get install locate
Una vez instalado, puede comenzar a usarlo para buscar archivos en su sistema.
La siguiente sintaxis se puede utilizar para buscar archivos:
$ locate –i <path/to/file or filename>
-i se usa para ignorar las mayúsculas y minúsculas del nombre del archivo.
Buscando un archivo
Por ejemplo, para buscar un nombre de archivo "licencia", ingrese el siguiente comando en la Terminal:
$ locate –i license.pdf
Buscar varios archivos
También se puede utilizar para buscar varios nombres de archivo a la vez. Por ejemplo, use el siguiente comando en Terminal para buscar dos archivos separados "license.pdf" y “archivo de prueba1” simultáneamente:
Buscar usando comodín
También puede encontrar los archivos que coinciden con la consulta utilizando el carácter comodín. Por ejemplo, para buscar todos los archivos que terminan en ".ttf", use el siguiente comando en la Terminal:
$ locate –i ~/Downloads/*.ttf
Actualizar la base de datos de localización
El comando de localización depende de su propia base de datos para funcionar. Por lo tanto, para que funcione correctamente, la base de datos debe actualizarse periódicamente. Para hacerlo, ejecute el siguiente comando en la Terminal:
$ sudo updatedb
Uso de Grep comando
El comando Grep se usa básicamente para imprimir texto de archivos que coinciden con un patrón específico. Sin embargo, también puede usarlo para buscar archivos en un directorio. Por ejemplo, estamos buscando un archivo pero no sabemos el nombre del archivo. En ese caso, podemos buscar su ubicación usando una palabra clave que contenga.
$ grep OPTIONS PATTERN /path/to/file
Donde OPCIONES tiene algunas opciones de control de búsqueda y PATRÓN contiene la palabra clave que deseamos buscar.
En el siguiente ejemplo, usaremos grep para encontrar los archivos que contienen la palabra clave "cuenta".
$ grep –r -i “account” ~/Downloads
donde
-i se usa para ignorar el caso de las palabras clave mencionadas
-r se usa para buscar recursivamente en el directorio especificado
En este artículo, hemos discutido algunas formas de línea de comandos para encontrar archivos en un sistema Debian. Puede usar la GUI para buscar archivos, pero la línea de comandos ofrece más eficiencia en términos de velocidad y funcionalidad.