Linux Sistemlerde Standart Girdi Çıktı ve Hata
Linux da her komutun 3 tür işaretcisi vardır.
1-Standar Giriş:Çalışmakta olan programın ek kaynaklar açmadan veri okumak için kullanacağı kaynağı belirtir.
2-Standart Çıktı:Çalışmakta olan programın cıktılarının gonderileceği kaynağı gosterir.
3-Standart Hata:Çlaışmakta olan programda cıktıların gonderileceği kaynağı belirtir.
Bu 3 işaretciye atanmıs numaralar vardır.Bunlar Standar Giriş 0, standart çıkış 1,standart hata 2 degerleri ile gosterilir.
Standart Çıktının Yönledirilmesi
Normalde linuxde calıstırlan bir komutun işlenmiş olan bilgisi 1 numaralı kanaldan ekranan yazar.Ancak biz bu olayı "1>" işareti ile istegiimiz bir dosyaya yonlendirebiliriz.İşaretin basında 1 olmassa da gönderilir varsayılan olarak standart cıktıyı kullanır..Eger olusacak çıktının ardından bir standart cıktı daha eklenmek isteniyorsa ">>" işaretini kullanmak yeterli olacaktır.Örnek olarak soyle bakabiliriz.
onceliklekle standart çıktıyı dosya1 e yolladık dosya1 adlı dosyamız onceden olmamasına ragmen olusturdu.Sonra "1" degeri olmadan cııktıyı yonlendirdik varsayılan olarak sandart cıktıyı aldıgı icin aynı cıktıyı verdi.Aynı zamanda ">" işareti var olan dosya uzerinde ekleme yapmadan bize cıktı verir.İçerisindeki tum bilgileri silip yeniden dosyayı olusturur.
Bu çıktıdada var olan dosya 1 uzerıne ">>" işareti ile bu cıktıyı dosayanın icerigini silmeden sonuna ekleme yaparak dosya1 kaydetti.
Standart Hata
Normalde bir program calısırken meydana gelen hatalar 2 kanalı üzerinden standar hataya yönlendirilir.Yani bu işlem "2>" işareti ile yapılır.Eğer "2" değeri belirtilmezse standart hata olduğu bilinmez ve onu standart cıktı olarak algılar.
İlk olarak çalıştırılan komut bize hata cıktısı verdi.İkinci olarak "2>" işareti ile bi bu çıktıyı dosya1 adlı dosyamıza gonderdik sonra onu dosyayı cat komutu ile görüntüledik ve bize standart hatayı verdi.
Linux sistemlerde bir komutun çıktısını başka bir komutun çıktısının başka bir komutun standart girdisi olarak kullanmak için "|" pipe(boru) işareti kullanılır.Kullanımı genel olarak:
komut1 | komut2
öncelikle cat komtu ile dosya içeriğini görüntüledik ardından ikinci komut ile cat komutunun çıktısını ikinci komutun girdisi olarak verdik ve onu ikinci komut işledi ve cıktıyı bize döndürdü.Burada "wc" komutu bir dosyada kac tane satır,kelime ve harf olduğunu bize cıktı olarak verir.Yukarıda ki cıktıda sadece 20 çıktısı vernesinibn sebebi "-l" parametresi sonucunda bize satır sayısını döndürdü.Genelde pipe işareti wc,grep,sort gibi komutlar ile kullanılır.
Yukaridaki cıktıda once /etc/passwd dizinin cat komutunun çıktısını grep komutuna girdi olarak yolladık grep komutu ile icerisinde "ali" gecen satırları listeledik ardından grep komutunun cıktsını "tee" komutunun girdisi olarak yolaldık ekrana bulunan degerler basıldı.Burada "tee" komutu kendisine gonderilen cıktıyı alır işler once yanında verilen dosya adına kaydeder ve aynı zamanda ekrana basar.Bunu doğrulamak kullanıcılar.txt dosyasına cat komutu ile baktık ve onceki komutun çıktısı ile aynı oldugunu gormus olduk.
Başka bir yazıda görüşmek üzere hosçakalın.
Yorumlar
Yorum Gönder