stdout (Standard Out)

Komutların nasıl çalıştığını ve çıktı ürettiklerini öğrendik. Şimdi bir sonraki konuya, yani girdi/çıktı akışları (I/O) konusuna geçelim. Aşağıdaki komutu çalıştırarak nasıl işlediğini görelim:

$ echo Hello World > peanuts.txt

Ne Oldu?

Bu komutu çalıştırdığınız dizine gidin ve orada peanuts.txt adında bir dosya göreceksiniz. Dosyayı açtığınızda içinde "Hello World" yazısını göreceksiniz. Tek bir komutta birçok şey oldu, hadi gelin bunları parçalara ayıralım.

echo Komutu

İlk olarak komutun ilk kısmını ele alalım:

$ echo Hello World

Bu komutun "Hello World" yazısını ekrana yazdırdığını biliyoruz. Peki nasıl oluyor? İşlemler, giriş almak ve çıktı döndürmek için girdi/çıktı akışları (I/O) kullanır. Varsayılan olarak, echo komutu klavyeden standart girdi (stdin) alır ve standart çıktı (stdout) olarak ekrana yazdırır. Bu nedenle, echo Hello World yazdığınızda ekranda "Hello World" görürsünüz.

Yönlendirme Operatörü

Ancak I/O yönlendirme, bize daha fazla esneklik sağlayarak bu varsayılan davranışı değiştirmemize izin verir. Komutun > sembolünden sonraki kısmına bakalım:

>

sembolü, standart çıktının nereye gideceğini değiştirmemizi sağlayan bir yönlendirme operatörüdür. echo Hello World komutunun çıktısını ekrana yazdırmak yerine bir dosyaya göndermemizi sağlar. Dosya zaten yoksa, bizim için oluşturur. Ancak, dosya zaten varsa, üzerine yazar (kullandığınız shell'e bağlı olarak bunu önlemek için bir shell işareti ekleyebilirsiniz).

Standart Çıktı Yönlendirme

Yani standart çıktı yönlendirme böyle çalışır!

Dosyaya Ekleme

Peki ya peanuts.txt dosyasının üzerine yazmak istemezsek? Neyse ki, bunun için de bir yönlendirme operatörü var: >>

$ echo Hello World >> peanuts.txt

Bu komut, "Hello World" yazısını peanuts.txt dosyasının sonuna ekler. Dosya zaten yoksa, tıpkı > yönlendiricisi gibi bizim için oluşturur.

Last updated