Jawaban:
find
mencari di sistem nyata. Lebih lambat tetapi selalu terkini dan memiliki lebih banyak opsi (ukuran, waktu modifikasi, ...)
locate
menggunakan database (perintah updatedb
) yang dibangun sebelumnya . Jauh lebih cepat, tetapi menggunakan database 'lama' dan hanya mencari nama atau bagian dari mereka.
Bagaimanapun, man find
dan man locate
akan membantu Anda lebih lanjut.
updatedb
melakukan kira-kira seperti itu find / -type f | gzip > locate.gz
.
Baik perintah locate
dan find
akan menemukan file, tetapi mereka bekerja dengan cara yang sangat berbeda.
locate
akan berfungsi dalam mode offline:
locate
, itu akan menggunakan database itu untuk mencari file tertentu. Masalahnya locate
adalah jika Anda baru saja membuat file yang sekarang ingin Anda cari, cari tidak akan berfungsi karena database slocate tidak mutakhir. Untuk mengatasi masalah ini, Anda dapat menggunakan updatedb
untuk memperbarui database slocate . Eksekusi locate
lagi sekarang akan menemukan file yang baru dibuat. Dengan demikian, banyak administrator sistem Linux menggunakan cron
pekerjaan untuk secara teratur memperbarui database slocate .find
akan bekerja dalam mode online / "dalam waktu nyata".
Jadi berdasarkan pada sifat, jelas bahwa lokasi lebih cepat daripada menemukan tetapi menemukan adalah waktu nyata.
Semoga ini bisa membantu menjernihkan idenya. Semua yang terbaik. :)
Alternatif untuk menggunakan find adalah perintah loc. Perintah ini seringkali lebih cepat dan dapat mencari seluruh sistem file dengan mudah. Anda dapat menginstal perintah dengan apt-get:
sudo apt-get update
sudo apt-get install mlocate
Alasan mencari lebih cepat daripada menemukan adalah karena bergantung pada database file pada sistem file. Basis data biasanya diperbarui sekali sehari dengan skrip cron, tetapi Anda dapat memperbaruinya secara manual dengan mengetik:
sudo updatedb
Jalankan perintah ini sekarang. Ingat, basis data harus selalu terbaru jika Anda ingin menemukan file yang baru diperoleh atau dibuat.