GNU/Linux >> Tutoriales Linux >  >> Linux

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

Este tutorial lo guiará a través de las diferentes formas de encontrar un directorio en Linux. Como ya sabrá, en Linux todo es un archivo, incluidos los 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 usa 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 locate. .

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

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

# locate [option] [search-pattern]

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

Nota :En el siguiente comando, la opción --basename o -b dice localizar para que solo coincida con el nombre base del archivo (directorio) (que es exactamente pkg ) pero no la ruta (/path/to/pkg ). donde \ es un carácter global, deshabilita el reemplazo implícito de pkg por *pkg* .

$ locate --basename '\pkg'

Como puede ver en el resultado del comando anterior, ubicar buscará a partir de la raíz (/) directorio, por eso se hacen coincidir otros directorios con el mismo nombre.

Por lo tanto, para solucionar este problema, utilice find siguiendo la siguiente sintaxis simplificada:

$ 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 -name marca lee la expresión que en este caso es el nombre base del directorio.

$ find . -name "pkg"

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

$ sudo find . -name "pkg"

Puede evitar que Find busque otros tipos de archivos, excepto directorios, utilizando -type bandera 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 distingue entre 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 man de find y localizar .

$ man find
$ man locate

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

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, mantente siempre conectado a Tecmint .


Linux
  1. Cómo usar el comando Grep para buscar texto en archivos

  2. ¿Usar el comando Grep y localizar?

  3. Utilice Buscar y localizar para buscar archivos en Linux

  4. Una guía para el comando "Buscar" de Linux

  5. ¿Alternativas más rápidas para encontrar y localizar?

Cómo usar el comando grep en Linux/UNIX

Buscar comando en Linux (Buscar archivos y directorios)

7 formas de usar el comando Head de Linux

7 formas de usar el comando Watch de Linux

Cómo instalar y usar el comando de localización en Linux

Buscar comando en Linux/UNIX