PATH değişkeni nedir?
Linux kullanırken birçok komut kullanıyoruz; örneğin
Bash:
ls
Örneğin, ls programı gerçekte
Bash:
/bin/ls
Peki bu kolaylık nasıl sağlanıyor? PATH değişkeni nedir derseniz, açıklaması oldukça basittir:
PATH değişkeni, işletim sisteminde tanımlı bir ortam değişkenidir ve içerisine yazılan dizinlerde komutları arayarak çalıştırılmasını sağlar.
Kendi bilgisayarımızda PATH değişkenimizi görmek için echo $PATH komutunu yazmamız yeterlidir. Bu komut sonucunda aşağıdaki gibi bir çıktı alırız:
Bash:
/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
Gördüğünüz gibi burada çeşitli dizinler listelenmiştir. Bir programın ismini terminale yazdığımızda, işletim sistemi bizim yerimize bu dizinleri sırayla dolaşır ve çalıştırmak istediğimiz programın bu dizinlerde olup olmadığını kontrol eder.
İlk olarak /usr/local/bin klasörüne bakar; eğer aranan program burada bulunuyorsa doğrudan çalıştırır. Eğer bulunamazsa, dizinlerin arasında : işaretiyle ayrılmış bir sonraki dizine, yani /usr/bin klasörüne geçer. Burada da bulamazsa, yine : ile ayrılmış diğer dizinlere sırasıyla bakar. Programı bulduğu anda aramayı durdurur ve bulduğu programı çalıştırır.
Buradaki önemli nokta şudur: Eğer aynı isimde iki program birden fazla dizinde bulunuyorsa, işletim sistemi ilk bulduğu programı çalıştırır. Çünkü bir dizinde aradığı programı bulduğunda, diğer dizinlere bakmaya devam etmez.
Arama işlemi soldan sağa doğru yapılır ve dizinler : karakteri ile birbirinden ayrılır.
Eğer bir komutu girdiğimizde "command not found" (Komut bulunamadı) hatası alıyorsak, bu durum PATH değişkeni içerisinde bu komutun veya programın bulunduğu dizinin yer almadığı anlamına gelir.
Örnek göstermek istiyorum:
Bash:
blue@arch-linux:~$ nmap -T4 -A -vvv -sC
bash: nmap: command not found
PATH değişkenini düzenleme ve değiştirme.
PATH değişkenini istediğimiz zaman değiştirebiliriz. Bunu geçici veya kalıcı olarak yapabiliriz.
Eğer sadece o anki oturum için PATH değişikliğine ihtiyaç duyuyorsak, aşağıdaki gibi bir komut kullanabiliriz:
Bash:
export PATH=/usr/local/bin:/başka-bir-dizin/dizin/:/diğerdizinker
şeklinde değiştirebiliriz, ama bu değişiklik bilgisayarımızı kapatıp açtığımızda kaybolur, kalıcı olarak değiştirmek istersen ise
kulladnığımız shell'e göre konfigirasyon yapmamız laızm. ~/.bashrc, ~/.zshrc Ancak şimdilik bu konuyu detaylı şekilde anlatmıyorum, çünkü yeni başlayan kullanıcılar için kafa karıştırıcı bir süreç olabilir.
Centilmenler klübü hakkında daha fazla bilgi için: Centilmenler Kulübü • [Alımlar: AÇIK]


