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ử
[sửa | sửa mã nguồn]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
[sửa | sửa mã nguồn]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
[sửa | sửa mã nguồ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
[sửa | sửa mã nguồn]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
[sửa | sửa mã nguồn]Trong các hệ điều hành khác
[sửa | sửa mã nguồn]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
[sửa | sửa mã nguồn]Đọc thêm
[sửa | sửa mã nguồn]- split (Unix): Một tiện ích Unix dùng để cắt file
- Zcat
- Paste (Unix)
Liên kết ngoài
[sửa | sửa mã nguồn]- The Single UNIX® Specification, Issue 6 from The Open Group : concatenate and print files – Commands & Utilities Reference,
- 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
[sửa | sửa mã nguồn]- cat(1) trang hướng dẫn trong bản Unix đầu tiên.
- GNU Coreutils reference : concatenate and write files –
- Bản mẫu:Man/OpenBSD : concatenate and print files –
- FreeBSD General Commands Manual –
- : catenate files – Plan 9 from Bell Labs manual