Cat (Unix)

Trong các hệ điều hành Unix và giống Unix, cat là một tiện ích chuẩn dùng để nối và liệt kê các tập tin. cat là viết tắt của từ catenate - liên kết.

Lịch sử
Bản cat đầu tiên trên Unix 1 được viết bởi Dennis M Ritchie (dmr) and Ken Thompson (ken)

Cú pháp lệnh
Lệnh cat đi kèm với tùy chọn và một danh sách tập tin và xuất ra stdin theo thứ tự danh sách, nếu không có tập tin nào, cat đọc từ stdin. Cú pháp lệnh cat là:

 cat [tùy chọn] [các tập tin cách nhau khoảng trắng]

Mặc định cat in kết quả ra màn hình stdout, có thể ghi kết quả ra tập tin như sau:
 cat [tùy chọn] [các tập tin cách nhau khoảng trắng] > [tập tin]

Ta cũng có thể dùng ống pipe để truyền kết quả từ cat sang một lệnh khác, ví dụ:
 cat [tùy chọn] [các tập tin cách nhau khoảng trắng] | less

Tùy chọn
Trên các hệ điều hành khác nhau, tùy chọn cat có thể hơi khác, ở đây ví dụ vài tùy chọn của cat của BSD và GNU:

b (chỉ GNU: --number-nonblank), đánh số các dòng không trống

n (chỉ GNU: --number),đánh số tất cả các dòng
s (chỉ GNU: --squeeze-blank), gộp nhiều dòng trống kề nhau

v (chỉ GNU: --show-nonprinting), hiển thị các ký tự không in nếu có thể (trừ tab và ký tự kết thúc dòng) t BSD, -T trên GNU kèm -v hiển thị tab dạng ^I

e BSD, -E trên GNU kèm -v hiển thị ký tự kết thúc dòng dạng $

A hiển thị tất cả các ký tự, kể cả tab và ký tự kết thúc dòng dạng ^Ithe và $

Với các kiểu tập tin khác
cat có thể dùng để nối các tập tin nhị phân, nhưng với một số tập có mã quy định ở đầu - cuối tập tin (header, footer sign) tập tin sinh ra sẽ bị lỗi. Một số tập tin âm thanh và phim ảnh có thể kết nối bằng cat, như MPEG hay DV

cat trong cộng đồng Unix

Trong các hệ điều hành khác
Lệnh tương tự trong VMS, CP/M, DOS, OS/2, và Microsoft Windows là type.

Trong DOS/Windows, để gộp các tập tin ta có thể dùng cú pháp "copy /b"

 copy /b file1.txt + file2.txt file3.txt

Lệnh này sao chép nội dung file1.txt và file2.txt từng bit một vào file3.txt

Tham khảo

Đọc thêm
 split (Unix): Một tiện ích Unix dùng để cắt file
 Zcat
 Paste (Unix)

Liên kết ngoài 

 UNIX Style, or cat -v Considered Harmful - A paper by Rob Pike on proper Unix command design using cat as an example.

Các trang hướng dẫn 
cat(1) trang hướng dẫn  trong bản Unix đầu tiên.

Khác 
Useless Use Of Cat Award

Tiện ích xử lý văn bản cho Unix
Tiện ích Unix chuẩn
Tiện ích Unix SUS2008