Untuk jawaban yang lebih baik di kedalaman dan kelengkapan, lihat jawaban ini di Unix & Linux .
Orang Brazil itu,
Jawaban:
38
findmencari di sistem nyata. Lebih lambat tetapi selalu terkini dan memiliki lebih banyak opsi (ukuran, waktu modifikasi, ...)
locatemenggunakan database (perintah updatedb) yang dibangun sebelumnya . Jauh lebih cepat, tetapi menggunakan database 'lama' dan hanya mencari nama atau bagian dari mereka.
Bagaimanapun, man finddan man locateakan membantu Anda lebih lanjut.
Baik perintah locatedan findakan menemukan file, tetapi mereka bekerja dengan cara yang sangat berbeda.
locate akan berfungsi dalam mode offline:
Untuk penjelasan sederhana, basis data pengindeksan file dalam sistem Unix yang disebut slocate akan mencantumkan lokasi semua file yang dikirimkan dengan sistem Unix. Ketika Anda mengeksekusi locate, itu akan menggunakan database itu untuk mencari file tertentu. Masalahnya locateadalah 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 updatedbuntuk memperbarui database slocate . Eksekusi locatelagi sekarang akan menemukan file yang baru dibuat. Dengan demikian, banyak administrator sistem Linux menggunakan cronpekerjaan untuk secara teratur memperbarui database slocate .
find akan bekerja dalam mode online / "dalam waktu nyata".
Ini benar-benar akan pergi dan mencari semua direktori untuk menemukan file tertentu yang ditentukan dan memeriksa setiap file satu per satu. Oleh karena itu, memerlukan banyak panggilan I / O.
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.
Jawaban:
find
mencari di sistem nyata. Lebih lambat tetapi selalu terkini dan memiliki lebih banyak opsi (ukuran, waktu modifikasi, ...)locate
menggunakan database (perintahupdatedb
) yang dibangun sebelumnya . Jauh lebih cepat, tetapi menggunakan database 'lama' dan hanya mencari nama atau bagian dari mereka.Bagaimanapun,
man find
danman locate
akan membantu Anda lebih lanjut.sumber
updatedb
melakukan kira-kira seperti itufind / -type f | gzip > locate.gz
.Baik perintah
locate
danfind
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. Masalahnyalocate
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 menggunakanupdatedb
untuk memperbarui database slocate . Eksekusilocate
lagi sekarang akan menemukan file yang baru dibuat. Dengan demikian, banyak administrator sistem Linux menggunakancron
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. :)
sumber
locate
cukup melihat basis datanya dan melaporkan lokasi file.find
tidak menggunakan basis data, ia melintasi semua direktori dan sub direktori mereka dan mencari file yang cocok dengan kriteria yang diberikan.sumber
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:
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:
Jalankan perintah ini sekarang. Ingat, basis data harus selalu terbaru jika Anda ingin menemukan file yang baru diperoleh atau dibuat.
sumber