¿Cuál es la diferencia básica entre locate
whereis
y which
comando?
La diferencia básica que he observado es que locate
localiza todos los nombres de archivos relacionados en todo el sistema de archivos, mientras que whereis
y which
comandos sólo dan la ubicación (sistema / dirección local del archivo) de aplicación instalada. ¿Qué tan precisa es mi observación?
¿Cómo se implementan estos comandos internamente? ¿Por qué locate
funciona tan rápido en comparación con la búsqueda de guiones, mientras que locate
tiene que buscar un nombre de archivo en particular que coincida con la cadena de destino en toda la jerarquía del sistema de archivos?
command-line
unity-dash
search
locate
Chinmaya B
fuente
fuente
type
? : Ptype
, por favor elaborartype
es otro comando que parece (a mis ojos) hacer algo similar a los que mencionaste.type
comando. Lo intentéman type
yinfo type
.Respuestas:
which
encuentra el ejecutable binario del programa (si está en su RUTA).man which
explica más claramente:whereis
encuentra los archivos binarios, de origen y de página de manual para un programa. Por ejemploPuede obtener detalles adicionales al pasar la salida de estos comandos como argumentos
ls -l
aofile
locate
de hecho, encuentra todos los archivos que tienen el patrón especificado en cualquier parte de sus rutas. Puede indicarle que solo busque archivos y directorios cuyos nombres (en lugar de rutas completas) incluyan el patrón con la-b
opción, que generalmente es lo que desea, y proporciona una lista menos difícil de manejar.locate
es rápido porque usa una base de datos binaria que se actualiza periódicamente (una vez al día, porcron
). Puede actualizarlo usted mismo para asegurarse de encontrar los archivos agregados recientemente ejecutandosudo updatedb
Una cosa más sobre
locate
: no le importa si los archivos aún existen o no, así que para evitar encontrar archivos eliminados recientemente, úselo-e
. A menudo también me canalizoless
ya que la lista puede ser larga. Normalmente hago:Aquí se explica cómo funciona el tablero de Unity : utiliza Zeitgeist para indexar archivos del sistema y aprender de los patrones de uso, y permite que otras aplicaciones utilicen estos datos, por lo que está haciendo mucho más trabajo que
locate
.fuente
locate
. El guión usa un índice completamente diferente, más lento porque hace más cosas (edité mi respuesta)sudo updatedb
su comando es muy útil no sabía que aunque yo usaba -e regularmente.Simplemente
qué comando busca en la lista de programas enumerados a través de la configuración de RUTA
El comando whereis también busca programas que no están presentes en la configuración RUTA
También busca archivos por nombre de archivo, pero no busca en la estructura del directorio en sí, sino solo en una base de datos preparada por updatedb. Debido a eso, localizar es más rápido que encontrar pero menos preciso. Ejemplos:
fuente