İçeriğe atla

tee (Unix)

teenin örnek kullanımı: ls -l çıktısı tee'ye yönlendirilir, tee ise bunları file.txt dosyasına kopyalar ve less komutuna gönderir. teenin ismi de, büyük T harfine benzediği için bu şemadan ileri gelir.

tee
Geliştirici(ler)AT&T Bell Laboratuvarları, Mike Parker, Richard Stallman, David MacKenzie, Microware, Jim Hall, JP Software, Microsoft
İlk yayınlanmaHaziran 1974 (50 yıl önce) (1974-06)
Programlama diliC
İşletim sistemiUnix, Unix-benzeri, Plan 9, Inferno, OS-9, FreeDOS, Windows, ReactOS, IBM i
PlatformÇoklu platform
TürKomut
LisansFreeDOS: GPLv2
ReactOS: GPLv2
Plan 9: MIT Lisansı

tee, standart akışları kullanan komut satırı yorumlayıcılarında (kabuklar) bir komuttur. Standart girdiyi okur ve hem standart çıktıya hem de bir veya daha fazla dosyaya çıktıyı yazar; bu şekilde girdiyi kopyalayarak çoğaltır.[1] Bu komut, genel olarak, boruhatları ve filtreler ile birlikte kullanılır; boruhattında giden bir çıktıyı aynı zamanda bir dosyaya kaydetmek istediğimiz zaman kullanışlıdır.

Komut, ismini, tesisat işlerinde kullanılan T-kiriş tipi boruların İngilizce isminden (T-splitter) almıştır.[2]

Unix'teki tee komutu, standart girdiden okuyan ve aynı anda hem standart çıktıya (genellikle ekrana) hem de bir veya daha fazla dosyaya yazan basit ama güçlü bir yardımcı programdır. İşte kullanımının ve özelliklerinin bir dökümü:

Temel Sözdizimi:

tee [OPTION]... [FILE]...

Kullanım:

Standart Girdiden Okuma: tee, bir borudan (|) veya kullanıcı girdisinden gelebilen standart girdiden veri okur ve bunu hem standart çıktıya hem de belirtilen dosyalara aktarır.

Dosyalara Yazma: tee'ye argüman olarak belirtilen dosyalar girdi verilerinin bir kopyasını alacaktır. Bu, bir komutun veya betiğin çıktısını yakalamanıza ve ekranda görmeye devam ederken bir dosyaya kaydetmenize olanak tanır.

Seçenekler:

-a, --append: Çıktıyı dosyaların üzerine yazmak yerine dosyalara ekler. Mevcut dosyalara içerik eklemek için kullanışlıdır.

-i, --ignore-interrupts: Kesme sinyallerini (Ctrl+C tuşlarına basmak gibi) yok sayar, bir kesme alınsa bile dosyalara yazmaya devam eder.

Örnek Kullanım:

# Bir komutun çıktısını bir dosyaya kaydedin ve ayrıca terminalde görüntüleyin
ls | tee output.txt

# Bir komutun çıktısını mevcut bir dosyaya ekle
ls | tee -a output.txt

# Standart girdiden okuyun ve birden fazla dosyaya kaydedin
cat file.txt | tee file1.txt file2.txt

# Terminalde bir komutun çıktısını görüntüleyin ve üzerine yazmadan bir dosyaya kaydedin
ls | tee -a output.txt

Ek Bilgi:

Adlandırılmış Borular: tee, veri akışlarını bölmek için adlandırılmış borularla (mkfifo) kullanılabilir ve birden fazla işlemin aynı borudan okumasına veya aynı boruya yazmasına izin verir.

Günlük kaydı: Kayıt tutma veya hata ayıklama amacıyla bir komutun çıktısını bir dosyaya kaydetmek istediğiniz kabuk komut dosyası oluşturma ve günlüğe kaydetme senaryolarında yaygın olarak kullanılır.

İnteraktif Kullanım: tee, bir komutun çıktısını ekranda görmeye devam ederken kaydetmek istediğiniz interaktif kullanım durumları için de kullanışlı olabilir.

