Linux tee komutu, tek bir farkla 'cat' komutuna oldukça benzer. Stdin'i stdout'a koyar ve ayrıca bunları bir dosyaya koyar. Borulama yoluyla diğer komutlarla birlikte en çok kullanılan komutlardan biridir. Std girişinden std çıkışına kadar ne veriliyorsa onu yazmamızı sağlar. İsteğe bağlı olarak bir veya birden fazla dosyaya yazma olanağı sağlar. Komut adı tee, tesisatta kullanılan T ayırıcıdan gelir.
Sözdizimi:
tee
Seçenekler:
Tee komutunu daha spesifik hale getirmek için kullanılabilecek bazı yararlı seçenekler aşağıda verilmiştir:
-a, --append: Verileri verilen dosyalara eklemek için kullanılır, verilerin üzerine yazmaz.
-i, --ignore-interrupts: Kesme sinyallerini yok saymak için kullanılır.
-P: Boru olmayanlara yazılan hataları teşhis etmek için kullanılır.
--output-error[=MOD]: Yazma hatası modundaki davranışı ayarlamak için kullanılır.
--yardım: Yardım belgelerini görüntülemek için kullanılır.
rsa için algoritma
--versiyon: Sürüm bilgisini görüntülemek için kullanılır.
tee Komutu örnekleri
tee komutunun aşağıdaki örneklerini görelim:
tamsayılara dize
- Tee komutu nasıl kullanılır?
- Bir dosya yazın ve çıktıyı ekleyin
- Verinin durumunu bir Dosyaya yaz
- Birden fazla dosyaya yaz
- Ayrıcalıklı bir dosyaya yaz
- Kesintileri Göz Ardı Etme
- Çıktıyı gizle
Tee komutu nasıl kullanılır?
tee komutu standart bir girdiyi standart çıktıya ve bir dosyaya yazmak için kullanılır. Borudan sonra kullanılır. Standart çıktıya ve bir dosyaya yazmak için, borudan sonra tee komutunu belirtin ve dosya(lar)ın adını belirtin. Aşağıdaki komutu göz önünde bulundurun:
cat weeks.txt | tee newfile.txt
Yukarıdaki komut 'weeks.txt' girdisini 'newfile.txt' dosyasına yazacaktır. Aşağıdaki çıktıyı göz önünde bulundurun:
Yukarıdaki çıktıdan, tee komutu kullanılarak bir 'newfile.txt' dosyası oluşturulur.
Bir dosya yazın ve çıktıyı ekleyin
'-a' seçeneği, çıktıyı eklemek ve bir dosyaya yazmak için tee komutuyla birlikte kullanılır. Aşağıdaki komutu göz önünde bulundurun:
echo 'Saturday and Sunday are week offs' | tee -a newfile.txt
Yukarıdaki komut belirtilen girişi 'newfile.txt' dosyasına ekleyecektir. Aşağıdaki çıktıyı göz önünde bulundurun:
Yukarıdaki çıktıdan itibaren belirtilen girdi 'yenidosya.txt' dosyasına eklenir.
Verinin Durumunu Dosyaya Yazma
Verinin durumunu yazmak, yedekleme almak veya hata ayıklama amacıyla verilerin bir anlık görüntüsünü oluşturmak için çok kullanışlıdır. tee komutu kullanılarak kolaylıkla yapılabilir.
Verinin durumunu bir dosyaya yazmak için aşağıdaki komutu yürütün:
ls ~/ | tee pipe1.txt | grep ^b | tee pipe2.txt | sort -r
Yukarıdaki komut verileri pipe1.txt dosyasına yazacaktır. Aşağıdaki çıktıyı göz önünde bulundurun:
Yukarıdaki çıktıdan, geçerli çalışma dizini verilerinin anlık görüntüsü 'yenidosya.txt' dosyasında depolanır.
Birden fazla dosyaya yaz
tee komutu birden fazla dosyaya yazmamızı sağlar. Birden fazla dosyaya yazmak için tee komutundan sonra dosyaların adlarını aşağıdaki gibi belirtin:
echo ' add text' | tee file1.txt file2.txt file3.txt
Yukarıdaki komut belirtilen tüm dosyaları oluşturacaktır. Aşağıdaki çıktıyı göz önünde bulundurun:
Ayrıcalıklı bir dosyaya yaz
tee komutu sudo ayrıcalığına sahip bir dosyaya yazmamızı sağlar. Kök kullanıcıya ait bir dosyayı yazmaya çalışırsak izin hatasıyla karşılaşacağız. Ancak tee komutunu aşağıdaki gibi çalıştırarak sudo iznini yükseltebiliriz:
disket
echo 'some text' | sudo tee -a
Kesintileri Göz Ardı Etme
'-i' seçeneği kesintileri yok saymak için kullanılır. Yürütme sırasında komutu düzgün bir şekilde durdurup çıkmak istiyorsak bu kullanışlıdır. Aşağıdaki şekilde kullanılır:
command | tee -i
Çıktıyı gizle
tee komutunu standart çıktıya yazmayacak şekilde kısıtlamak için onu '/dev/null' konumuna yönlendirin. Komutu aşağıdaki gibi yürütün:
echo 'Text' | tee newfile.txt >/dev/null
Aşağıdaki çıktıyı göz önünde bulundurun: