Jawaban:
Jawabannya tergantung pada versi yang locate
Anda gunakan, tetapi ada kemungkinan itu adil mlocate
, yang updatedb
berjalan 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, ctime
atau mtime
, mana yang lebih baru.)
Seperti kebanyakan implementasi dari updatedb
, mlocate
itu juga akan melewati sistem file dan jalur yang dikonfigurasi untuk diabaikan. Secara default ada satu pun di mlocate
kasus 's, tetapi distribusi biasanya memberikan dasar updatedb.conf
yang mengabaikan file sistem jaringan, sistem berkas virtual dll (lihat file konfigurasi Debian misalnya, ini adalah praktek standar di Debian, sehingga GNU updatedb
adalah dikonfigurasi sama ).
mtime
induk langsungnya.
mlocate
peduli ctime
dan mtime
yang 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 ?
locate
bukan grep -R
. Itu tidak membaca konten file.
Selain memeriksa waktu modifikasi, mlocate
abaikan 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 ):
updatedb
Implementasi lain juga mendukung pengecualian yang dikonfigurasikan.)