Diğer Komutlarla Birleştirme: tee, Unix'te daha karmaşık veri işleme boru hatları oluşturmak için diğer komutlar ve yardımcı programlarla birleştirilebilir.

Özet:

Özünde tee, Unix ortamlarında veri akışlarını yakalamanıza ve çoğaltmanıza olanak tanıyan çok yönlü bir komut satırı aracıdır ve çeşitli komut dosyası oluşturma, günlük kaydı ve veri işleme görevleri için değerli bir varlıktır.

Kaynakça

  1. ^ "Man Page for tee (posix Section 1)" (İngilizce). IEEE Std 1003.1, 2003 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6. Erişim tarihi: 1 Aralık 2013. 
  2. ^ "In Unix, what do some obscurely named commands stand for?" (İngilizce). 27 Kasım 2005 tarihinde kaynağından arşivlendi. Erişim tarihi: 3 Şubat 2012. 

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">C (programlama dili)</span> programlama dili

C, yapısal bir programlama dilidir. Bell Laboratuvarları'nda, Ken Thompson ve Dennis Ritchie tarafından UNIX işletim sistemini geliştirebilmek amacıyla B dilinden türetilmiştir. Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian Kernighan ve Dennis M. Ritchie tarafından yayımlanan "C Programlama Dili" kitabından sonra hızlanmıştır. Günümüzde neredeyse tüm işletim sistemlerinin yapımında %95'lere varan oranda kullanılmış, hâlen daha sistem, sürücü yazılımı, işletim sistemi modülleri ve hız gereken her yerde kullanılan oldukça yaygın ve sınırları belirsiz oldukça keskin bir dildir. Keskinliği, programcıya sonsuz özgürlüğün yanında çok büyük hatalar yapabilme olanağı sağlamasıdır. Programlamanın gelişim süreciyle beraber programlamanın karmaşıklaşması, gereksinimlerin artması ile uygulama programlarında nesne yönelimliliğin ortaya çıkmasından sonra C programcıları büyük ölçüde nesne yönelimliliği destekleyen C++ diline geçmişlerdir.

<span class="mw-page-title-main">Unix</span>

UNIX türevi işletim sistemleri çok işlemcili çok pahalı makinelerden tek işlemcili, basit ve çok ucuz ev bilgisayarlarına kadar pek çok cihaz üzerinde çalışabilen esnek ve sağlamlığı çok değişik koşullarda test edilmiş sistemlerdir. Fakat özellikle kararlı yapısı ve çok kullanıcılı-çok görevli yapısıyla çok işlemcili sunucularda adeta standart haline gelmiştir ve özellikle akademik dünyada iş istasyonları üzerinde çok yaygın bir kullanım alanı bulmuştur. UNIX, Interdata 7/32, VAX ve Motorola 68000 arasında hızla yayıldı.

<span class="mw-page-title-main">MS-DOS</span> 1980li yıllarda kişisel bilgisayar işletim sistemi

MS-DOS, Microsoft firmasının geliştirdiği bir DOS sistemidir. 1980'li yıllarda PC uyumlu platformlar üzerinde kullanılan en yaygın işletim sistemiydi. 1990'lı yılların ortalarından 2000 yılına kadarki en popüler işletim sistemleri olan Windows 9x ailesinin temeli olarak kullanıldı. Masaüstü bilgisayarlardaki popülerliğini, zamanla Windows NT mimarisi kullanan yeni nesil Windows işletim sistemlerine bıraktı.

<span class="mw-page-title-main">Linus Torvalds</span>

Linus Benedict Torvalds Finlandiya asıllı Amerikalı bir bilgisayar bilimci ve yazılım mühendisidir. Linux işletim sistemi çekirdeğinin geliştiricisi ve proje yöneticisi olup, ABD'de yaşamaktadır. Transmeta'daki görevinden ayrıldığından beri OSDL'de tam zamanlı olarak Linux çekirdeği üzerinde çalışmaktadır. Helsinki Üniversitesi'nde bilgisayar bilimleri bölümünden mezun olmuştur.

