GNU/Linux >> Linux Esercitazione >  >> Linux

Qual è la differenza tra "trova" e "trova" in Linux?

find ricerche nel sistema reale. È più lento ma sempre aggiornato e ha più opzioni (dimensione, tempo di modifica,...)

locate utilizza un database creato in precedenza (comando updatedb ). È molto più veloce, ma utilizza un database "vecchio" e cerca solo nomi o parti di essi.

In ogni caso, man find e man locate ti aiuterà ulteriormente.


Sia il locate e find i comandi troveranno un file, ma funzionano in modi molto diversi.

locate funzionerà in modalità offline:

  • Per una semplice spiegazione, il database di indicizzazione dei file nel sistema Unix chiamato slocate elencherà le posizioni di tutti i file forniti con il sistema Unix. Quando esegui locate , utilizzerà tale database per cercare un determinato file. Il problema con locate è se hai appena creato un file che ora vuoi cercare, localizza non funzionerà perché slocate il database non è aggiornato. Per superare questo problema, puoi usare updatedb per aggiornare lo slocate Banca dati. Esecuzione di locate again ora troverà il file appena creato. Pertanto, molti amministratori di sistema Linux usano un cron lavoro per aggiornare regolarmente lo slocate database.

find funzionerà in modalità online/"in tempo reale".

  • In realtà andrà a cercare in tutte le directory per trovare il particolare file specificato ed esaminerà ogni file uno per uno. Pertanto, richiede molte chiamate I/O.

Quindi, in base alla natura, è chiaro che individuare è più veloce di trovare, ma trovare è in tempo reale.

Spero che questo aiuti a chiarire l'idea. Ti auguro il meglio. :)


Linux
  1. Qual è la differenza tra un container Linux e un'immagine?

  2. Qual è la differenza tra individuare e trovare il comando in Linux

  3. Qual è la differenza tra fsck ed e2fsck?

  4. Qual è la differenza tra una chiamata di libreria e una chiamata di sistema in Linux?

  5. Qual è la differenza tra unlink e rm?

Qual ​​è la differenza tra i kernel macOS e Linux

Qual è la differenza tra Linux e Unix?

Qual è la differenza tra Rsync e BTRFS in Linux?

Che cos'è un hypervisor? Qual è la differenza tra il tipo 1 e 2?

Qual è la differenza tra curl e Wget?

Qual è la differenza tra Unix, Linux, BSD e GNU?