Como sugiere el nombre, el comando de localización en Linux se utiliza para localizar (buscar) un archivo. Tiene la siguiente sintaxis:
locate [options] filename
Si bien es realmente simple usar el comando de localización, viene con muchos peros y condiciones. Para empezar, si no encuentra un archivo, no significa necesariamente que el archivo no exista en el sistema.
No te confundas ahora. Explicaré cómo funciona el comando de localización y cómo puede usarlo para buscar archivos.
Uso del comando de localización en Linux
El comando de localización funciona en un índice, es decir, una base de datos de ubicaciones de archivos. Cuando usa el comando, se refiere a este índice en lugar de buscar en todo el sistema de archivos. Esta es la razón por la que localizar es súper rápido para encontrar archivos en Linux.
Algunas distribuciones de Linux indexan automáticamente todo el sistema de archivos de forma regular. También puede crear manualmente este índice (se lo mostraré más adelante en este artículo).
Usar el comando de localización es muy simple. Solo tienes que especificar el nombre del archivo:
locate filename
El resultado mostrará todos los lugares donde se encontró el archivo que especificó.
[email protected]:~$ locate desktop.iso
/home/abhishek/desktop.iso
La mejor parte es que no necesita estar en el directorio determinado para encontrar el archivo. Recuerde, el comando de localización no busca en el sistema de archivos sino en el índice. Es por eso que no necesita especificar una ruta o directorio mientras busca archivos.
También puede realizar una búsqueda que no distinga entre mayúsculas y minúsculas usando la opción -i:
[email protected]:~$ locate -i desktop.iso
/home/abhishek/desktop.iso
/home/abhishek/Downloads/Desktop.iso
Tenga en cuenta que el resultado puede mostrar todos los archivos que tienen el término de búsqueda en su nombre.
[email protected]:~$ locate -i desktop
/home/abhishek/eoan-desktop-amd64.iso
/home/abhishek/Bionic-Desktop-amd64.iso
/home/abhishek/desktop.iso
/home/abhishek/Downloads/Desktop.iso
También puede usar expresiones regulares con localizar:
locate -r regex_expression
Uso de updatedb para crear su propio índice para el comando de localización
Esto es solo para fines informativos y no creo que necesite usarlo.
Si desea crear un índice del directorio actual (y sus subdirectorios), puede usar el comando updatedb como este:
updatedb -l0 -U my_directory -o index_file
Una vez que haya creado este archivo de índice, puede solicitar el comando de localización para usar explícitamente este índice:
locate -d index_file file_name
¿Localizar es mejor que el comando de búsqueda?
Si desea buscar archivos en una estructura de directorios que no cambia mucho, el comando de localización es una buena opción. También es súper rápido.
Pero el comando de búsqueda le brinda muchas opciones, especialmente para realizar opciones de búsqueda complejas.
Ambos comandos tienen su uso. En mi opinión, si te sientes perezoso y quieres un resultado rápido, usa la localización. Si el resultado no es de su agrado, cambie a buscar comando.
¿Qué opinas?