Konuyu Açan
#1
tee ile Çıktı Yönlendirme
Bir komutun çıktısını hem ekrana göstermek hem de dosyaya kaydetmek için:
Bu komut, mevcut dizindeki dosya ve klasörleri ekrana basar ve aynı içeriği liste.txt dosyasına yazar. Dosya zaten varsa üzerine yazılır; yoksa oluşturulur. Bu davranış, sudo gibi yetkili işlemlerde bile aynen uygulanır.
Çıktıyı mevcut dosyaya eklemek için:
ile çıktı dosyasının sonuna eklenir, önceki içerik değiştirilmez. Bu mod, sürekli olarak süreç bilgilerinin günlüklenmesi için idealdir.
Birden çok dosyaya aynı anda yazmak mümkün:
Standart hata çıktısını da içermek için:
[/quote]
Kademeli yönlendirme ve daha karmaşık akışlar için köprü kurmak faydalı:
Bu örnek, bulunulan dosyaları ekrana ve loglistesi.txt’ye yazar, ayrıca hata çıktısını reddeder; ardından eklenen satır sayısını adetler.txt dosyasına kaydeder.
Çıktıyı her satır için zaman damgası ile kaydetmek için şöyle bir yaklaşım kullanılabilir:
Gerçek dünyada bu yöntemi komut boru zincirlerine entegre etmek, olay günlüğünün net ve analiz edilebilir kalmasını sağlar.
Kapanış
Çıktının aynı anda ekrana görünmesi ve bir dosyaya kaydedilmesi ihtiyacı, günlük yönetimi ve hata takibi için sık karşılaşılan bir senaryodur. tee, bu ihtiyacı sade ve güvenilir bir şekilde çözer; özellikle uzun çalışan süreçleri izlerken veya çoklu hedeflere logging yaptığınızda çıtayı düşürmez. Bu konuya ilişkin kendi pratik kullanım senaryolarınız varsa, düğümlenmiş akışlar ve özel yönlendirme ihtiyaçları için paylaşımlarınızı merakla bekliyorum.
Günlük iş akışında komut çıktısını hem ekrana bakarken izlemek hem de bir dosyaya kaydetmek istediğiniz durumlar sıkça karşılaşılır. Linux/Unix dünyasında bunun pratik ve güvenilir bir yolu var: tee komutu. Tee, standart çıktıyı hem terminale yazdırır hem de bir dosyaya yönlendirme yapar; bu sayede akış üzerinde tam kontrol sağlar. Bu yazıda, tee’nin temel kullanımlarını, farklı yönlendirme seçeneklerini ve yaygın hataları örneklerle ele alacağım.
- Temel kullanım ve basit örnek
KOD
1ls -la | tee liste.txt- Dosya içeriğini koruma ve ekleme modu
KOD
1ps aux | tee -a kaynaklar.logKOD
1tee -aKOD
1echo "güncel durum" | tee durum1.log durum2.log- Hataların da yönlendirilmesi
KOD
1grep --line-number 'panic' /var/log/system.log 2>&1 | tee hatalar.txt[/quote]
- Dosya yoluyla çıktı akışını yönetme
KOD
1find /var -type f -name '*.log' 2>/dev/null | tee -a loglistesi.txt | wc -l > adetler.txtBu örnek, bulunulan dosyaları ekrana ve loglistesi.txt’ye yazar, ayrıca hata çıktısını reddeder; ardından eklenen satır sayısını adetler.txt dosyasına kaydeder.
- Tee ile zaman damgası kullanımı
KOD
1date "+%F %T" | tee zamani.txtGerçek dünyada bu yöntemi komut boru zincirlerine entegre etmek, olay günlüğünün net ve analiz edilebilir kalmasını sağlar.
Kapanış
Çıktının aynı anda ekrana görünmesi ve bir dosyaya kaydedilmesi ihtiyacı, günlük yönetimi ve hata takibi için sık karşılaşılan bir senaryodur. tee, bu ihtiyacı sade ve güvenilir bir şekilde çözer; özellikle uzun çalışan süreçleri izlerken veya çoklu hedeflere logging yaptığınızda çıtayı düşürmez. Bu konuya ilişkin kendi pratik kullanım senaryolarınız varsa, düğümlenmiş akışlar ve özel yönlendirme ihtiyaçları için paylaşımlarınızı merakla bekliyorum.
