Linux / Perintah / which, whereis, locate / Menemukan Lokasi Perintah
Di Linux, which terutama digunakan untuk menemukan file yang dapat dieksekusi di PATH, whereis menemukan file terkait seperti file yang dapat dieksekusi dan manual di lokasi yang telah ditentukan. locate mencari database nama file yang sudah dibuat, sehingga juga dapat dengan cepat menemukan file biasa, tetapi hasilnya mungkin berbeda dari kondisi saat ini.
Perintah mana yang sebaiknya digunakan?
- Jalur File Eksekusi: Periksa dengan
which findatau shellcommand -v finduntuk melihat perintah mana yang dapat ditemukan di lingkungan saat ini. - File Eksekusi dan Manual: Gunakan
whereis finduntuk memeriksa apakah program dan manual/sumber terkait berada di lokasi yang diketahui. - Cari berdasarkan nama file:
locatemencari jalur yang diindeks, dan jika Anda membutuhkan informasi yang paling mutakhir, Anda dapat menggunakanfinduntuk mencari direktori yang ditentukan secara langsung.
Lingkup pencarian dan hasil bervariasi tergantung pada distribusi, program yang diinstal, izin pengguna, dan pengaturan. Jalur keluaran di bawah ini adalah contoh untuk tujuan penjelasan dan mungkin tidak sama di semua sistem.
Periksa file yang dapat dijalankan dengan perintah which dan command -v
PATH adalah variabel lingkungan yang berisi daftar direktori untuk dicari saat mencari perintah untuk dijalankan. Perintah berikut menemukan jalur dari file executable yang bernama find.
which find
Sebagai contoh, /usr/bin/find mungkin akan ditampilkan. Jika tidak ada jalur yang ditampilkan, periksa apakah program tersebut sudah terinstal dan verifikasi PATH. Namun, implementasi which dan penanganan alias berbeda-beda tergantung sistem, jadi juga merupakan ide yang baik untuk memeriksa perintah bawaan shell guna melihat bagaimana shell saat ini menafsirkan nama.
command -v find
type -a find
Di Bash, command -v menunjukkan nama atau jalur yang digunakan untuk memanggil perintah, dan type -a menunjukkan item yang ditemukan, seperti alias, fungsi, perintah bawaan, dan file yang dapat dieksekusi dengan nama tersebut. Perintah bawaan shell atau alias mungkin tidak memiliki jalur file eksekusi terpisah. Anda dapat memverifikasi perilakunya di Deskripsi perintah bawaan Bash.
Menemukan file terkait dengan whereis
whereis mencari file eksekusi program, sumber, dan file manual di lokasi standar dan jalur pencarian yang dikonfigurasi.
whereis find
Daftar hasil menampilkan jalur yang ditemukan setelah find:. Jika Anda ingin melihat hanya file yang dapat dieksekusi, Anda dapat menggunakan whereis -b find; jika Anda ingin melihat hanya file manual, Anda dapat menggunakan whereis -m find. Jika file tidak terinstal atau berada di luar jalur pencarian, file tersebut tidak akan ditampilkan, jadi kekurangan output tidak selalu berarti file tersebut tidak ada di sistem.
Di util-linux, whereis -l menampilkan lokasi pencarian. Untuk detail tentang rentang pencarian, lihat dokumentasi util-linux whereis .
Mencari nama file dengan locate
locate mencari entri dalam database yang dibuat oleh updatedb yang cocok dengan nama atau jalur. Misalnya, perintah berikut menemukan entri dalam jalur yang diindeks yang mengandung find.
locate find
Output dapat mencakup tidak hanya file yang dapat dieksekusi tetapi juga manual atau file dengan nama lain. Opsi mungkin bervariasi tergantung pada implementasi yang terpasang, jadi periksa locate --help terlebih dahulu. Sebagai contoh, dalam plocate, Anda dapat membatasi hasil hingga 10 seperti berikut.
locate -l 10 find
Jika database sudah usang, file baru mungkin hilang dan jalur yang sudah dihapus mungkin tetap ada. Jalur yang dikecualikan dari pencarian dan izin akses pengguna juga memengaruhi hasil. Distribusi dapat memperbarui database secara berkala, dan dalam lingkungan di mana administrasi sistem diizinkan, Anda dapat memperbaruinya langsung dengan sudo updatedb. Karena hal ini mungkin memindai banyak direktori sistem, periksa kebijakan manajemen sebelum menjalankannya. Implementasi dan manual terkait dapat ditemukan di dokumentasi resmi plocate.
Periksa status instalasi dan file terbaru
locate mungkin belum diinstal. Misalnya, Anda bisa menggunakan paket plocate Ubuntu 24.04, dan di lingkungan dengan hak administratif serta akses ke repositori paket, Anda dapat menginstalnya sebagai berikut.
sudo apt update
sudo apt install plocate
Pada distribusi atau versi lain, nama paket dan metode pembaruan mungkin berbeda, jadi silakan konsultasikan dokumentasi untuk distribusi tersebut. Jika database belum ada atau tidak terbaru setelah instalasi, administrator mungkin perlu menginisialisasi atau memperbaruinya.
Untuk menemukan file saat ini langsung di direktori rumah Anda tanpa menunggu database, lakukan hal berikut:
find "$HOME" -name 'example.txt'
Perintah ini mencari pohon direktori yang ditentukan secara langsung, sehingga mungkin memerlukan waktu lebih lama daripada locate dan tidak dapat mencari direktori yang Anda tidak memiliki izin akses. Ganti example.txt dengan nama file sebenarnya yang Anda cari, dan tetap pertahankan tanda kutip agar pola pencarian tidak diperluas oleh shell sebelumnya.




