He estado usando linux durante décadas y, aunque la línea de comando Aunque es algo natural para mí, todavía opto por usar herramientas GUI porque tienden a ser mucho más eficientes que sus contrapartes basadas en terminales. Sin embargo, hay una tarea para la que siempre recurro a la línea de comandos: buscar archivos.
Sí, hay muchas herramientas GUI disponibles para este propósito y muchos entornos de escritorio integran la función en los menús de sus aplicaciones. Sin embargo, encuentro que algunas de esas opciones no son buenas para localizar archivos y su indexación a veces puede provocar una ralentización del sistema. Por estos motivos prefiero abrir una ventana de terminal y localizar el archivo en cuestión.
También: Dos trucos que facilitan mucho el uso de la línea de comandos de Linux
El único inconveniente de este método es que, a diferencia de cuando se utiliza una GUI, una vez que se encuentra un archivo, hay que abrirlo manualmente. La herramienta GUI encontrará el archivo y luego le permitirá simplemente hacer clic (o doble clic) para abrirlo. Con la opción de línea de comando, se le presentará la ubicación del archivo. Luego deberá abrir la aplicación asociada y abrir el archivo a través del menú Archivo > Abrir de la aplicación. Sin embargo, este proceso manual es una compensación que estoy dispuesto a aceptar por la velocidad y precisión de la herramienta de línea de comandos.
Déjame mostrarte cómo utilizar la herramienta.
Cómo encontrar un archivo desde la CLI
Lo que necesitarás: Lo único que necesitará para esta tarea es una instancia en ejecución de prácticamente cualquier distribución de Linux. Yo uso el encontrar comando por dos razones: está instalado de forma predeterminada y es fácil de usar. Déjame mostrarte lo fácil que es encontrar un archivo en Linux.
Abra una ventana de terminal desde el menú de su escritorio. Con la aplicación de terminal abierta, escriba la sintaxis del comando de búsqueda básico:
En el comando anterior, ARCHIVO es el nombre del archivo que estás buscando.
Ahora déjame explicarte un par de cosas. En primer lugar, le pones un «nombre» para que coincida con un patrón. Puedes usar encontrar sin nombre, pero no encontrará el archivo que está buscando a menos que esté en el directorio correcto que contiene el archivo. Esa restricción, por supuesto, probablemente sea de poca o ninguna utilidad, así que recuerde siempre agregar -nombre al comando y localizará el archivo en cuestión, independientemente de dónde haya ejecutado el comando.
También: Linux no es sólo para desarrolladores y profesionales de la línea de comandos
En segundo lugar, ARCHIVO distingue entre mayúsculas y minúsculas. Si estás buscando un archivo llamado MyFile y usas el comando buscar -nombre miarchivo, buscar no podrá localizar el archivo. En tercer lugar, el comando de búsqueda sólo podrá buscar archivos dentro de directorios para los que tenga permiso de ver. Si Find encuentra un directorio al que no tiene acceso, recibirá el Permiso denegado error.
Digamos que estás buscando MyFile.txt. Simplemente podrías ejecutar el comando:
Pero, ¿qué pasa si tiene archivos llamados MyFile.txt, MyFile,odt y MyFile.rtf y desea saber dónde están ubicados? En esa situación, podrías usar el comodín *, así:
Ahora, find buscará todas las instancias de MyFile e informará dónde están.
Sin embargo, hay una trampa en este truco. Digamos que tiene MyFile.rtf en su directorio de inicio (también conocido como ~/), MyFile.odt en su directorio de Descargas y MyFile.txt en su directorio de Documentos.
Si estás en tu directorio de inicio y emites el comando buscar -nombre MiArchivo.*el comando encontrará MyFile.rtf en el directorio de inicio y dejará de buscar.
También: Cómo instalar aplicaciones Linux desde la línea de comandos
Pero si estás en el directorio raíz de tu sistema (también conocido como /) y ejecutas el encontrar comando, encontrará los tres archivos, con un resultado similar a este:
./jack/MyFile.rtf ./jack/Downloads/MyFile.odt ./jack/Documents/MyFile.txt
Hay otra forma de evitar esta trampa, donde puedes colocar el nombre del archivo entre comillas, así:
Incluso si está en su directorio de inicio, buscar continuará buscando después de localizar la primera instancia del archivo. Mi consejo es que adquiera el hábito de utilizar siempre comillas para los nombres de los archivos.
Y así de fácil es encontrar archivos en Linux desde la línea de comandos.