Jawaban:
Jawabannya tergantung pada versi yang locateAnda gunakan, tetapi ada kemungkinan itu adil mlocate, yang updatedbberjalan cepat dengan menghindari melakukan pemindaian disk penuh:
mlocate adalah implementasi loc / updatedb. The 'm' adalah singkatan dari "merging": updatedb menggunakan kembali database yang ada untuk menghindari membaca ulang sebagian besar sistem file, yang membuat updatedb lebih cepat dan tidak terlalu banyak membuang cache sistem.
(Basis data menyimpan stempel waktu setiap direktori, ctimeatau mtime, mana yang lebih baru.)
Seperti kebanyakan implementasi dari updatedb, mlocateitu juga akan melewati sistem file dan jalur yang dikonfigurasi untuk diabaikan. Secara default ada satu pun di mlocatekasus 's, tetapi distribusi biasanya memberikan dasar updatedb.confyang mengabaikan file sistem jaringan, sistem berkas virtual dll (lihat file konfigurasi Debian misalnya, ini adalah praktek standar di Debian, sehingga GNU updatedbadalah dikonfigurasi sama ).
mtimeinduk langsungnya.
mlocatepeduli ctimedan mtimeyang menyiratkan itu hanya peduli apakah daftar entri direktori masih sama (tidak ada file yang dihapus atau ditambahkan), yang berarti tidak peduli dengan file aktual sendiri. Apakah itu benar ?
locatebukan grep -R. Itu tidak membaca konten file.
Selain memeriksa waktu modifikasi, mlocateabaikan beberapa sub pohon tertentu dari sistem file yang memiliki banyak file yang tidak menarik atau berpotensi digandakan, seperti yang ditentukan dalam /etc/updatedb.conf (dan dijelaskan dalam man updatedb.conf ):
updatedbImplementasi lain juga mendukung pengecualian yang dikonfigurasikan.)