Perintah which, whereis, locate Linux: 3 Perintah untuk Mengecek Lokasi (Jalur) File

Pemberitahuan afiliasi Ver 3.1
Pemberitahuan afiliasi Ver 3.2 (khusus seluler)
Lingkungan ujiKeluarga RHELAlmaLinux 9.8akun rootDiperiksa 2026-10-07
Perintah Pencarianwhichwhereislocate

Kadang Anda ingin mengedit httpd.conf tetapi tidak tahu di mana file itu berada, atau ada perintah bernama sama di dua tempat sehingga bingung mana yang dijalankan. Perintah which Linux menemukan file yang benar-benar dijalankan, perintah whereis Linux menemukan file yang dapat dieksekusi beserta folder konfigurasi · manual, dan perintah locate menemukan semua jalur yang mengandung nama tersebut. Perbedaan ketiga perintah ini dibandingkan dalam tabel, dan Anda bisa mengetiknya langsung di server virtual di dalam browser.

Di AlmaLinux 9.8, which ada di paket which 2.21 dan whereis di paket util-linux 2.37.4, sehingga keduanya bisa langsung dipakai, sedangkan locate memerlukan paket mlocate 0.26 yang dipasang terpisah.

✅ Perbedaan which · whereis · locate

Ketiga perintah ini mencari di tempat yang berbeda. which dan whereis langsung menelusuri folder tertentu saat itu juga, sedangkan locate mencari nama di daftar file (DB) yang sudah dibuat sebelumnya.

PerintahYang dicariLokasi pencarianFile baru
whichSatu file perintah yang dijalankan, serta aliasFolder yang terdaftar di PATHLangsung ditemukan
whereisFile yang dapat dieksekusi · folder konfigurasi · manualFolder tertentu seperti /usr/bin · /etc · /usr/share/manLangsung ditemukan
locateSemua file dan folder yang mengandung nama tersebutDB yang dibuat sebelumnya (/var/lib/mlocate/mlocate.db)Ditemukan setelah updatedb

Jika httpd yang sama dicari dengan which dan whereis, perbedaannya langsung terlihat.

~]# which httpd
/usr/sbin/httpd
~]# whereis httpd
httpd: /usr/sbin/httpd /usr/lib64/httpd /etc/httpd /usr/share/httpd /usr/share/man/man8/httpd.8.gz

locate menampilkan semua jalur yang cocok meskipun hanya sebagian namanya, jadi jika Anda mengetik [locate httpd.conf], yang muncul bukan hanya file konfigurasi, tetapi juga manual (httpd.conf.5.gz) dan salinan backup.

Di server virtual di bawah, pilih which · whereis · locate di sebelah kiri untuk mengganti chip, lalu klik chip untuk mengetikkan perintahnya. Anda juga bisa mengetik langsung dengan keyboard.

Simulator Perintah Cek LokasiAlmaLinux 9.8
[root@server work]#
Simulator ini hanya berjalan di dalam browser dan tidak menyentuh server sungguhan. Pilih perintah di sebelah kiri untuk mengganti chip di bawahnya, lalu klik chip untuk mengetikkan perintahnya. Cari httpd yang sama dengan ketiga perintah dan bandingkan hasilnya, lalu di locate, buat file baru dan cari sebelum dan sesudah updatedb. Jika ada yang kacau, klik [Start over], dan ketik uknew help untuk melihat perintah yang tersedia.

Untuk mencari file berdasarkan ukuran atau tanggal modifikasi, bukan berdasarkan nama, gunakan perintah find, sedangkan jalur folder tempat Anda berada saat ini dicek dengan perintah pwd.

✅ Perintah which Linux

which menelusuri folder yang terdaftar di PATH satu per satu dari depan, lalu menampilkan satu file yang dapat dieksekusi yang pertama kali ditemukan. File inilah yang benar-benar dijalankan saat Anda mengetik perintah tersebut.

Di AlmaLinux, bash meneruskan daftar alias ke which, sehingga untuk perintah yang memiliki alias, alias dan file aslinya ditampilkan bersama. Jika tidak ada di mana pun dalam PATH, yang muncul adalah [no perintah in (PATH)].

~]# which ll
alias ll='ls -l --color=auto'
	/usr/bin/ls
~]# which htop
/usr/bin/which: no htop in (/root/.local/bin:/root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin)

Praktis hanya ada satu opsi, yaitu -a. Jika nama yang sama ada di dua folder dalam PATH, keduanya ditampilkan, dan yang muncul paling atas adalah yang benar-benar dijalankan.

~]# which ping
/usr/sbin/ping
~]# which -a ping
/usr/sbin/ping
/usr/bin/ping

