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.txtNe 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 WorldBu 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 Worldkomutunun çı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.txtBu 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