Standart I/O ve Pipes

Ubuntu Türkiye Wiki sitesinden
17.08, 9 Nisan 2010 tarihinde Ecoxx (mesaj | katkılar) tarafından oluşturulmuş 7019 numaralı sürüm (Sayfa oluşturdu, içeriği: 'Standart I/O ve Borulama (pipes) "Standart Giris" ve "Standart Cikis", LINUX isletim sisteminin cok onemli iki kavramidir. Linux konsol komutlarinin yuzde doksani, i…')
(fark) ← Önceki sürüm | Güncel sürüm (fark) | Sonraki sürüm → (fark)
Gezinti kısmına atla Arama kısmına atla

Standart I/O ve Borulama (pipes)

"Standart Giris" ve "Standart Cikis", LINUX isletim sisteminin cok onemli iki kavramidir.

Linux konsol komutlarinin yuzde doksani, islevlerini standart giris biriminden okuyacaklari veriler uzerinde yerine getirip,varsa sonuclarini standart cikis birimine gonderir.Bir baska deyisle,Linuxkonsol komutlarinin yuzde doksani,gorevlerini klavyeden okuyacaklari veriler uzerinde yerine getirip,varsa sonuclarini ekrana gonderir.

Standart giris birimine Linux terminolojisinde "STDIN",standart cikis birimini de "STDOUT" denir.

Standart Giris ve Cikis

Linux, programlara 3 giris ve cikis kanali saglamaktadir.

1- Standart giris (STDIN) - varsayilan klavye 2- Standart cikis (STDOUT) - varsayilan terminal penceresi (monitor) 3- Standart hata (STDERR) - varsayilan terminal penceresi (monitor)

Cikisi Bir Dosyaya Yonlendirme

STDOUT ve STDERR dosyalara yeniden yonlendirilebilir.


$ command operator filename

Desteklenen operatorler

> STDOUT u dosyaya yonlendirir.

2> STDERR u dosyaya yonlendirir.

&> Tum cikisi dosyaya yonlendirir.

Asagidaki komutu root olmadan calistirirsaniz cikis ve hatalar verecektir.


$ find /etc -name passwd

Operatorler, cikisi ve hatlari saklamak icin kullanilabilirler.


$ find /etc -name passwd > dosya.txt

Yukaridaki komutu verdiginizde; etc klasoru icersindeki ismi passwd olan dosya,dosya.txt adi altinda home klasorunuzde saklanacaktir.Iceriginde ise komutun verdigi hatalar (errors) degilde sadece ciktilar (output) olacaktir.Hatalar komutu verdiginizde ekraninizda gozukecek ama dosyaya kayit edilmeyecektir. " > "


$ find /etc -name passwd 2> dosya.txt

Yukaridaki komutu verdiginizde; etc klasoru icersindeki ismi passwd olan dosya,dosya.txt adi altinda home klasorunde saklancaktir.Dosya iceriginde ise sadece komutun verdigi hatalar olacaktir. " 2> "


$ find /etc -name passwd &> dosya.txt

Yukaridaki komutu verdiginizde; hata ve cikislar beraber saklanacaktir. " &> "

Not1:Bazi durumlarda,standart ciktinin yonlendirilecegi dosyada bulunan eski kayitlari bozmadan yenilerini arkasina eklemek isteyebilirsiniz.Bu durumda yonlendirmeyi " >> " ile yapmaniz yeterli olacaktir.

Standart Ciktiyi Bir Programa Yonlendirme (Piping)

Pipe kavrami ile " | " komutlari baglayabilirsiniz.


$ command1 

$ ls -l /etc 

$ (cal 2010;cal 2011) 

Birden Fazla Adrese Yonledirme (tee)

Bazi durumlarda bir programin ciktisini iki degisik yere yonlendirmeye gereksinim duyabilirsiniz.


$ command1 

$ sort adresler 

komutu "adresler" dosyasini siralayarak sirali halini tee programina yonlendirecek; tee programi standart girdisinden gelen verilerihem adresler.sirali dosyasina hem de kendi standart ciktisina yonlendirecek;son olarak da "less" komutu bu satirlari sayfa sayfa listeleyecektir.

Dosyadan Standart Girise Yonlendirme


$ tr 'A-Z' 'a-z' < .bash_profile

komutu ".bash_profile" dosyasidaki buyuk harfle baslayan karakterleri,kucuk harflere donusturecektir.

Ayni isi asagidaki komut ile de yapabilirsiniz.


$ cat .bash_profile 

Kaynak: Kim Korkar Linux'tan 05.pdf RH033 - Red Hat Linux Essentials.pdf