2. LİNUX SİSTEMLERDE STANDART GİRDİ ÇIKTI
SDÜ-CYBERLAB (LİNUX101)
Linux sistemlerde her komut bir programdır.Bu yuzden her unix programının 3 cesit
standart kanalı(işaretçisi) vardır.Bu 3 kanal soyle sınıflandırılır.
1-Standart Girdi Kanalı(standart input yada stdin)
2-Standart Çıktı Kanalı(standart output yada stdout)
3-Standart Hata Kanalı.(standart error yada stderr)
Linux sistemlerde programlar(komutlar) soyle calışır
-Girdilerinin standart girdiden yada baska bir girdi kanalından alacak
-Çıktılarını standart çıktı kanalından yada tanımlı baska bir çıktı kanalından
iletecek
-Oluşabilecek hata mesajlarını standart hata kanalına yada tanımlı baska bir
kanaldan iletecek sekilde yazılabilir..
3. SDÜ-CYBERLAB (LİNUX101)
Linux sistemlerde programlar girdilerini standart girdi alabileceği gibi, bir
kullanıcıdan yada bir dosyadan alabilirler.Standart girdisinden veri alan ,bunları
işleyen ve çıktılarını standart çıktıya yönlendiren yazılımlar birer “filtre” olarak da
adlandırıllır.Bu filtre yazılımları uygun bir biçimde birbirinin ardına eklendiği zaman
karmaşık metin dosylarından istenilen temiz verileri bize geri döndürür.
4. SDÜ-CYBERLAB (LİNUX101)
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:Çalışmakta olan programda cıktıların gonderileceği kaynağı
belirtir.
Bu 3 işaretciye atanmıs numaralar vardır.Bunlar Standart Giriş 0, standart çıkış
1,standart hata 2 degerleri ile gosterilir.
5. Standart Çıktının Yönlendirilmesi
SDÜ-CYBERLAB (LİNUX101)
Normalde linux sistemlerde bir program çalıştığı zaman işlenmiş olan veriler 1
numaralı kanaldan ekrana yazar.Ancak programın sonuna “1>” işareti koyduğumuz
standart çıktı kanalından gelen verinin ekran ile bağlantısını keserek bir dosyaya
yazmamızı saglar tabi “1>” işaretinden sonra dosya adı yada yolunu göstermek
gerekir.
“1>” karakteri yerine “>” bu karakteri kullandığımız zamanda aynı işlemi
yapar.Yönlendirme işlemlerinden varsayılan olarak sdandart cıktıyı alır.Eğer bu
yonlendirme işleminden sonra yazılan dosya bulundugumuz dizin içerisinde var ise
o dosyanın içeriğini siler ve bu işlemi çıktısının o dosyaya yazar.Eğer bu verileri
kaybetmeden dosyanın sonuna ekleme yapmak istiyorsak “>>” bu işareti
kullanmamız yeterli olacaktır.
7. Standart Hata Yönlendirilimesi
SDÜ-CYBERLAB (LİNUX101)
Linux sistemlerde programlar çalışırken meydana gelen aykırı durumlar yada
hatalar standart hata kanalından ekrana yazmaktadır.Ancak programın sonunda
yonlendirme yapartken “2>” yazılmalıdır.Yazılmadıgı zaman bunu standart cıktıya
yonlendirir ve hataları algılayamaz.Standar çıktıda oldugu gibi dosyanın sonuna
ekleme yapmak için “>>” karakteri kullanılmalıdır.
Ls -l 1>dosya 2>&1 kanalları birleştir dosya ya yaz.
8. Standart Çıktının Yönlendirilmesi
SDÜ-CYBERLAB (LİNUX101)
Linux sistemlerde bir komutun çıktısının başka bir komutun standart girdisi olarak
kullanmak mümkündür.Bu kullanımı "|" pipe(boru) işareti kullanılır.Kullanıı da şu
şekildedir.
Program1 | Program2 : program 1 in çıktısını program 2 ye girdi olarak atar
Program 1 2> hatalar | program2 : program 1 çıktısını 2 ye aktar oluşacak aykırı
durumları hatalar dosyasında yazar.
Program1 2> hatalar1 | program2 2>hatalar2 program1 çıktısını 2 ye aktar
program1 de meydana gelen hatalar hatalar1 dosyasına 2 de meydana gelen
hatalar hatalar2 dosyasına yazılır.
10. Standart Çıktının Yönlendirilmesi (pipe)
SDÜ-CYBERLAB (LİNUX101)
Resimde gösterilen işlem /etc/passwd dosyasını listeleyip icerisinde linux101 gecen
satıları listeleyip tee komutuna girdi olarak aktarılır.Bu işlemlerde tee komutu hem
kendine verilen girdiyi işler aynı zamanda kendisinden sonra verilen parametre ile
dosyaya kaydeder eğer dosya varsa uzerine yazar yoksa oluştur.
11. Metin İşleme Komutaları
SDÜ-CYBERLAB (LİNUX101)
Unix sistemlerde metin işlemeyi colaylastıran komutlar vardır.Bunlar metin işleme
konusunda baya faydalıdır.
Örnek olarak:
- cat dosya1 dosya2 komutu dosya1 komutu ve dosya2 komutunu birleştirerek
ekrana yazar.
-Head -1 dosyanın ilk satırını gosterir -5 ilk 5 satırını gösterir.
-Tail -1 son satırı gosterir -5 son 5 satırı gosterir -f parametresi olarak degişen son
parametreleri gosterilir. Genelde log dosylarını okumak icin kullanılır.
-Sort dosya icinde isteğe gore sıralama yapmaya yarar.
-Cut -d “” f1 dosya dosya icerisinde her satırında bosluk karakterine gore parcalar
f1 parametresi ile kacıncı bosluk karakterinden sonra parcalayacak onu belirtir.
12. Grep Komutu
SDÜ-CYBERLAB (LİNUX101)
Grep komutu belirli bir dosyadan belirli kalıplara yada kelimelere gore süzme işlemi
yapar.Çok kullanışlı ve onemli bir komuttur.
Grep “kelime” dosya dosya içerisinde kelime gecen satırarı getirir.
Grep -i “kelime” dosya dosya içerisinde büyük küçük harf ayrımı yapmadan filtrele
getir.
Grep -v “kelime” dosya dosya içerisinde kelime gecen satırları getirme anlamına
gelir.
14. Metin İşleme Komutları
SDÜ-CYBERLAB (LİNUX101)
Yukaridaki ilk komutda buyuk olan kelimeleri küçük kelimere cevirdik ve bunu ikinci
komutta kucuk.txt dosyasına kaydettik.Kayıt işleminden sonra cat komutu ile
goruntuledik.
15. Metin İşleme Komutları
SDÜ-CYBERLAB (LİNUX101)
Dİger metin işleme komutları
-split komutu belirli bir dosyadan belirli boyutlara göre verileri parcalamıza yarar.
Split -l 3 dosya 3 satırlık_ dosyadan 3’er satır oalcak şekilde parcalama işlemi
yapar ve 3satırlık_ dosyasını sonunu degiştirerek kayıt işlemi yapar.
Split -b 44 dosya 44byte_ dosyadan 44 byte byte olacak şekilde okur vev aynı
şekilde kayıt ilemi yapar.
-wc komutu kendisine girdi olarak verilen dosyanın kac kelime , satır ve
karakterden olustugunu ekrana basar.
Wc -l dosya kac satırdan oluştuğunu ekrana basar
Wc -c dosya kac karakter oldugunu basar.
16. Metin İşleme Komutları
SDÜ-CYBERLAB (LİNUX101)
-More dosya “dosya” içeriğinin sayfa sayfa goruntulenmesini saglar.Sonraki satı
için “Enter” sonraki sayfa için “Space”,önceki sayfa için “-b” ,çıkmak için “q” tuşlarına
basmak yeterli olacaktır.
-Less dosya “dosya” içeriğini sayfa sayfa görüntüler.Sayfalar arasında geçiş icin yön
tuşları kullanılır.Çıkmak için “q” tuşuna basılır.
-Diff dosya1 dosya2 “dosya1” ve “dosya2” arasında bir karşılaştırma yapar ve
aradaki farkları ekrana basar.(dosya2’nin dosya1’den farkını basar)