Komutun Çıktısını Bash'deki Bir Dosyaya Nasıl Kaydetilir (aka Linux ve macOS Terminali)
Bash isteminde bir komut çalıştırdığınızda, normalde bu komutun çıktısını doğrudan terminale yazdırır, böylece hemen okuyabilirsiniz. Ancak bash ayrıca herhangi bir komutun çıktısını “yeniden yönlendirmenize” izin verir, onu bir metin dosyasına kaydederek çıktıyı daha sonra gözden geçirebilirsiniz.
Bu, Linux ve macOS'tan Windows 10'un Ubuntu tabanlı bash ortamına kadar herhangi bir işletim sisteminde bash olarak çalışır..
Birinci Seçenek: Çıktıyı Sadece Dosyaya Yeniden Yönlendirme
Bash yönlendirmesini kullanmak için bir komut çalıştırın, >
veya >>
işlecini ve ardından çıktının yönlendirilmesini istediğiniz dosyanın yolunu belirtin..
-
>
bir komutun çıktısını bir dosyaya yönlendirir, dosyanın içeriğini değiştirir. -
>>
bir komutun çıktısını bir dosyaya yönlendirir, çıktıyı dosyanın mevcut içeriğine ekler.
Teknik olarak, bu, "stdout" u ekrana döndüren standart çıktıyı yönlendirir..
İşte basit bir örnek. ls
komutu geçerli dizindeki dosyaları ve klasörleri listeler. Yani. aşağıdaki komutu çalıştırdığınızda, ls
geçerli dizindeki dosya ve klasörleri listeler. Ancak bunları ekrana yazdırmaz, belirttiğiniz dosyaya kaydeder.
ls> / yol / dosya / dosya
Mevcut bir dosyanın yolunu belirtmeniz gerekmez. Geçerli bir yol belirtin, bash bu konumda bir dosya oluşturacak.
Dosyanın içeriğini görüntülerseniz, ls
komutun çıktısı. Örneğin, kedi
komut bir dosyanın içeriğini terminale yazdırır:
kedi / yol / dosya / dosya
Hatırla,
işleci, dosyanın içeriğini komutun çıktısıyla değiştirir. Birden fazla komutun çıktısını tek bir dosyaya kaydetmek istiyorsanız, >
yerine operatöre Örneğin, aşağıdaki komut belirttiğiniz dosyaya sistem bilgilerini ekler:>>
uname -a >> / path / to / file
Dosya zaten mevcut değilse, bash dosyayı oluşturur. Aksi takdirde, bash dosyanın içeriğini yalnız bırakacak ve çıktıyı dosyanın sonuna ekleyecektir..
Dosyanın içeriğini görüntülediğinizde, ikinci komutunuzun sonuçlarının dosyanın sonuna eklendiğini göreceksiniz:
Bu işlemi, dosyanın sonuna kadar çıktı eklemeyi sürdürmek için istediğiniz kadar tekrarlayabilirsiniz..
İkinci Seçenek: Çıktıyı Normal Olarak Yazdır ve Bir Dosyaya Yeniden Yönlendir
Çıkışını yönlendirmek istemeyebilirsiniz >
veya >>
Operatörler, komutun çıktısını terminalde görmezsiniz. İşte bu t şeklinde
komut için. Tee komutu, aldığı girişi ekrana yazdırır. ve aynı anda bir dosyaya kaydeder.
Bir komutun çıktısını sınırlamak t şeklinde
, Ekranınıza yazdırmak ve bir dosyaya kaydetmek, aşağıdaki sözdizimini kullanın:
komut | tee / yol / dosya / dosya
Bu, dosyadaki herhangi bir komutun çıktısıyla, tıpkı bunun gibi >
Şebeke.
Bir komutun çıktısını sınırlamak t şeklinde
, ekranınıza yazdırmak ve bir dosyaya kaydetmek, ancak dosyanın sonuna ekleyerek:
komut | tee -a / yol / dosya
Bu, çıktısını tıpkı olduğu gibi dosyanın sonuna ekler. >>
Şebeke.
Bash kabuğu, benzer işlevleri gerçekleştiren bazı ileri ve gelişmiş operatörleri içerir. Bash scriptleri yazıyorsanız özellikle faydalı olacaktır. Daha ayrıntılı bilgi için Advanced Bash-Scripting Guide'daki G / Ç Yönlendirme bölümüne bakın.