Risposte:
find
ricerche nel sistema reale. È più lento ma sempre aggiornato e ha più opzioni (dimensioni, tempo di modifica, ...)
locate
utilizza un database (comando updatedb
) precedentemente creato . È molto più veloce, ma utilizza un database "più vecchio" e cerca solo nomi o parti di essi.
In ogni caso, man find
e man locate
ti aiuterà ulteriormente.
updatedb
fare all'incirca qualcosa del genere find / -type f | gzip > locate.gz
.
Entrambi i comandi locate
e find
troveranno un file, ma funzionano in modi abbastanza diversi.
locate
funzionerà in modalità offline:
locate
, utilizzerà quel database per cercare un determinato file. Il problema locate
è che se hai appena creato un file che ora vuoi cercare, individuare non funzionerà perché il database slocate non è aggiornato. Per ovviare a questo problema, è possibile utilizzare updatedb
per aggiornare il database slocate . L'esecuzione di locate
nuovo ora troverà il file appena creato. Pertanto, molti amministratori di sistema Linux utilizzano un cron
lavoro per aggiornare regolarmente il database slocate .find
funzionerà in modalità online / "in tempo reale".
Quindi, in base alla natura, è chiaro che individuare è più veloce di trovare ma trovare è in tempo reale.
Spero che questo possa aiutare a chiarire l'idea. Ti auguro il meglio. :)
Un'alternativa all'utilizzo di find è il comando Locate. Questo comando è spesso più veloce e può facilmente cercare nell'intero file system. È possibile installare il comando con apt-get:
sudo apt-get update
sudo apt-get install mlocate
Il motivo per cui individuare è più veloce di find è perché si basa su un database dei file sul filesystem. Il database viene in genere aggiornato una volta al giorno con uno script cron, ma è possibile aggiornarlo manualmente digitando:
sudo updatedb
Esegui questo comando ora. Ricorda che il database deve essere sempre aggiornato se vuoi trovare file acquisiti o creati di recente.