Pendahuluan
locate
command adalah utilitas Unix yang digunakan untuk menemukan file dan direktori dengan cepat. Perintah ini merupakan alternatif yang lebih nyaman dan efisien daripada menemukan perintah, yang lebih agresif dan membutuhkan waktu lebih lama untuk menyelesaikan pencarian.
Berlawanan dengan find
, locate
perintah tidak mencari seluruh sistem file, tetapi melihat melalui database file yang diperbarui secara berkala di sistem. Dengan demikian, pencarian selesai lebih cepat.
Dalam tutorial ini, Anda akan belajar memasang dan menggunakan locate
perintah di Linux.
Prasyarat
- Sistem yang menjalankan Linux.
- Akun dengan hak administrator.
Cara Memasang lokasi
Bergantung pada distribusi Linux yang Anda gunakan, locate
paket mungkin tidak diinstal sebelumnya.
Untuk memeriksa apakah locate
terinstal, masukkan:
locate
Jika find
diinstal pada distribusi Anda, perintah mencetak output berikut:
Untuk tutorial ini, kami telah menggunakan Ubuntu 20.04, yang tidak disertai dengan locate
utilitas pra-instal. Dalam hal ini, pesan keluarannya adalah:
Instal lokasi di Ubuntu dan Debian
Ikuti langkah-langkah di bawah ini untuk menginstal locate
di Ubuntu atau Debian:
1. Perbarui repositori paket:
sudo apt update
2. Instal locate
paket dengan menjalankan:
sudo apt install mlocate
Instal lokasi di CentOS dan Fedora
Ikuti langkah-langkah di bawah ini untuk menginstal locate
di CentOS atau Fedora:
1. Perbarui repositori paket:
sudo yum -y update
2. Jalankan perintah berikut untuk menginstal locate
:
sudo yum install mlocate
Cara Menggunakan Perintah locate di Linux Dengan Contoh
locate
perintah menemukan file di Linux menggunakan nama file. find
digunakan untuk mendapatkan hasil instan, dan ini merupakan utilitas penting ketika kecepatan menjadi prioritas.
Perintah melakukan pencarian menggunakan database yang berisi bit file dengan jalur yang sesuai dalam sistem. Namun, locate
tidak memeriksa file di luar database, yang berarti tidak melaporkan tentang file yang dibuat setelah update database terbaru.
Sintaks untuk locate
perintahnya adalah:
locate [options] [pattern]
Beberapa opsi yang berguna adalah:
Opsi | Deskripsi |
---|---|
-A, --all | Hanya menampilkan entri yang cocok dengan semua pola yang ditentukan. |
-b, --basename | Hanya cocok dengan nama dasar dengan pola yang ditentukan. |
-c, --count | Menampilkan jumlah entri yang cocok, bukan nama file. |
-d, --database [DBPATH] | Mengganti database default dengan [DBPATH] - daftar nama file database yang dipisahkan titik dua. |
-e, --existing | Hanya menampilkan entri untuk file yang ada. |
-L, --follow | Gunakan untuk memeriksa apakah file ada jika --existing opsi ditentukan. --follow opsi menghilangkan tautan simbolik yang rusak. |
-i, --ignore-case | Mengabaikan sensitivitas huruf besar-kecil. |
-p, --ignore-spaces | Mengabaikan tanda baca dan spasi saat mencocokkan pola. |
-t, --transliterate | Menggunakan iconv transliterasi untuk mengabaikan aksen dan diakritik saat mencocokkan pola. |
-l, --limit, -n [LIMIT] | Gunakan untuk keluar dengan sukses setelah menemukan [LIMIT] jumlah entri. |
-0, --null | Memisahkan entri keluaran menggunakan ASCII NUL karakter alih-alih mencetak setiap entri dalam baris baru. |
-S, --statistics | Mencetak statistik tentang setiap database yang dibaca ke output standar alih-alih mencari file. |
-q, --quiet | Menyembunyikan kesalahan yang ditemukan saat membaca dan memproses basis data. |
-r, --regexp [REGEXP] | Digunakan untuk mencari ekspresi reguler dasar [REGEXP] . Menentukan opsi ini tidak mengizinkan [pattern] argumen. |
-w, --wholename | Hanya cocok dengan seluruh nama jalur dengan pola yang ditentukan. |
-h, --help | Menampilkan file bantuan dengan daftar semua opsi yang tersedia. |
Bagian berikut mencantumkan contoh berguna dalam menggunakan locate
perintah.
Menelusuri File
Cara paling sederhana untuk menggunakan locate
perintahnya adalah memasukkan pola yang ingin Anda cari.
Misalnya, cari semua file yang berisi mysql pola dalam nama file dengan menjalankan perintah berikut:
locate mysql
Output mencantumkan semua jalur absolut untuk file yang berisi mysql pola dalam nama file.
Format Outputnya
Ketika hasil pencarian berupa daftar panjang file, pipa locate
perintah menjadi less
untuk keterbacaan yang lebih baik dan pengguliran yang lebih mudah.
Misalnya:
locate mysql | less
Navigasikan keluaran dengan menekan Bilah spasi untuk maju, b untuk membalikkan, atau Q untuk berhenti.
Tampilkan File yang Ada
Sedangkan locate
perintah mengambil hasil hampir seketika, kecepatan datang dengan biaya. Terkadang file yang dihapus muncul di hasil karena database yang locate
bacaan belum diperbarui sejak file dihapus. Selain itu, file baru tidak muncul di hasil jika dibuat setelah pembaruan basis data terakhir.
Hilangkan kekurangan ini menggunakan -e
opsi untuk mencari sistem file dan hanya menyertakan file yang ada dalam hasil.
Misalnya:
Pada contoh di atas, pertama-tama kita menghapus file menggunakan rm
. Mencari file dengan locate
menunjukkan lokasi file yang dihapus. Namun, saat menggunakan -e
pilihan, locate
tidak menunjukkan hasil sejak file dihapus.
Hitung File yang Ada
Cetak jumlah file yang cocok sebagai ganti nama file dan jalur absolutnya dengan menentukan -c
pilihan.
Misalnya:
locate -c mysql
Output hanya berisi jumlah file yang berisi mysql string dalam nama file. Semua informasi lainnya disembunyikan.
Nonaktifkan Kesalahan Saat Mencari
-q
opsi menginstruksikan locate
untuk menekan kesalahan yang mungkin muncul saat membaca database.
Dalam contoh berikut, locate
menggunakan database yang berbeda untuk melakukan pencarian. Perintah pertama melaporkan bahwa database tidak ada.
Namun, menentukan -q
opsi menekan kesalahan:
Batasi Jumlah Hasil Penelusuran
Batasi jumlah hasil penelusuran dengan -n
pilihan untuk menghindari hasil yang berlebihan. Misalnya, batasi penelusuran hingga hanya sepuluh hasil dengan memasukkan:
locate *.txt -n 10
Outputnya hanya menampilkan sepuluh file pertama yang cocok dengan pola pencarian.
Abaikan File Peka Huruf Besar-kecil
Secara default, locate
melakukan pencarian peka huruf besar/kecil saat memproses kueri input. Instruksikan locate
untuk mengabaikan sensitivitas huruf besar/kecil menggunakan -i
pilihan.
Dalam contoh berikut, pertama-tama kita mencari example_file dalam huruf kecil, dan locate
tidak menunjukkan output karena nama file berisi huruf besar.
Mencari file dalam huruf besar menunjukkan lokasi file:
Melakukan pencarian yang sama dalam huruf kecil dan menentukan -i
opsi mengabaikan sensitivitas huruf besar-kecil dan menampilkan file dalam output:
Mencari File dengan Nama yang Tepat
Secara default, locate
mem-parsing pola input sebagai string dan menampilkan semua file yang berisi pola input dalam nama file. Misalnya, mencari mysql menampilkan semua file yang berisi mysql string sebagai bagian dari nama file, bukan file yang seluruh nama filenya adalah mysql .
Cari file dengan nama persis menggunakan -r
(ekspresi reguler) pilihan.
Misalnya:
Output hanya menampilkan file yang nama filenya benar-benar cocok dengan pola input.
Entri Keluaran Terpisah dengan ASCII NUL
Entri keluaran yang locate
menghasilkan dipisahkan oleh baris baru (\n
) karakter. Gunakan -0
opsi untuk memisahkan entri dengan ASCII NUL
alih-alih karakter baris baru.
Misalnya:
locate -0 apache
Pemisah default bukan lagi karakter baris baru, dan entri dipisahkan dengan ASCII NUL
.
Melihat Statistik Basis Data
locate
perintah memungkinkan Anda untuk melihat berbagai statistik database, termasuk jumlah direktori dan file yang disimpan dalam database. Untuk menampilkan statistik basis data, tentukan -S
pilihan:
locate -S
Outputnya menyatakan basis data mana yang locate
sedang digunakan, jumlah direktori dan file, dan ukuran database dalam byte.
Perbarui lokasi Database
Basis data yang locate
menggunakan pembaruan otomatis setiap hari pada waktu yang sama. Untuk memperbarui database secara manual dan memastikan indeks file benar, jalankan perintah berikut:
sudo updatedb
Proses pembaruan membutuhkan waktu beberapa detik untuk diselesaikan, tergantung pada jumlah file di sistem.
Pilih Database mlocate yang berbeda
Instruksikan locate
untuk menggunakan database selain database default dengan menentukan -d
pilihan. Fitur ini berguna saat mencari hasil yang tidak ada di mlocate
default basis data.
Untuk menentukan database yang berbeda, gunakan sintaks berikut:
locate -d [new database path] [pattern]
Abaikan Diakritik dan Perbedaan Aksen
locate
perintah menggunakan huruf biasa untuk pencocokan hasil, yang berarti bahwa nama file yang mengandung huruf dengan diakritik tidak muncul dalam hasil pencarian. Gunakan -t
opsi untuk menginstruksikan locate
untuk mengabaikan perbedaan antara huruf dan menyertakan diakritik dalam hasil.
Misalnya:
Mencari kafe bagus pattern tidak menunjukkan hasil pada contoh di atas karena nama file mengandung tanda diakritik. Mencari pola yang sama lagi dan menentukan -t
opsi menunjukkan kafe bagus sebagai hasilnya, mengabaikan diakritik dalam nama file.