Perintah whereis Linux: cari lokasi program, sumber, dan manual
Perintah whereis mencari berkas program, kode sumber, dan halaman manual yang berkaitan dengan sebuah nama di lokasi pencarian yang dikenalnya. Gunakan whereis untuk melihat beberapa jenis berkas terkait sekaligus. Jika yang ingin diketahui adalah nama atau jalur yang dipilih shell saat perintah dijalankan, gunakan type atau command -v.
Contoh berikut mengacu pada whereis dari paket util-linux. Program ini memakai lokasi bawaan serta informasi lingkungan seperti PATH dan MANPATH, bukan menelusuri seluruh disk secara rekursif. PATH adalah daftar direktori pencarian program; MANPATH berkaitan dengan lokasi halaman manual. Instalasi khusus dapat tidak terlihat bila direktorinya tidak termasuk cakupan pencarian.
Sintaks dasar
whereis [OPSI]... NAMA...
Ganti NAMA dengan nama seperti bash atau ls. Periksa whereis --version, whereis --help, dan man whereis pada sistem yang digunakan; implementasi serta lokasi instalasi bisa berbeda. Bila perintah belum tersedia, periksa paket penyedianya menurut dokumentasi distribusi. Contoh ini tidak memerlukan perubahan konfigurasi layanan atau isi berkas program.
Penggunaan dasar whereis
Cari semua jenis lokasi terkait
Perintah berikut mencari berkas yang berhubungan dengan nama bash. Hasil biasanya dimulai dengan label bash:, kemudian jalur yang ditemukan pada jenis pencarian yang aktif. Keluaran dapat mencakup berkas program dan manual dalam satu baris. Tidak semua jenis harus tersedia; paket program yang terpasang belum tentu menyertakan kode sumber.
whereis bash
Batasi ke berkas program
Gunakan -b untuk memilih pencarian kategori biner atau berkas program. Contoh berikut mencari ssh pada lokasi biner yang diketahui whereis. Ini bukan pengujian koneksi SSH dan tidak membuktikan bahwa ssh yang ditemukan adalah pilihan pertama shell.
whereis -b ssh
Batasi ke halaman manual
Opsi -m memilih manual. Untuk nama printf, hasil dapat mencakup beberapa bagian manual jika paketnya tersedia, misalnya dokumentasi utilitas atau fungsi pustaka. Daftar ini tidak menentukan apakah shell Anda memakai printf bawaan. Bila hanya label nama yang muncul, tidak ada jalur yang dilaporkan untuk cakupan dan jenis pencarian tersebut.
whereis -m printf
Membedakan jalur program dan manual
Pada sistem yang memiliki ls dan manualnya di lokasi berikut, kueri ini dapat menampilkan keduanya:
whereis ls
Contoh hasil; jalur dan jumlah hasil berbeda menurut instalasi:
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
Dalam contoh itu, /usr/bin/ls adalah berkas program, sedangkan ls.1.gz adalah halaman manual bagian 1 dalam bentuk terkompresi. File lain yang berkaitan dapat muncul pada sistem berbeda. Jangan menganggap urutan atau jumlah jalur selalu sama, dan jangan langsung menjalankan setiap jalur sebagai program.
Untuk memeriksa interpretasi shell, bandingkan dengan type ls atau command -v ls. Alias, fungsi, dan perintah bawaan tidak dijelaskan oleh daftar lokasi whereis. Panduan which dan pemeriksaan PATH menjelaskan perbedaan pencarian program eksternal dengan resolusi shell.
Opsi utama util-linux whereis
| Opsi | Kegunaan |
|---|---|
-b |
Pilih pencarian berkas program atau biner. |
-m |
Pilih pencarian manual. |
-s |
Pilih pencarian kode sumber. |
-B DIREKTORI... -f |
Tentukan daftar direktori pencarian biner. |
-M DIREKTORI... -f |
Tentukan daftar direktori pencarian manual. |
-S DIREKTORI... -f |
Tentukan daftar direktori pencarian sumber. |
-u |
Tampilkan nama yang tidak mempunyai tepat satu entri untuk tiap jenis yang diminta secara eksplisit. |
-l |
Tampilkan lokasi pencarian efektif yang digunakan. |
Huruf kecil dan besar memiliki peran berbeda: -b memilih jenis biner, sedangkan -B mengganti lokasi pencarian kategori biner. Demikian pula -m berbeda dari -M dan -s berbeda dari -S. Tanda -f mengakhiri daftar direktori agar argumen berikutnya dibaca sebagai nama yang dicari.
Contoh whereis -m -u printf meminta laporan bila jumlah entri manual untuk printf bukan tepat satu, misalnya tidak ada atau lebih dari satu. Istilah “tidak biasa” pada -u adalah kriteria jumlah entri, bukan penilaian bahwa program berbahaya atau rusak. Opsi ini dapat menyembunyikan nama dengan jumlah yang dianggap biasa.
Contoh praktis
Periksa lokasi pencarian
Gunakan perintah berikut ketika hasil tidak sesuai harapan. -l menampilkan lokasi yang dipakai oleh implementasi saat itu. Periksa apakah direktori instalasi yang dimaksud tercakup, bukan menganggap semua direktori pengguna atau semua subdirektori akan ditelusuri.
whereis -l
Pada util-linux, lokasi bawaan ditentukan dari pola lokasi sistem yang dikenal serta informasi PATH dan MANPATH. -B, -M, atau -S dapat menggantikan daftar untuk kategori terkait; efeknya juga dapat diperiksa dengan -l. Perubahan ini hanya berlaku untuk pemanggilan whereis tersebut, bukan perubahan PATH shell secara permanen.
Cari pada direktori biner yang dipilih
Contoh berikut mengasumsikan program bernama mytool memang dipasang di /usr/local/bin atau /opt/tools/bin. Ganti nama dan direktori sesuai instalasi Anda. -b membatasi jenis hasil ke biner, sementara -B menentukan dua lokasi pencarian kategori itu. Tanpa -b, mengganti lokasi biner saja tidak otomatis menonaktifkan pencarian manual atau sumber.
whereis -b -B /usr/local/bin /opt/tools/bin -f mytool
-f diperlukan setelah daftar direktori. Untuk direktori yang berisi spasi, kutip setiap jalurnya sebagai satu argumen, misalnya whereis -b -B "/opt/alat saya/bin" -f mytool. Bila hasil belum ada, periksa ejaan nama, kategori, keberadaan direktori, dan izin akses. Jalur yang tidak termasuk daftar terpilih tidak akan ditemukan hanya karena program ada di tempat lain.
Bandingkan dengan pilihan shell
Jalankan dua perintah berikut pada lingkungan yang sama. Baris pertama melaporkan nama atau jalur menurut shell; baris kedua mencari berkas terkait python3 di lokasi whereis. Hasilnya dapat berbeda ketika lingkungan virtual, alias, atau fungsi mengubah cara shell mengenali nama.
command -v python3
whereis python3
Command -v tidak selalu menghasilkan jalur absolut, karena nama dapat berupa fungsi atau perintah bawaan. Jika perlu penjelasan, gunakan command -V atau type yang tersedia pada shell tersebut. Jangan menafsirkan tidak adanya hasil pada salah satu alat sebagai bukti bahwa semua jenis instalasi program tidak ada.
Perbandingan dengan perintah lain
| Perintah | Fungsi utama | Penggunaan yang sesuai |
|---|---|---|
whereis |
Mencari lokasi berkas terkait yang dikenal | Program, sumber, dan manual |
which |
Mencari program eksternal melalui PATH | Memeriksa jalur program |
type |
Menjelaskan bentuk perintah menurut shell | Diagnosis alias, fungsi, dan bawaan |
find |
Menelusuri pohon direktori yang dipilih | Lokasi khusus dan kondisi metadata |
Gunakan locate untuk pencarian nama berbasis indeks, dengan memperhatikan kebaruan dan cakupan indeksnya. Referensi perintah Linux berdasarkan tugas (bahasa Inggris) membantu memilih alat berdasarkan tujuan pencarian.
Hal yang perlu diperhatikan
Cakupan pencarian terbatas
Whereis tidak memindai seluruh sistem secara rekursif. Direktori di luar daftar efektif dapat terlewat, dan daftar hasil tidak membuktikan bahwa tidak ada salinan lain. -s hanya mencari sumber yang tersedia di cakupan itu; ia tidak mengunduh kode sumber atau memasang paket sumber yang belum ada.
Nama diproses menurut aturan implementasi
Berikan nama program untuk pencarian biasa. Util-linux whereis membuang bagian direktori di depan nama dan menangani aturan nama tertentu, termasuk awalan s. yang berhubungan dengan pengendalian kode sumber. Karena itu, memberi jalur lengkap bukan cara untuk memaksa pencarian ke direktori tersebut; gunakan -B, -M, atau -S sesuai jenisnya.
Pisahkan pemilihan jenis dan daftar lokasi
Periksa huruf opsi serta -f sebelum menyalin contoh. Pembatas -b, -m, dan -s dapat digabungkan untuk beberapa jenis, seperti -bm, dan perubahan opsi di tengah daftar nama berlaku bagi nama setelahnya. Untuk kueri sederhana, letakkan pilihan jenis dan lokasi sebelum nama yang dicari agar cakupannya mudah dibaca. Jalur hasil tetap perlu dinilai sebelum digunakan; whereis tidak memeriksa integritas atau keberhasilan eksekusi program.
FAQ
Apakah whereis hanya mencari PATH?
Tidak. Util-linux whereis memakai lokasi sistem yang dikenal serta informasi lingkungan yang relevan, termasuk PATH dan MANPATH. Gunakan -l untuk melihat lokasi yang dipakai.
Mengapa instalasi khusus tidak ditemukan?
Direktorinya mungkin tidak ada dalam daftar efektif, atau jenis berkas dan nama yang diminta tidak cocok. Periksa daftar dengan -l lalu batasi lokasi kategori yang tepat bila diperlukan.
Bagaimana cara melihat lokasi pencarian?
Pada util-linux whereis, gunakan whereis -l. Periksa bantuan lokal untuk implementasi atau versi lain.
Bagaimana cara mencari di pohon direktori yang lebih luas?
Gunakan find dengan titik awal yang dipilih untuk pemeriksaan langsung. Locate dapat mencari indeks nama, tetapi hasilnya dibatasi isi indeks; keduanya mempunyai cakupan berbeda dari whereis.




