Formas de usar el comando 'buscar' para buscar directorios de manera más eficiente


Este tutorial lo llevará a través de las diferentes maneras de encontrar un directorio en Linux. Como ya sabrá, en Linux todo es un archivo que incluye directorios. Y una de las cosas comunes que un usuario de Linux hará dentro de la línea de comandos es buscar un archivo o un directorio.

Hay varios medios y utilidades diferentes que se utilizan para buscar archivos en la línea de comandos, como buscar, localizar y cuál . Sin embargo, la última utilidad ( que ) solo se utiliza para localizar un comando.

Para el alcance de este tutorial, nos centraremos principalmente en la utilidad de búsqueda, que busca archivos en un sistema de archivos Linux en vivo y es más eficiente y confiable en comparación con localizar .

La desventaja de ubicar es que lee una o más bases de datos creadas por updatedb , no busca en un sistema de archivos en vivo. Además, tampoco ofrece flexibilidad en cuanto a dónde buscar (punto de partida).

A continuación se muestra la sintaxis para ejecutar el comando localizar :

# locate [option] [search-pattern]

Para demostrar la desventaja de ubicar , asumamos que estamos buscando un directorio llamado pkg en el directorio de trabajo actual.

rojo

$ locate --basename '\pkg'

Como puede ver en el resultado del comando anterior, localizar buscará desde el directorio raíz (/) , por eso coinciden otros directorios con el mismo nombre.

Por lo tanto, para solucionar este problema, use buscar siguiendo la sintaxis simplificada que se encuentra a continuación:

$ find starting-point options [expression]

Veamos algunos ejemplos.

Para buscar el mismo directorio (pkg) anterior, dentro del directorio de trabajo actual, ejecute el siguiente comando, donde el indicador -name lee la expresión que en este caso es la directorio nombre base.

$ find . -name "pkg"

Si encuentra errores " Permiso denegado ", use el comando sudo así:

$ sudo find . -name "pkg"

Puede evitar que la búsqueda busque otros tipos de archivos, excepto directorios, utilizando el indicador -type para especificar el tipo de archivo (en el comando debajo de d significa directorio) de la siguiente manera:

$ sudo find . -type d -name "pkg"

Además, si desea listar el directorio en un formato de listado largo, emplee el interruptor de acción -ls :

$ sudo find . -type d -name "pkg" -ls

A continuación, la opción -iname habilitará una búsqueda que no distinga mayúsculas y minúsculas:

$ sudo find . -type d -iname "pkg" 
$ sudo find . -type d -iname "PKG" 

Para encontrar información de uso más interesante y avanzada, lea las páginas del manual de encontrar y localizar .

$ man find
$ man locate

Como último comentario, el comando buscar es más confiable y eficiente para buscar archivos (o directorios) en un sistema Linux cuando se compara con el comando localizar

De la misma manera que antes, no olvide enviarnos sus comentarios o preguntas a través de la sección de comentarios a continuación. Por último, siempre permanece conectado a Tecmint .