<span class="mw-page-title-main">Dosya aktarım iletişim kuralı</span> Bilgisayarcılık terimi

Dosya aktarım iletişim kuralı,, bir veri yığınının - ASCII, EBCDIC ve binary- bir uç aygıttan diğerine iletimi için kullanılmaktadır.

Berkeley r-komutları, bir Unix sisteminin kullanıcılarının TCP/IP bilgisayar ağı üzerinden başka bir Unix bilgisayarında oturum açmasını veya komutlar vermesini sağlamak için tasarlanmış bir bilgisayar programları paketidir. Berkeley r-komutları, 1982'de Berkeley'deki Kaliforniya Üniversitesi'ndeki Computer Systems Research Group (CSRG) tarafından, TCP/IP'nin erken uygulanmasına dayanarak geliştirildi.

<span class="mw-page-title-main">Ekran görüntüsü</span>

Ekran yakalama görüntüsü, çeşitli programlar vasıtası ile ekranda o andaki görüntünün anlık fotoğrafının çekilmesidir. Görüntü yakalama film ve benzeri hareketli görüntülerden gerçekleştirilebilir. Ancak aynı zamanda ekranın video çıkışını kesen bir kamera veya bir cihaz tarafından yapılan bir yakalama olabilir. Çeşitli programlar vasıtası ile yapılabilir Görüntü o andaki bilgisayar ekranındaki resminin kaydedilmesi için print screen klavye tuşu ile de yapılabilir. Herhangi bir anda bu tuşa basılıp daha sonra Windows işletim sisteminde bulunan paint veya word gibi bir programda resim dosyası olarak düzen yapıştır menüsünden eklenerek kullanılabilir.

sed, bir akım düzenleyicisi, dosya ya da borudan gelen girdideki temel metin dönüştürmelerini gerçekleştirir. Yani dosya ya da standart girdiden metni okur ve bunu kullanıcının istediği biçime dönüştürerek standart çıktıya okur.

<span class="mw-page-title-main">Assembly</span> uygulanan işlemlerle programlama dilinin birbirine çok yakın olduğu düşük seviye programlama dilleri

Assembly dili, bir işlemcinin komut kümesi üzerine tanımlanmış alt seviye bir dildir. Assembly dili kolay hatırlanabilir semboller tanımlar ve böylece işlemcinin makina koduna karşılık gelen sayı dizilerinin bilinmesine gerek kalmaz. Assembly dili, platformdan bağımsız yüksek seviyeli programlama dillerinin aksine, işlemci mimarisine bağımlıdır. Tipik uygulamaları; cihaz sürücüleri, alt seviyeli dahili (embedded) ve gerçek zamanlı sistemlerdir. Bır assembly programı assembler kullanılarak makine koduna çevrilir.

Boru hattı (pipeline), yazılım mühendisliğinde, her bir elemanın çıktısı bir sonraki elemanın girdisi olacak şekilde sıralanmış işlemler zinciridir. Genellikle, ardışık birimlerin aralarına bir miktar arabellek (buffer) konulmaktadır. Bu boruhatları arasındaki bilgi akışı çoğunlukla bayt katarları (stream) ve bit katarları şeklindedir.

<span class="mw-page-title-main">Komut satırı</span> yazıyla komutlar girilen ve çıktının da yazıyla ifade edildiği bilgisayar arayüz sistemi

Komut satırı, bir bilgisayar kullanıcısının, belirli metinleri (komutları) girerek, bilgisayarla iletişime geçmesini sağlar. Komut satırı arayüzleri; konsol, kabuk, terminal veya uçbirim diye de adlandırılır.

<span class="mw-page-title-main">DVD+RW</span>

DVD+RW optik diskler için standart bir isimdir: DVD'nin birkaç türünden biridir ve 4,7 GB'lık kapasiteye sahiptir (yaklaşık olarak 4.7 × 109 bayt; normalde her bir sektörde 2048 bayt olan 2295104 sektör bulunur) film, müzik ve diğer verileri depolamak için kullanılır.

