Seperti namanya, perintah locate di Linux digunakan untuk mencari (mencari) file. Ini memiliki sintaks berikut:
locate [options] filename
Meskipun sangat mudah untuk menggunakan perintah locate, ia datang dengan banyak jika dan tetapi. Sebagai permulaan, jika tidak menemukan file, itu tidak berarti bahwa file tersebut tidak ada di sistem.
Jangan bingung sekarang. Saya akan menjelaskan cara kerja perintah locate dan bagaimana Anda bisa menggunakannya untuk menemukan file.
Menggunakan perintah locate di Linux
Perintah locate bekerja pada indeks yaitu database lokasi file. Saat Anda menggunakan perintah, itu merujuk ke indeks ini alih-alih mencari seluruh sistem file. Inilah alasan mengapa locate sangat cepat dalam menemukan file di Linux.
Beberapa distribusi Linux secara otomatis mengindeks seluruh sistem file secara teratur. Anda juga dapat membuat indeks ini secara manual (akan saya tunjukkan nanti di artikel ini).
Menggunakan perintah locate sangat sederhana. Anda hanya perlu menentukan nama file:
locate filename
Hasilnya akan menunjukkan semua tempat di mana file yang Anda tentukan ditemukan.
[email protected]:~$ locate desktop.iso
/home/abhishek/desktop.iso
Bagian terbaiknya adalah Anda tidak perlu berada di direktori tertentu untuk menemukan file. Ingat, perintah locate tidak mencari sistem file tetapi file index. Inilah mengapa Anda tidak perlu menentukan jalur atau direktori saat mencari file.
Anda juga dapat melakukan pencarian peka huruf besar/kecil dengan menggunakan opsi -i:
[email protected]:~$ locate -i desktop.iso
/home/abhishek/desktop.iso
/home/abhishek/Downloads/Desktop.iso
Ingatlah bahwa hasilnya mungkin menampilkan semua file yang memiliki istilah pencarian di namanya.
[email protected]:~$ locate -i desktop
/home/abhishek/eoan-desktop-amd64.iso
/home/abhishek/Bionic-Desktop-amd64.iso
/home/abhishek/desktop.iso
/home/abhishek/Downloads/Desktop.iso
Anda juga dapat menggunakan regex dengan locate:
locate -r regex_expression
Menggunakan updatedb untuk membuat indeks Anda sendiri untuk perintah locate
Ini hanya untuk tujuan informasi dan saya rasa Anda tidak perlu menggunakannya.
Jika Anda ingin membuat indeks dari direktori saat ini (dan subdirektorinya), Anda dapat menggunakan perintah updatedb seperti ini:
updatedb -l0 -U my_directory -o index_file
Setelah Anda membuat file indeks ini, Anda dapat meminta perintah locate untuk menggunakan indeks ini secara eksplisit:
locate -d index_file file_name
Apakah locate lebih baik daripada perintah find?
Jika Anda ingin mencari file dalam struktur direktori yang tidak banyak berubah, perintah locate adalah pilihan yang baik. Ini juga sangat cepat.
Tetapi perintah find memberi Anda banyak opsi, khususnya untuk melakukan opsi pencarian yang rumit.
Kedua perintah memiliki penggunaannya. Menurut saya, jika Anda merasa malas dan ingin hasil yang cepat, gunakan locate. Jika hasilnya tidak sesuai dengan keinginan Anda, alihkan ke perintah find.
Bagaimana menurutmu?