Salah satu operasi paling umum saat bekerja di Linux adalah mencari file dan direktori. Ada beberapa perintah di sistem Linux yang memungkinkan Anda untuk mencari file, dengan find and locate yang paling sering digunakan.
locate
command adalah cara tercepat dan termudah untuk mencari file dan direktori berdasarkan namanya.
Pada artikel ini, kami akan menjelaskan cara menggunakan locate
perintah.
Memasang locate
(perintah cari tidak ditemukan) #
Bergantung pada distribusi dan bagaimana sistem disediakan, paket locate mungkin sudah diinstal sebelumnya atau tidak di sistem Linux Anda.
Untuk memeriksa apakah locate
utilitas diinstal, buka terminal Anda, ketik locate
dan tekan Enter
. Jika paket diinstal, sistem akan menampilkan locate: no pattern to search for specified
. Jika tidak, Anda akan melihat sesuatu seperti locate command not found
.
Jika locate
tidak terinstal, Anda dapat menginstalnya dengan mudah menggunakan pengelola paket distro Anda.
Instal locate
di Ubuntu dan Debian #
sudo apt update
sudo apt install mlocate
Instal locate
di CentOS dan Fedora #
sudo yum install mlocate
Bagaimana locate
Kerja #
locate
perintah mencari pola tertentu melalui file database yang dihasilkan oleh updatedb
memerintah. Hasil yang ditemukan ditampilkan di layar, satu per baris.
Selama instalasi paket mlocate, pekerjaan cron dibuat yang menjalankan updatedb
perintah setiap 24 jam. Ini memastikan database diperbarui secara berkala. Untuk informasi lebih lanjut tentang tugas cron, periksa /etc/cron.daily/mlocate
berkas.
Basis data dapat diperbarui secara manual dengan menjalankan updatedb
sebagai root atau pengguna dengan hak sudo:
sudo updatedb
Proses pembaruan akan memakan waktu, tergantung pada jumlah file dan direktori serta kecepatan sistem Anda.
File yang dibuat setelah pembaruan basis data tidak akan ditampilkan di hasil pencarian.
Dibandingkan dengan find
yang lebih kuat perintah yang mencari sistem file, locate
beroperasi lebih cepat tetapi tidak memiliki banyak fitur dan hanya dapat mencari berdasarkan nama file.
Cara Menggunakan locate
Perintah #
Sintaks untuk locate
perintahnya adalah sebagai berikut:
locate [OPTION] PATTERN...
Dalam bentuknya yang paling dasar, ketika digunakan tanpa opsi apa pun, locate
perintah akan mencetak jalur absolut dari semua file dan direktori yang cocok dengan pola pencarian dan yang izinnya dibaca oleh pengguna.
Misalnya untuk mencari file bernama .bashrc
Anda akan mengetik:
locate .bashrc
Outputnya akan menyertakan nama semua file yang berisi string .bashrc
atas nama mereka:
/etc/bash.bashrc
/etc/skel/.bashrc
/home/linuxize/.bashrc
/usr/share/base-files/dot.bashrc
/usr/share/doc/adduser/examples/adduser.local.conf.examples/bash.bashrc
/usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bashrc
/root/.bashrc
file tidak akan ditampilkan karena kami menjalankan perintah sebagai pengguna biasa yang tidak memiliki izin akses ke /root
direktori.
Jika daftar hasil panjang, untuk keterbacaan yang lebih baik, Anda dapat menyalurkan output ke less
perintah:
locate .bashrc | less
locate
perintah juga menerima pola yang berisi karakter globbing seperti karakter wildcard *
. Ketika pola tidak mengandung karakter globbing, perintah mencari *PATTERN*
. Itu sebabnya pada contoh sebelumnya, semua file yang berisi pola pencarian dalam namanya ditampilkan.
Wildcard adalah simbol yang digunakan untuk mewakili nol, satu, atau lebih karakter. Misalnya, untuk mencari semua .md
file pada sistem, Anda akan mengetik:
locate *.md
Untuk membatasi hasil pencarian, gunakan -n
pilihan diikuti dengan jumlah hasil yang ingin ditampilkan. Perintah berikut akan mencari semua .py
file dan hanya menampilkan 10 hasil:
locate -n 10 *.py
Secara default, locate
melakukan pencarian peka huruf besar/kecil. -i
(--ignore-case
) opsi memberitahu locate
untuk mengabaikan huruf besar-kecil dan menjalankan pencarian peka huruf besar-kecil.
locate -i readme.md
/home/linuxize/p1/readme.md
/home/linuxize/p2/README.md
/home/linuxize/p3/ReadMe.md
Untuk menampilkan jumlah semua entri yang cocok, gunakan -c
(--count
) pilihan. Perintah berikut akan mengembalikan jumlah semua file yang berisi .bashrc
atas nama mereka:
locate -c .bashrc
6
Secara default, locate
tidak memeriksa apakah file yang ditemukan masih ada di sistem file. Jika Anda menghapus file setelah pembaruan basis data terbaru, dan jika file tersebut cocok dengan pola pencarian, maka akan disertakan dalam hasil pencarian.
Untuk menampilkan hanya nama file yang ada pada saat locate
dijalankan, gunakan -e
(--existing
) pilihan. Misalnya, berikut ini hanya akan mengembalikan .json
yang ada file:
locate -e *.json
Jika Anda perlu menjalankan pencarian yang lebih kompleks, gunakan -r
(--regexp
) opsi, yang memungkinkan Anda mencari menggunakan regexp dasar alih-alih pola. Opsi ini dapat ditentukan beberapa kali.
Misalnya, untuk menelusuri semua .mp4
dan .avi
file di sistem Anda dan abaikan kasus, Anda akan menjalankan:
locate --regex -i "(\.mp4|\.avi)"
Kesimpulan #
locate
perintah mencari sistem file untuk file dan direktori yang namanya cocok dengan pola yang diberikan. Sintaks perintah mudah diingat, dan hasilnya ditampilkan hampir seketika.
Untuk informasi lebih lanjut tentang semua opsi yang tersedia dari locate
ketik perintah man locate
di terminal Anda.
Jika Anda memiliki pertanyaan, silakan tinggalkan komentar.