Saat Anda mengetik perintah pada baris perintah, pada dasarnya Anda memberi tahu shell untuk menjalankan file yang dapat dieksekusi dengan nama yang diberikan. Di Linux, program yang dapat dieksekusi ini seperti ls
, find
, file
dan lainnya, biasanya berada di dalam beberapa direktori berbeda di sistem Anda. File apa pun dengan izin yang dapat dieksekusi yang disimpan dalam direktori ini dapat dijalankan dari lokasi mana pun. Direktori paling umum yang menyimpan program yang dapat dieksekusi adalah /bin
, /sbin
, /usr/sbin
, /usr/local/bin
dan /usr/local/sbin
.
Tetapi bagaimana shell tahu, direktori apa yang harus dicari untuk program yang dapat dieksekusi? Apakah shell mencari di seluruh sistem file?
Jawabannya sederhana. Saat Anda mengetik perintah, shell mencari melalui semua direktori yang ditentukan dalam $PATH
pengguna variabel untuk file yang dapat dieksekusi dari nama itu.
Artikel ini menunjukkan cara menambahkan direktori ke $PATH
. Anda di sistem Linux.
Apa itu $PATH
di Linux #
$PATH
variabel lingkungan adalah daftar direktori yang dipisahkan titik dua yang memberi tahu shell direktori mana yang akan mencari file yang dapat dieksekusi.
Untuk memeriksa direktori apa yang ada di $PATH
your Anda , Anda dapat menggunakan printenv
atau echo
perintah:
echo $PATH
Outputnya akan terlihat seperti ini:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
Jika Anda memiliki dua file yang dapat dieksekusi yang berbagi nama yang sama yang terletak di dua direktori berbeda, shell akan menjalankan file yang ada di direktori yang muncul lebih dulu di $PATH
.
Menambahkan Direktori ke $PATH
Anda #
Ada situasi di mana Anda mungkin ingin menambahkan direktori lain ke $PATH
variabel. Misalnya, beberapa program mungkin diinstal di lokasi yang berbeda, atau Anda mungkin ingin memiliki direktori khusus untuk skrip pribadi Anda, tetapi dapat menjalankannya tanpa menentukan jalur absolut ke file yang dapat dieksekusi. Untuk melakukan ini, Anda hanya perlu menambahkan direktori ke $PATH
.
Katakanlah Anda memiliki direktori bernama bin
terletak di direktori Beranda tempat Anda menyimpan skrip shell Anda. Untuk menambahkan direktori ke $PATH
. Anda ketik:
export PATH="$HOME/bin:$PATH"
export
perintah akan mengekspor variabel yang dimodifikasi ke lingkungan proses anak shell.
Anda sekarang dapat menjalankan skrip dengan mengetikkan nama skrip yang dapat dieksekusi tanpa perlu menentukan jalur lengkap ke file.
Namun, perubahan ini hanya sementara dan hanya berlaku di sesi shell saat ini.
Untuk membuat perubahan permanen, Anda perlu mendefinisikan $PATH
variabel dalam file konfigurasi shell. Di sebagian besar distribusi Linux saat Anda memulai sesi baru, variabel lingkungan dibaca dari file berikut:
-
File konfigurasi khusus shell global seperti
/etc/environment
dan/etc/profile
. Gunakan file ini jika Anda ingin direktori baru ditambahkan ke semua pengguna sistem$PATH
. -
File konfigurasi khusus shell per pengguna. Misalnya, jika Anda menggunakan Bash, Anda dapat mengatur
$PATH
variabel dalam~/.bashrc
mengajukan. Jika Anda menggunakan Zsh, nama filenya adalah~/.zshrc
.
Dalam contoh ini, kita akan mengatur variabel di ~/.bashrc
mengajukan. Buka file dengan editor teks Anda dan tambahkan baris berikut di akhir:
nano ~/.bashrc
~/.bashrcexport PATH="$HOME/bin:$PATH"
Simpan file dan muat $PATH
baru ke dalam sesi shell saat ini menggunakan source
perintah:
source ~/.bashrc
Untuk mengonfirmasi bahwa direktori berhasil ditambahkan, cetak nilai $PATH
. Anda dengan mengetik:
echo $PATH
Kesimpulan #
Menambahkan direktori baru ke pengguna atau $PATH
global Anda variabel cukup sederhana. Ini memungkinkan Anda untuk menjalankan perintah dan skrip yang disimpan di lokasi yang tidak standar tanpa perlu mengetikkan jalur lengkap ke file yang dapat dieksekusi.
Instruksi yang sama berlaku untuk semua distribusi Linux, termasuk Ubuntu, CentOS, RHEL, Debian, dan Linux Mint.
Jangan ragu untuk meninggalkan komentar jika Anda memiliki pertanyaan.