← man/text
cat — man cat — 80×24
ugur@toprak:~/man/text$man cat
Bölüm 1 Metin İşleme

cat

dosyaları birleştirir ve yazdırır

Ö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