Di AlmaLinux 9.8, /usr/sbin/ping adalah tautan yang menunjuk ke /usr/bin/ping, jadi hasilnya sama. Jika program yang Anda pasang sendiri ada di /usr/local/bin, program itu dijalankan lebih dulu daripada yang ada di /usr/bin karena urutan PATH.

[which cd] menampilkan /usr/bin/cd, tetapi saat Anda mengetik cd di shell, yang dijalankan adalah perintah bawaan shell, bukan file ini. Untuk memastikan apakah suatu perintah adalah perintah bawaan, gunakan [type cd]; hasilnya [cd is a shell builtin].

✅ Perintah whereis Linux

whereis mencari file yang dapat dieksekusi beserta manualnya berdasarkan nama perintah. Tanpa memedulikan PATH, whereis menelusuri folder tertentu seperti /usr/bin · /usr/sbin · /usr/lib64 · /etc · /usr/share, sehingga folder konfigurasi dengan nama yang sama (/etc/httpd) pun ikut muncul.

OpsiPenjelasan
-bHanya bagian file yang dapat dieksekusi. Untuk httpd: /usr/sbin/httpd dan /usr/lib64/httpd · /etc/httpd · /usr/share/httpd
-mHanya manual (/usr/share/man · /usr/share/info)
-sHanya sumber. Pada instalasi default AlmaLinux 9.8, yang muncul hanya namanya, seperti [httpd:]
-lDaftar folder yang ditelusuri whereis
~]# whereis -b httpd
httpd: /usr/sbin/httpd /usr/lib64/httpd /etc/httpd /usr/share/httpd
~]# whereis -m httpd
httpd: /usr/share/man/man8/httpd.8.gz
~]# whereis passwd
passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man1/passwd.1ossl.gz /usr/share/man/man1/passwd.1.gz

Jika yang dicari tidak ada, yang muncul hanya namanya, seperti [htop:]. which mengembalikan kode keluar 1 jika tidak menemukan apa pun, sedangkan whereis mengembalikan 0, jadi gunakan which untuk memeriksa di dalam skrip apakah sesuatu sudah terpasang.

✅ Perintah locate Linux

locate tidak menelusuri disk, melainkan mencari nama di DB yang sudah dibuat sebelumnya. Karena itu locate cepat, tetapi tidak bisa menemukan file yang dibuat setelah DB dibuat.

~]# dnf -y install mlocate
~]# updatedb

Jika langsung dijalankan tepat setelah instalasi, DB belum ada sehingga muncul [locate: can not stat () `/var/lib/mlocate/mlocate.db’: No such file or directory]; DB akan dibuat setelah updatedb dijalankan sekali. Setelah itu, mlocate-updatedb.timer membuat ulang DB sekali sehari.

File yang baru dibuat tidak muncul sebelum updatedb dijalankan, dan file yang sudah dihapus tetap muncul sampai updatedb dijalankan. Untuk melihat hanya file yang ada saat ini, tambahkan -e.

~]# touch report.txt
~]# locate report.txt
~]# updatedb
~]# locate report.txt
/root/work/report.txt
~]# rm -f report.txt
~]# locate report.txt
/root/work/report.txt
~]# locate -e report.txt

PRUNEPATHS di /etc/updatedb.conf berisi /tmp · /var/tmp · /mnt · /media, sehingga file di folder-folder ini tidak muncul meskipun updatedb sudah dijalankan.

🔲 Opsi Perintah locate

OpsiPenjelasan
-iMencari tanpa membedakan huruf besar/kecil
-cHanya jumlah hasil, bukan jalurnya
-l= -nTambahkan angka di belakangnya untuk membatasi jumlah hasil. -l 3
-bHanya mencari di nama file pada ujung jalur
-eMengecualikan file yang ada di DB tetapi sekarang sudah tidak ada
-SInfo DB (jumlah folder · jumlah file · ukuran)
-rMencari dengan regex. locate -r “httpd.conf$”

ℹ️ Pemberitahuan Afiliasi
Konten di situs ini berisi tautan afiliasi. Jika pengunjung membeli produk atau layanan melalui tautan tersebut, situs ini menerima komisi dari penjual. Harga yang dibayar pembeli(turun saat ada diskon promo ↓), tidak naik karena hal ini. Harga, diskon, dan informasi stok yang ditampilkan berlaku pada saat penulisan dan bisa berbeda dengan kondisi sebenarnya, jadi pastikan kembali di situs penjual sebelum membeli. Pemilihan dan penilaian produk dibuat berdasarkan standar kami sendiri, dan ada tidaknya komisi tidak memengaruhi urutan maupun isi penilaian.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Buktikan bahwa Anda manusia: 5   +   9   =