4Sep

Bash( aka Linux ve macOS Terminali) içindeki bir dosyaya bir komut çıktısını kaydetmek nasıl

Bir komutu bash komut satırında çalıştırdığınızda, komutun çıktısını direkt olarak terminale yazdırabilir, böylece derhal okuyabilirsiniz. Ancak bash ayrıca herhangi bir komutun çıktısını "yönlendirme" yapmanıza, daha sonra çıktıyı gözden geçirebilmeniz için bir metin dosyasına kaydetmenizi sağlar.

Bu, bash'da Linux ve macOS'dan Windows 10'un Ubuntu tabanlı bash ortamına kadar herhangi bir işletim sisteminde çalışır.

Birinci Seçenek: Çıktıyı yalnızca bir Dosyaya Dönüştür

Başh yönlendirmeyi kullanmak için, bir komutu çalıştırıp & gt;veya & gt;operatörünü seçin ve çıkışın yönlendirilmesini istediğiniz bir dosyanın yolunu belirtin.

  • & gt;dosyanın varolan içeriğini değiştirerek bir komutun çıktısını bir dosyaya yönlendirir.
  • & gt;bir komutun çıktısını bir dosyaya yönlendirir ve çıktıyı dosyanın mevcut içeriğine ekler.

Teknik olarak, "stdout" - ekran olan standart çıktı - bir dosyaya 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, dosyaları ve klasörleri geçerli dizinde listeleyecektir. Ancak bunları ekrana yazdırmaz-belirlediğiniz dosyaya kaydeder.

ls & gt;/path/to/ dosyası

Varolan bir dosyanın yolunu belirtmeniz gerekmez. Herhangi bir geçerli yolu belirtin ve bash bu konumda bir dosya oluşturacaktır.

Dosyanın içeriğini görürseniz, ls komutunun çıktısını görürsünüz.Örneğin, cat komutu bir dosyanın içeriğini terminale yazdırır:

kedi /path/to/ dosyası

& gt;operatör, dosyanın mevcut içeriğini komutun çıktısıyla değiştirir. Birden fazla komutun çıktısını tek bir dosyaya kaydetmek istiyorsanız, & gt; & gt;Bunun yerine operatör.Örneğin, aşağıdaki komut belirttiğiniz dosyaya sistem bilgisini ekleyecektir:

uname -a & gt; & gt;/path/to/ dosyası

Dosya zaten yoksa bash dosyayı oluşturacaktır. Aksi halde, bash dosyanın mevcut içeriğini tek başına bırakır ve çıktı dosyanın sonuna eklenir.

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 ekleme yapmaya devam etmek istediğiniz kadar tekrar edebilirsiniz.dosya.

İkinci Seçenek: Çıktının Normal Olarak Yazdırılması ve Bir Dosyaya Yeniden Yönlendirilmesi

Çıktıyı & gt;veya & gt;Operatörler, terminaldeki komut çıktısını göremezsiniz. Tişört talimatı bunun içindir. Tee komutu aldığı girdiyi ekranına yazdırır ve bunu aynı anda bir dosyaya kaydeder.

Bir komutu çıktısını tee etmek, onu ekranınıza yazdırmak ve bir dosyaya kaydetmek için aşağıdaki sözdizimini kullanın:

command |tee /path/to/ dosyası

Bu, dosyadaki herhangi bir şeyin & gt;Şebeke.

Bir komut çıktısını tee etmek, ekrana yazdırmak ve bir dosyaya kaydetmek ancak dosyanın sonuna eklemek için:

command |tee -a /path/to/ dosyası

Bu, dosyanın sonuna, & gt; & gt;Şebeke.

bash kabuğu, benzer işlevleri yerine getiren bazı ek, gelişmiş işleçler içerir. Bash komut dosyalarını yazıyorsanız bunlar özellikle yararlı olacaktır. Daha ayrıntılı bilgi için Gelişmiş Bash Komut Dosyası Kılavuzu'ndaki G / Ç Yönlendirme bölümüne bakın.