Robot engelleme standardı, web böceği veya web örümceği gibi yazılımların web sunucularının kamuya açık bölümlerinin tamamına veya bir kısmına erişimini engellemeye yarayan bir standarttır. Genelde web sitelerini sınıflandırmak ve arşivlemek amacı ile arama motorları ya da düzeltilmiş kaynak kodları için site yöneticileri robotları kullanırlar. Robotlar bu işlem sonucunda web siteleri için site haritaları oluştururlar.

<span class="mw-page-title-main">LyX</span>

LyX, daha çok teknik ve bilimsel belgeler hazırlamada kullanılan bir belge işleme uygulamasıdır. Esasen bir LaTeX önyüzü olarak tasarlanmış olmasına karşın, kendi özgün dosya biçimine (.lyx) ve piksel tabanlı ekran yazıtiplerini kullanarak matematiksel formülleri hızlı bir şekilde ifade etme yeteneğine sahiptir.

Java platformu dillerinden olan BeanShell, kendi sözdiziminin yanı sıra Java programlama dili sözdiziminin büyük bir bölümünü desteklemesi nedeniyle, Java programlama dilinin komut kabuğu olarak da görülebilir. BeanShell'in bu özelliği, küçük Java kod parçalarının denenmesinde ve Java platformu için yazılmış sınıf dosyalarının yüklenip, birim sınamalarının yapılmasında, düzenle-derle-çalıştır döngüsünü kısaltması sayesinde, büyük kolaylık sağlar.

cat (Unix) komut satırı programı

cat, dosyaları sırasıyla okuyan ve standart çıktıya yazan POSIX standartlı bir Unix komutudur.

info (Unix)

info hiper metinsel formda bir unix komut satırı aracıdır. Komut satırı arayüzünde çalışan, çok sayfalı belgelemeleri ve yardımları görüntülemeye yarayan bir araçtır. GNU araçlarının bulunmadığı zamanlarda çok kullanışlıdır.

Automator, Apple tarafından Mac OS ve macOS için geliştirilen bir uygulamadır. Automator ile kullanıcı bilgisayarında yaptıklarının çoğunu otomatik hale getirebilir. Tekrar eden görevleri otomatik olarak hızlıca değiştirmek için noktalara ve tıklamaya iş akışılarının oluşturulmasını uygular. Böylece her bir dosyayı manuel olarak elle değiştirmek için insan müdahalesi için zaman ve emek tasarrufu sağlanır. Automator Finder, Safari, Takvim, Kişiler ve diğerleri de dahil olmak üzere çok çeşitli programlardaki görevlerin tekrarını sağlar. Ayrıca Microsoft Office, Adobe Photoshop veya Pixelmator gibi üçüncü parti uygulamalarla da çalışabilir. Simge, bir boruyu tutan bir robot, boru hatlarına bir referans, bağlı veri iş akışları için bir bilgisayar bilimi terimi içeriyor. Automator, ilk olarak Mac OS X Tiger (10.4) ile piyasaya çıktı.

<span class="mw-page-title-main">Metin tabanlı kullanıcı arayüzü</span> bir metin ekranına çıktı vermeye veya onu kontrol etmeye dayalı arabirim türü

Metin tabanlı kullanıcı arayüzü, metinsel kullanıcı arayüzü veya terminal kullanıcı arabirimi olarak da adlandırılır, grafik kullanıcı arayüzlerinin (GUI) icadından bir süre sonra ortaya çıkan ve onu grafik kullanıcı arayüzünden ayırt etmek için türetilen yeni bir terimdir. TUI'de bilgisayar grafikleri metin kipinde görüntülenir. Gelişmiş bir TUI, GUI'ler gibi tüm ekran alanını kullanabilir ve fare ve diğer girişleri kabul edebilir.

Bilişim ve haberleşmede, bit akışı veya ikili değer dizesi, bir bitler dizesidir.