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 UbuntuFedora, 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.