Linux Tee Komutu Nedir?

Pipe ile kullanılan tee komutu, standart girdiyi okur, ardından bir programın çıktısını standart çıktıya yazar ve aynı anda belirtilen dosya veya dosyalara kopyalar.

tee [option] [file]

tee kullanımı

En basit kullanımı ile, bir komutun çıktısını mevcut bir dosyaya görüntülemek ve kayıt etmek için kullanalım.

ls -l | tee list.txt 

Bu, ls -l'nin standart çıktısını görüntülemeye ve aynı zamanda bunun bir kopyasını list.txt dosyasının üzerine yazdığını görebiliriz. 

Tabi ki üstüne yazma işlemi kötü sonuçlara yol açabilir. Bu yüzde komutu bilinçli kullanmakta fayda var. Tee komutunun  -a yani append seçeneği ile dosyanın üzerine yazmadan en sona eklememize olanak sağlar.

pwd | tee -a list.txt 

Diğer bir seçenek ise, -i yani --ignore seçeğini örnekleyelim. Google dns sunucularına ping atalım ve bu çıktıyı tee ile alalım ve sonra Crtl + C ile işlemi sonlandıralım. Dosyanın içeriğini görüntülediğimiz zaman, işlemi sonlandırdığımız için tamamlanmamış.

ping 8.8.8.8 | tee ping.txt 

Şimdi aynı komut satırını -i seçeneği ile çalıştırıyorum. Görevi sonlandırsak dahi görmezden gelerek bize sonucun çıktısını verdi.

ping 8.8.8.8 | tee -i ping.txt 

Bu son örneğimizde ise, echo komutu ile bir dosyanın içeriğine bir şeyler yazmaya çalışalım. Aşağıdaki görselde sudo programı ile çalıştırdığım halde, Permission denied aldığımı görebilirsiniz. Bunun sebebi yönlendirmeden sonra, sudo programının çalışmamasıdır. 

sudo echo 8.8.8.8 >> /etc/hosts 

Tee komutunu sudo programı ile de kullanabiliriz. Pipe 'tan sonra tee komutunu sudo ile çalıştırarak komut satırını tekrar yürütüyorum. Başarılı bir şekilde işlem gerçekleşecektir.

echo 8.8.8.8 | sudo tee -a /etc/hosts 

Tee komutunu her kullandığımızda dosyaya yazdığı çıktıyı ekrana da yazdırmaktadır. Bunu sonlandırmak için yönlendirme yapabiliriz.

echo 8.8.8.8 | sudo tee -a /etc/hosts >/dev/null 

/dev/null Unix benzeri işletim sistemlerinin aygıtlar dizininde (/dev) bulunan bir stream dosyasıdır. Bu belgeye yazılan her tür ve herhangi miktarda olan veriyi sistem yok sayar ve yazan işleme EOF gönderilir.

Blog'a Dön