GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cuál es la diferencia entre 'localizar' y 'buscar' en Linux?

find búsquedas en el sistema real. Es más lento pero siempre actualizado y tiene más opciones (tamaño, tiempo de modificación,...)

locate utiliza una base de datos construida previamente (comando updatedb ). Es mucho más rápido, pero usa una base de datos 'más antigua' y busca solo nombres o partes de ellos.

En cualquier caso, man find y man locate te ayudará más.


Tanto el locate y find los comandos encontrarán un archivo, pero funcionan de maneras bastante diferentes.

locate funcionará en modo fuera de línea:

  • Para una explicación simple, la base de datos de indexación de archivos en el sistema Unix se llama slocate enumerará las ubicaciones de todos los archivos que se envían con el sistema Unix. Cuando ejecutas locate , usará esa base de datos para buscar un archivo en particular. El problema con locate es si acaba de crear un archivo que ahora desea buscar, ubique no funcionará porque slocate la base de datos no está actualizada. Para superar este problema, puede usar updatedb para actualizar el slocate base de datos. Ejecutando locate de nuevo ahora encontrará el archivo recién creado. Por lo tanto, muchos administradores de sistemas Linux usan un cron trabajo para actualizar regularmente el slocate base de datos.

find funcionará en modo en línea/"en tiempo real".

  • Realmente irá y buscará en todos los directorios para encontrar el archivo específico especificado y examinará cada archivo uno por uno. Por lo tanto, requiere muchas llamadas de E/S.

Entonces, según la naturaleza, está claro que localizar es más rápido que encontrar, pero encontrar es en tiempo real.

Espero que esto ayude a aclarar la idea. Mis mejores deseos. :)


Linux
  1. ¿Cuál es la diferencia entre localizar y encontrar el comando en Linux?

  2. ¿Cuál es la diferencia entre env y set (en Mac OS X o Linux)?

  3. ¿Cuál es la diferencia entre el búfer y la memoria caché en Linux?

  4. ¿Cuál es la diferencia entre strtok_r y strtok_s en C?

  5. ¿Cuál es la diferencia entre un controlador de plataforma Linux y un controlador de dispositivo normal?

¿Cuál es la diferencia entre los núcleos de macOS y Linux?

¿Cuál es la diferencia entre Linux y Unix?

¿Cuál es la diferencia entre Rsync y BTRFS en Linux?

¿Qué es un Hipervisor? ¿Cuál es la diferencia entre el tipo 1 y 2?

¿Cuál es la diferencia entre curl y Wget?

¿Cuál es la diferencia entre unlink y rm?