Perintah which
digunakan untuk mengidentifikasi lokasi File executable yang diberikan ketika Anda mengetik perintah executable di terminal prompt. Perintah kemudian mencari executable yang Anda berikan sebagai argumen dalam direktori yang tercantum dalam PATH environment variable.
Diharapkan Anda membuka konsol terminal distribusi Linux untuk mengikuti panduan di halaman ini agar Anda lebih memahami cara kerja perintah which di Linux terminal.
Kami juga sarankan Anda untuk menguji setiap tutorial atau panduan apapun yang ada di Internet di virtual machine (vmware atau virtualbox) sebelum menerapkan ke server produksi, agar tidak mengacaukan sistem yang aktif berjalan ketika ada kesalahan.
Anda bisa melihat cara installasi VMware di Ubuntu dan CentOS. Untuk cara installasi VirtualBox tersedia panduan untuk Ubuntu, Fedora, dan CentOS.
Sebenarnya “PATH” di Linux itu apa sih?
Di Linux, PATH
adalah environmental variable yang memberi tahu shell dan program lain untuk mencari file yang dapat dieksekusi. Ini terdiri dari daftar path absolut yang dipisahkan oleh titik dua ke direktori yang berisi executable.
Untuk melihat konten dari variabel PATH
, gunakan perintah echo dengan $PATH
sebagai argumen:
echo $PATH
Outputnya akan terlihat seperti di bawah ini:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Cara Menggunakan Perintah which
Sintaks untuk perintah which
adalah sebagai berikut:
which [OPTIONS] FILE_NAME...
Misalnya, untuk menemukan path lengkap dari perintah ping, maka Anda dapat menggunakan perintah berikut ini:
which ping
Outputnya akan seperti ini:
/bin/ping
Anda juga dapat memberikan lebih dari satu argumen pada perintah which
:
which netcat uptime
Output akan mencakup path lengkap kedua executable, netcat dan uptime:
/bin/netcat /usr/bin/uptime
Pencarian dilakukan satu persatu, yaitu dari kiri ke kanan, dan jika lebih dari satu kecocokan ditemukan di direktori yang tercantum dalam variabel PATH
, which
hanya akan mencetak yang pertama. Untuk mencetak semua kecocokan, gunakan opsi -a
:
which -a touch
Output akan menampilkan dua jalur penuh ke perintah touch:
/usr/bin/touch /bin/touch
Biasanya salah satu yang dapat dieksekusi hanya symlink (saling berkaitan) dengan program yang lain, tetapi bisa juga Anda memiliki dua versi dari perintah yang sama, dan terpasang di lokasi yang berbeda atau perintah yang sama sekali berbeda menggunakan nama yang sama.
Kesimpulan
Perintah which
digunakan untuk menemukan perintah dengan mencari setiap daftar perintah yang dapat dieksekusi di direktori yang ditentukan oleh PATH
environmental variable.