Özet
cat [-belnstuv] [file ...]
Açıklama
cat aracı, dosyaları sıralı olarak okur ve standart çıktıya yazar. Dosya terimleri komut satırı sırasına göre işlenir. Dosya tek bir tire (‘-’) ise veya belirtilmemişse, cat standart girdiden okur. Dosya bir UNIX alanı soketi (UNIX domain socket) ise, cat ona bağlanır ve EOF (dosya sonu) karakterine kadar okur. Bu, inetd(8) içinde bulunan UNIX alanı bağlama özelliğini tamamlar.
Seçenekler aşağıdaki gibidir:
-b: Boş olmayan çıktı satırlarını 1'den başlayarak numaralandırır.-e: Yazdırılamayan karakterleri görüntüler (bkz. -v seçeneği) ve her satırın sonunda bir dolar işareti (‘$’) görüntüler.-l: Standart çıktı dosya tanımlayıcısı (file descriptor) üzerinde özel bir tavsiyeli kilit (exclusive advisory lock) ayarlar. Bu kilit, F_SETLKW komutu ile fcntl(2) kullanılarak ayarlanır. Çıktı dosyası zaten kilitliyse, cat kilit elde edilene kadar bloke olacaktır.-n: Çıktı satırlarını 1'den başlayarak numaralandırır.-s: Birden fazla bitişik boş satırı sıkıştırarak çıktının tek satır aralıklı olmasını sağlar.-t: Yazdırılamayan karakterleri görüntüler (bkz. -v seçeneği) ve sekme (tab) karakterlerini ‘^I’ olarak görüntüler.-u: Çıktı arabelleğe almayı (output buffering) devre dışı bırakır.-v: Yazdırılamayan karakterleri görünür olacak şekilde görüntüler. Kontrol karakterleri control-X için ‘^X’ olarak yazdırılır; silme (delete) karakteri (sekizlik 0177) ‘^?’ olarak yazdırılır. ASCII olmayan karakterler (yüksek biti ayarlanmış olanlar) ‘M-’ (meta için) ve ardından gelen düşük 7 bitlik karakter olarak yazdırılır.
Çıkış Durumu
cat aracı başarı durumunda 0, bir hata oluştuğunda ise >0 değeriyle çıkar.
Örnekler
Şu komut:
cat file1
file1 dosyasının içeriğini standart çıktıya yazdıracaktır.
Şu komut:
cat file1 file2 > file3
file1 ve file2 dosyalarının içeriğini sırasıyla file3 dosyasına yazdırır ve zaten mevcutsa
file3 dosyasının içeriğini sıfırlar (truncates). Yönlendirme (redirection) hakkında daha
fazla bilgi için kabuğunuzun (örneğin sh(1)) kılavuz sayfasına bakın.
Şu komut:
cat file1 - file2 - file3
file1 dosyasının içeriğini yazdırır, standart girdiden bir EOF (‘^D’) karakteri alana kadar
aldığı verileri yazdırır, file2 dosyasının içeriğini yazdırır, standart girdinin içeriğini
tekrar okur ve çıktı olarak verir, ardından son olarak file3 dosyasının içeriğini çıktı olarak
verir. Standart girdinin bir dosyayı belirtmesi durumunda, dosyanın tüm içeriği cat ilk ‘-’
terimiyle karşılaştığında zaten okunmuş ve yazdırılmış olacağından, komut satırındaki ikinci
tiren hiçbir etkisinin olmayacağını unutmayın.
Ayrıca Bkz.
head(1), more(1), pr(1), sh(1), tail(1), vis(1), zcat(1), fcntl(2), setbuf(3)
Rob Pike, “UNIX Style, or cat -v Considered Harmful”, USENIX Summer Conference Proceedings, 1983.
Standartlar
cat aracı, IEEE Std 1003.2-1992 (“POSIX.2”) spesifikasyonu ile uyumludur.
[-belnstv] bayrakları bu spesifikasyona yapılan uzantılardır.
Tarihçe
Bir cat aracı ilk olarak Version 1 AT&T UNIX sürümünde yer almıştır. Dennis Ritchie ilk kılavuz (man) sayfasını tasarlamış ve yazmıştır. Bu sayfa cat için yazılmış gibi görünmektedir.
Hatalar
Çıktı yönlendirmesini gerçekleştirmek için kullanılan kabuk dili mekanizması nedeniyle, “cat file1 file2 > file1” komutu file1 içindeki orijinal verilerin yok olmasına neden olacaktır!
cat aracı, -t veya -v seçeneği etkinken çok baytlı (multibyte) karakterleri tanımaz.
macOS 26.4 29 Ocak 2013 macOS 26.4