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/environmentdan/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
$PATHvariabel dalam~/.bashrcmengajukan. 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.