Özet
cat [-belnstuv] [file ...]
Açıklama
cat, 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 hiçbir dosya belirtilmemişse, cat standart girdiden okur.
Dosya bir UNIX alanı soketi (UNIX domain socket) ise, cat ona bağlanır ve EOF karakterine kadar okur. Bu, inetd(8) içinde bulunan UNIX alanı bağlama özelliğini tamamlar.
Seçenekler
-b: Boş olmayan çıktı satırlarını 1'den başlayarak numaralandırır.-e: Yazdırılamayan karakterleri görüntüler; ayrıntılar için-vseçeneğine bakın. Ayrıca her satırın sonunda dolar işareti ($) görüntüler.-l: Standart çıktı dosya tanımlayıcısı üzerinde özel bir tavsiyeli kilit (exclusive advisory lock) ayarlar. Bu kilit,F_SETLKWkomutuylafcntl(2)kullanılarak ayarlanır. Çıktı dosyası zaten kilitliyse,catkilit elde edilene kadar bloke olur.-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; ayrıntılar için-vseçeneğine bakın. Ayrıca sekme karakterlerini^Iolarak görüntüler.-u: Çıktı arabelleğe almayı devre dışı bırakır.-v: Yazdırılamayan karakterleri görünür olacak şekilde görüntüler. Kontrol karakterlericontrol-Xiçin^Xolarak yazdırılır; silme karakteri (sekizlik0177)^?olarak yazdırılır. ASCII olmayan karakterler,M-ve ardından gelen düşük 7 bitlik karakter olarak yazdırılır.
Çıkış Durumu
cat, başarı durumunda 0, bir hata oluştuğunda ise >0 değeriyle çıkar.
Örnekler
file1 dosyasının içeriğini standart çıktıya yazdırmak:
cat file1
file1 ve file2 dosyalarının içeriğini sırasıyla file3 dosyasına yazdırmak:
cat file1 file2 > file3
Bu komut, file3 zaten mevcutsa içeriğini sıfırlar. Yönlendirme hakkında daha fazla bilgi için kabuğunuzun, örneğin sh(1), kılavuz sayfasına bakın.
Dosya ve standart girdiyi aynı komutta sırayla okumak:
cat file1 - file2 - file3
Bu komut file1 içeriğini yazdırır, standart girdiden EOF (^D) alana kadar gelen verileri yazdırır, file2 içeriğini yazdırır, standart girdiyi yeniden okur ve son olarak file3 içeriğini yazdırır.
Standart girdi bir dosyayı belirtiyorsa, 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 tirenin etkisi olmaz.
Ayrıca Bakınız
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, IEEE Std 1003.2-1992 ("POSIX.2") belirtimiyle uyumludur.
[-belnstv] bayrakları bu belirtime 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 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 olur.
cat, -t veya -v seçeneği etkinken çok baytlı karakterleri tanımaz.