tee Komutu
Tee Komutu

tee komutu standart-input ifadelerini okumak ve onları standart-output olarak dosyalara yazmak için kullanılan bir komuttur.
Örnek uygulamalarla konuyu pekiştirmeye çalışalım:
ping yollama ve logları kayıt altına alma
ping z3.fm | tee z3fm_ping.txt
Yukarıda verilen kod satırı z3.fm isimli bir mp3 indirme servisine 64 bytlık paketler halinde ping atarak verilen sonuçları z3fm_ping.txt isimli bir dosyaya borulamakta ve böylece kayıt altına almaktadır.
HATIRLATMA:
|işareti (Pipeline) bir komutun çıktısını başka bir komuta girdi olarak kullanmak amacıyla kullanılır.
teekomutuna ek bir parametre verilmediği sürece sisteme girilenstdingirişleri hedef gösterilen dosyanın son satırına ekler.
Satır Sayısı Sayma
wc -l dosya1.txt | tee -a dosya2.txt
Bu örneğimizde wc komutu word-count işlemi yapmakta ve -lparametresiyle satırları saymaktadır. dosya1.txt isimli dosyanın satırlarının sayısını saydıktan sonra | ile stdout ifadesini yeni komut için stdin haline getirmektedir. tee komutu ile sayılan satırları -a append parametresi yardımıyla dosyanın en sonuna ilave eder.
Disk bilgisinin görüntülenmesi
df -h | tee disk_usage.txt
df komutu -h parametresi ile disk kullanım oranlarını human-readable insanlar tarafından okunabilir bir şekilde verecektir. | ile tee komutuna boruladığımızda disk kullanım oranlarımızı bir dosyaya stdin olarak aktarmış bulunuyoruz.
Yukarıdaki komut aşağıdakine benzer bir çıktı verecektir:
Filesystem Size Used Avail Use% Mounted on
udev 2.9G 0 2.9G 0% /dev
tmpfs 591M 3.6M 587M 1% /run
/dev/sda5 233G 183G 39G 83% /
tmpfs 2.9G 184M 2.8G 7% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 2.9G 0 2.9G 0% /sys/fs/cgroup
/dev/loop0 128K 128K 0 100% /snap/bare/5
/dev/loop1 164M 164M 0 100% /snap/chromium/2897
/dev/loop3 167M 167M 0 100% /snap/chromium/2905
/dev/loop2 56M 56M 0 100% /snap/core18/2823
/dev/loop5 64M 64M 0 100% /snap/core20/2318
/dev/loop4 56M 56M 0 100% /snap/core18/2829
/dev/loop6 64M 64M 0 100% /snap/core20/2264
/dev/loop11 75M 75M 0 100% /snap/core22/1380
/dev/loop7 75M 75M 0 100% /snap/core22/1122
/dev/loop10 68M 68M 0 100% /snap/cups/1058
/dev/loop9 67M 67M 0 100% /snap/cups/1052
/dev/loop8 67M 67M 0 100% /snap/core24/423
/dev/loop12 219M 219M 0 100% /snap/gnome-3-34-1804/66
/dev/loop13 219M 219M 0 100% /snap/gnome-3-34-1804/93
/dev/loop14 350M 350M 0 100% /snap/gnome-3-38-2004/143
/dev/loop15 505M 505M 0 100% /snap/gnome-42-2204/172
/dev/loop16 506M 506M 0 100% /snap/gnome-42-2204/176
/dev/loop17 488M 488M 0 100% /snap/gnome-46-2404/26
/dev/loop21 28M 28M 0 100% /snap/nvim/2823
/dev/loop20 92M 92M 0 100% /snap/gtk-common-themes/1535
/dev/loop18 225M 225M 0 100% /snap/mesa-2404/44
/dev/loop22 432M 432M 0 100% /snap/qt515-core20/31
/dev/loop19 65M 65M 0 100% /snap/gtk-common-themes/1514
/dev/loop23 26M 26M 0 100% /snap/nvim/2819
/dev/loop27 13M 13M 0 100% /snap/snap-store/1113
/dev/loop25 39M 39M 0 100% /snap/snapd/21759
/dev/loop26 13M 13M 0 100% /snap/snap-store/959
/dev/loop24 433M 433M 0 100% /snap/qt515-core20/32
/dev/loop28 39M 39M 0 100% /snap/snapd/21465
/dev/loop29 447M 447M 0 100% /snap/telegram-desktop/6024
/dev/loop30 447M 447M 0 100% /snap/telegram-desktop/6055
/dev/sda2 512M 4.0K 512M 1% /boot/efi
tmpfs 591M 112K 591M 1% /run/user/1000
Birden çok dosyaya yazma
echo "Merhaba Dunya" | tee dosya1.txt dosya2.txt dosya3.txt
Yukarıdaki komut birden çok dosyaya "Merhaba Dünya" ifadesini yazdıracaktır.
yazma korumalı dosyalara ekleme
echo "bu satırı ekledik" | sudo tee -a /etc/cron.d/anacron
Normalde etc/ isimli klasördeki bir dosyaya erişim sistem tarafından kısıtlandığından dolayı bu engeli aşmak adına sudo komutu yardımıyla super-user izni alarak sistem dosyalarına erişim sağlıyoruz.
Sonuç ve Değerlendirme
Örneklerin sayısı dilediğiniz kadar arttırılabilir. Ne kadar fazla komut ve parametre ile çalışıyorsanız o kadar çok miktarda komut işlemi geliştirebilirsiniz. tee komutu bash altında diğer komutlarla birlikte çalışan bir komuttur. Bu tarz komutları yardımcı komutlar olarak değerlendireceğiz.
awksedgrepechofindfd
benzeri komutlarla bir arada kullanarak sistem kayıtlarından daha etkili sonuçlar elde edeceğiz.
Yeni yazılarda görüşmek üzere...