Linux'da $PATH Kullanımı
Linux'da PATH Kullanarak Çalıştırılabilir Dosya Oluşturma
Linux'da program yapmanın en kolay
yolarından birisi PATH'dir. Bu yazımda ise size PATH ile bir
uygulama örneği gösterecem. Bu örnekde rasgele bir programlama
yaptıralım. Komut satırına “yap” dediğimizde bize önce
Merhaba yazsın, /home/ramazan içerisine ramo adında bir dizin
oluştursun ve içerisine bir dosya oluştursun, sonra ise bu
dosyayı çalıştırsın, dosya çalıtığında bulunduğumuz
dizindeki tüm verileri ayrıntılı bir şekilde göstersin, ve en
sonunda “Teşekkürler” Yazsın. PATH ile böyle bir
programlama örneği yapalım.
İlk olarak /home/ramazan içerisine
bin dizini oluşturalım.
mkdir /home/ramazan/bin komutuyla
oluşturabiliriz.
Şimdi bu dizini PATH' e öğretelim.
Bunun için /home/ramazan/.bashrc dosyasını açalım içine komut
girelim.
Vi /home/ramazan/.bashrc
bashrc dosyasını açtığımızda 'i'
tuşuna basarak INSERT moduna geçelim ve export sırasının altına
boşluk açıp şu kodu yazalım.
“PATH=$PATH:/home/ramazan/bin
export
PATH”
bu
kodu yazdıktan sonra 'Esc' tuşuna basalım ve ':wq' komutu yazarak
kaydedip çıkalım.
Şimdi bin dizininin içerisine vi
parametresiyle yap dosyası açalım ve bu dosyanın içerisine bazı
komutlar yazalım.
Vi /home/ramazan/bin/yap
'i' tuşuna basarak INSERT moda geçelim
ve şu kodları yazalım
' echo “merhaba”
sleep 2
mkdir /home/ramazan/ramo
echo “dizin olusturuldu”
sleep 3
echo “ls -al” >
/home/ramazan/ramo/ramo
echo “ramo dosyası olusturuldu”
sleep 2
cp /home/ramazan/ramo/ramo
/home/ramazan/bin/ramo
echo “ramo dosyası kopyalandı”
chmod +x /home/ramazan/bin/ramo
echo “calistirma yetkisi verildi”
/home/ramazan/bin/ramo
echo “Tesekkurler” '
Bu komutları yazdıktan sonra 'Esc'
tusuna basarak ':wq' yazarak kaydedip çıkıyoruz.
Şimdi yap dosyasına çalıştırma
izini vermemiz gerekiyor.
Chmod -x /home/ramazan/bin/yap komutu
ile iznimizi veriyoruz.
Şimdi 'source /etc/profille' komutunu
giriyoruz.
En son olarakta oturumumuzu yeniden
başlatacaz. Oturum açıldıktan sonra komut satırına girip yap
dediğimizde yazdığımız program çalışacak ve istediğimiz
kosulları yerine getirecektir.
Burda dikkat edilmesi gereken şey ise benim yap dosyasını kullandığım
gibi sizde baska herhangi bir dosya adı olusturabilir ve
kullanabilirsiniz, bu dosya ismini seçerken dikkat edin sistemin bin ve
etc dizini eçindeki bir dosya ismiyle sizin seçeceğiniz isim aynı
olmasın. Böyle bir durumda dosyalar çakışır ve sizin oluşturduğunuz
dosya ve sistemdeki dosya çalışmaz. Kendi dosyanız çalışmadığı gibi
sistemin dosyasınıda bozmus olursunuz. Bu da büyük sıkıntılar doğurabilir.
Peki bizim oluşturacağımız isim sistemde var mı yok mu nasıl öğrenebilirim ?
'whereis dosya_adi' komutu kullanılarak sistemde girdiğiniz dosya_adi kullanılan bir dosya var mı yok mu kontrol etmiş oluruz.
Bu PATH ile yapılan çok basit bir
uygulama örneğidir. Burada kendimize bir bin dizini olusturduk,
çünkü komut dosyaları bin ve etc dosyalarında tutulur. Bizimde
bin ve etc dizinlerine yazma yetkimiz yok yazabilmek için root
olmamız gerekir. Root olarak yapabiliriz ama riskli ir iş yapmış
oluruz bin veya etc dizinlerinin içerisinde rootken yanlış bir
işlem yaparsak sistem arızalanabilir ve büyük sıkıntılar
ortaya cıkabilir. Bizde böyle bir sorunla karşılaşmamak için
kendi home dizinimize bir bin dizini olusturuyoruz ve bu dizini PATH'
e öğretiyoruz.
Bu bin dizininin içine yap
dosyası oluşturdu, bu dosyanın içine komutlarını yazıyoruz ve
bu dosyayı çalıştırılabilir dosya yapıyoruz.
Komut satırından yap komutu
girdiğimizde shell bunu PATH'e sorar ve PATH gider bizin bin
dizinimizi arar ve bizim bin dosyamız içinden çalıştırır.
PATH'e neden yol öğretiyoruz zaten
tüm sistemde arama yapmıyor mu ?
Komut satırına herhangi bir komut
girdiğimizde shell komutu PATH'e sorar. PATH ise bin ve etc
dizinlerinde girilen komutu arar. Bulursa komut çalışır zaten
bulamazsa hata mesajı gönderir. Diğer dizinlerde aramaz buda
Linux'u güvenli kılan tarafıdır.
Not : Burada kullandığım /home/ramazan/ dizini benm ramazan kullanıcımın home dizinidir. Buradaki ramazan dizini sizin kullanıcı adınız isminde bir dizindir.
Yorumlar
Yorum Gönder