Bạn đã bao giờ cần xem nhanh nội dung của một file văn bản hay ghép nối nhiều file lại với nhau ngay trên cửa sổ dòng lệnh của Linux chưa? Đối với nhiều người mới bắt đầu, việc thao tác với file trên terminal có thể khá bối rối và tốn thời gian nếu không nắm rõ các công cụ phù hợp. Đây chính là lúc lệnh cat tỏa sáng. Lệnh cat (viết tắt của “concatenate”) là một trong những công cụ cơ bản nhưng lại vô cùng mạnh mẽ và linh hoạt trong kho vũ khí của người dùng Linux. Nó giúp bạn dễ dàng hiển thị nội dung file, nối các file lại với nhau và thậm chí là tạo file mới một cách nhanh chóng. Bài viết này sẽ là kim chỉ nam của bạn, hướng dẫn chi tiết cách sử dụng lệnh cat từ những cú pháp đơn giản nhất đến các tham số nâng cao, kèm theo các mẹo hữu ích để tối ưu hóa công việc của bạn trên Linux.
Giới thiệu và chức năng cơ bản của lệnh cat
Lệnh cat là một tiện ích không thể thiếu trong hệ điều hành Linux và các hệ điều hành tương tự Unix là gì. Hiểu rõ về nó sẽ giúp bạn làm việc với các file văn bản hiệu quả hơn rất nhiều.
Lệnh cat là gì?
Lệnh cat là một trong những lệnh được sử dụng thường xuyên nhất trên dòng lệnh Linux. Tên của nó là viết tắt của “concatenate” (liên kết, ghép nối). Mặc dù chức năng chính ban đầu là để nối các file lại với nhau, nhưng nó lại được sử dụng phổ biến nhất để hiển thị nội dung của file ra màn hình (standard output). Với cú pháp đơn giản và hoạt động nhanh chóng, cat trở thành công cụ lý tưởng để kiểm tra nhanh các file cấu hình, file log hay bất kỳ file văn bản nào mà không cần mở trình soạn thảo văn bản.

Các chức năng cơ bản của lệnh cat
Hiển thị nội dung file trên màn hình: Đây là công dụng phổ biến nhất. Chỉ cần gõ cat theo sau là tên file, toàn bộ nội dung của file đó sẽ được in ra ngay lập tức trên cửa sổ dòng lệnh. Điều này cực kỳ tiện lợi khi bạn chỉ muốn xem nhanh mà không cần chỉnh sửa.
Ghép nhiều file thành một: Đúng như tên gọi “concatenate”, cat cho phép bạn đọc nội dung từ nhiều file và hiển thị chúng nối tiếp nhau như một luồng dữ liệu duy nhất. Bạn có thể xem trực tiếp kết quả ghép nối trên màn hình hoặc chuyển hướng đầu ra để tạo thành một file mới hoàn toàn.
Tạo file mới: Một tính năng thú vị khác của cat là khả năng tạo file mới. Bằng cách chuyển hướng đầu vào chuẩn (bàn phím), bạn có thể dùng cat để nhập trực tiếp nội dung và lưu nó vào một file mới mà không cần mở các trình editor phức tạp như Bash là gì hay Nano.
Cách sử dụng lệnh cat để hiển thị nội dung file
Hiển thị nội dung file là tác vụ cơ bản và thường xuyên nhất khi làm việc trên Linux. Lệnh cat cung cấp một cách tiếp cận nhanh gọn và hiệu quả cho công việc này.
Cú pháp cơ bản hiển thị file
Cú pháp để hiển thị nội dung của một file vô cùng đơn giản và dễ nhớ. Bạn chỉ cần gõ lệnh cat và theo sau là tên của file bạn muốn xem.
Cách sử dụng: cat ten_file
Ví dụ, nếu bạn có một file tên là ghichep.txt với nội dung “Hello AZWEB”, bạn chỉ cần chạy lệnh sau trong terminal:
cat ghichep.txt
Ngay lập tức, nội dung “Hello AZWEB” sẽ được hiển thị trên màn hình của bạn. Nếu file có nhiều dòng, tất cả các dòng sẽ được in ra theo đúng thứ tự. Đây là cách nhanh nhất để kiểm tra nội dung một file mà không cần rời khỏi cửa sổ dòng lệnh.

Hiển thị nội dung với tham số thường dùng
Để việc xem file trở nên hữu ích hơn, cat cung cấp các tham số (options) giúp bổ sung thông tin cho nội dung hiển thị. Hai trong số các tham số phổ biến nhất là -n và -b.
Tham số -n (number): Tham số này sẽ thêm số thứ tự vào đầu mỗi dòng, bao gồm cả các dòng trống. Điều này rất hữu ích khi bạn cần tham chiếu đến một dòng cụ thể trong file, ví dụ như khi thảo luận về một đoạn mã lỗi.
Ví dụ: cat -n file_log.txt (Lệnh cd trong Linux cũng là một lệnh dòng lệnh cơ bản giúp di chuyển giữa các thư mục).
Tham số -b (number-nonblank): Tương tự như -n, nhưng -b chỉ đánh số cho các dòng có nội dung, bỏ qua các dòng trống. Điều này giúp bạn tập trung vào những phần chứa dữ liệu thực sự của file.
Ví dụ: cat -b file_cauhinh.conf
Sử dụng các tham số này giúp bạn không chỉ xem mà còn phân tích nội dung file một cách có cấu trúc hơn.

Ghép nối nhiều file bằng lệnh cat
Sức mạnh thực sự của cat nằm ở khả năng “concatenate” – ghép nối. Bạn có thể dễ dàng kết hợp nội dung từ nhiều file khác nhau để xem hoặc lưu trữ.
Cú pháp ghép file trực tiếp trên màn hình
Nếu bạn muốn xem nội dung của nhiều file nối tiếp nhau, bạn chỉ cần liệt kê tất cả các tên file sau lệnh cat, cách nhau bởi dấu cách.
Cách dùng: cat file1.txt file2.txt file3.txt
Lệnh này sẽ đọc nội dung của file1.txt, sau khi hiển thị xong, nó sẽ tiếp tục hiển thị toàn bộ nội dung của file2.txt, và cứ thế tiếp tục. Kết quả là một luồng văn bản duy nhất được in ra màn hình, như thể tất cả các file chỉ là một. Đây là cách tuyệt vời để xem các file log được chia nhỏ theo ngày hoặc gộp các phần của một tài liệu.

Tạo file mới từ nhiều file đã ghép
Việc xem nội dung ghép nối trên màn hình rất tiện lợi, nhưng đôi khi bạn muốn lưu kết quả đó vào một file mới. Để làm điều này, chúng ta sử dụng toán tử chuyển hướng đầu ra >.
Ví dụ: cat part1.txt part2.txt > full_document.txt
Trong lệnh này, cat vẫn thực hiện việc đọc và ghép nối part1.txt và part2.txt. Tuy nhiên, thay vì in ra màn hình, dấu > sẽ “chuyển hướng” toàn bộ đầu ra đó và ghi vào một file mới có tên là full_document.txt. Nếu file full_document.txt chưa tồn tại, nó sẽ được tạo ra. Nếu đã tồn tại, nội dung cũ của nó sẽ bị ghi đè hoàn toàn. Đây là một kỹ thuật cực kỳ mạnh mẽ để tổng hợp dữ liệu từ nhiều nguồn khác nhau.
Tạo file mới từ lệnh cat
Không chỉ dùng để đọc và ghép file, cat còn là một công cụ nhanh chóng để tạo ra các file văn bản đơn giản trực tiếp từ bàn phím.
Cú pháp tạo file và nhập nội dung từ bàn phím
Để tạo một file mới, bạn sử dụng lệnh cat kết hợp với toán tử chuyển hướng >.
Cách dùng: cat > ten_file_moi.txt
Khi bạn thực thi lệnh này, terminal sẽ không hiển thị gì cả mà chỉ có một con trỏ đang nhấp nháy. Đây là lúc cat đang chờ bạn nhập nội dung từ đầu vào chuẩn (bàn phím). Bạn có thể gõ bất cứ thứ gì bạn muốn, bao gồm cả việc xuống dòng bằng phím Enter. Toàn bộ những gì bạn gõ sẽ được chuẩn bị để ghi vào ten_file_moi.txt.

Lưu và thoát khỏi chế độ nhập nội dung
Sau khi đã nhập xong toàn bộ nội dung mong muốn, làm thế nào để báo cho cat biết là bạn đã hoàn tất và cần lưu file?
Bạn chỉ cần sử dụng tổ hợp phím Ctrl + D (giữ phím Ctrl và nhấn phím D). Tổ hợp phím này gửi một tín hiệu “End of File” (Kết thúc file) đến cat, lệnh sẽ hiểu rằng quá trình nhập liệu đã kết thúc. Ngay lập tức, cat sẽ ghi tất cả nội dung bạn vừa nhập vào file ten_file_moi.txt và thoát ra, trả lại quyền điều khiển cho dấu nhắc lệnh của terminal. Đây là một cách cực nhanh để tạo các file ghi chú, file cấu hình đơn giản hoặc script ngắn mà không cần mở trình soạn thảo văn bản.
Các cú pháp và tham số phổ biến của lệnh cat
Để khai thác tối đa sức mạnh của cat, bạn nên làm quen với các tham số (options) phổ biến của nó. Mỗi tham số sẽ thay đổi cách cat xử lý và hiển thị dữ liệu, giúp bạn tùy biến đầu ra theo nhu_cầu_cụ_thể.

Dưới đây là tổng hợp các tham số quan trọng bạn nên biết:
- -n (number): Như đã đề cập, tham số này sẽ đánh số thứ tự cho tất cả các dòng trong output, kể cả dòng trống. Rất hữu ích khi bạn cần phân tích file theo từng dòng.
- -b (number-nonblank): Tương tự
-n, nhưng chỉ đánh số cho các dòng có chứa ký tự, bỏ qua các dòng trống. Giúp tập trung vào phần nội dung chính của file. - -s (squeeze-blank): Tham số này sẽ nén nhiều dòng trống liên tiếp thành một dòng trống duy nhất. Cực kỳ tiện lợi khi bạn muốn xem các file có nhiều khoảng trắng thừa, giúp output trở nên gọn gàng và dễ đọc hơn. Ví dụ:
cat -s story.txt. - -E (show-ends): Hiển thị ký tự
$ở cuối mỗi dòng. Điều này giúp bạn dễ dàng nhận biết các khoảng trắng thừa ở cuối dòng hoặc xem cấu trúc dòng một cách trực quan. - -T (show-tabs): Hiển thị các ký tự tab (Tab) dưới dạng
^I. Tham số này rất hữu ích cho các lập trình viên khi cần kiểm tra xem một file đang sử dụng dấu cách (space) hay tab để thụt lề, giúp đảm bảo tính nhất quán của mã nguồn.
Việc kết hợp các tham số này cho phép bạn kiểm soát hoàn toàn cách dữ liệu được trình bày. Ví dụ, cat -ns file.txt sẽ vừa đánh số dòng, vừa nén các dòng trống, mang lại một cái nhìn vừa chi tiết vừa tổng quan về file.
Ví dụ minh họa và ứng dụng thực tế
Lý thuyết sẽ trở nên dễ hiểu hơn khi đi kèm với các ví dụ thực tế. Lệnh cat được sử dụng hàng ngày trong công việc của các quản trị viên hệ thống, lập trình viên và người dùng Linux là gì.

Hiển thị file log xem nhanh lỗi: Khi một ứng dụng gặp sự cố, việc đầu tiên thường là kiểm tra file log. Sử dụng cat error.log cho phép bạn xem nhanh toàn bộ lịch sử lỗi mà không cần mở trình editor nặng nề. Để tìm kiếm một lỗi cụ thể, bạn có thể kết hợp với grep: cat application.log | grep "FATAL ERROR". Lệnh này sẽ dùng cat để đọc file log, sau đó “pipe” (dẫn) đầu ra qua lệnh grep để lọc và chỉ hiển thị những dòng chứa “FATAL ERROR”.
Ghép nối file cấu hình vào một file tổng hợp: Giả sử bạn có nhiều file cấu hình nhỏ (db.conf, network.conf, security.conf). Bạn có thể gộp chúng lại thành một file backup duy nhất bằng lệnh: cat db.conf network.conf security.conf > backup_config.conf.
Tạo file README đơn giản từ dòng lệnh: Khi tạo một dự án mới, bạn cần một file README. Thay vì mở editor, bạn có thể tạo nhanh bằng: cat > README.md, sau đó nhập nội dung và lưu lại bằng Ctrl + D.
Xem file lớn với sự hỗ trợ của less: Với các file dung lượng cực lớn (vài GB), dùng cat sẽ làm tràn màn hình terminal và tốn bộ nhớ. Giải pháp tốt hơn là dùng less, một trình xem file cho phép cuộn lên xuống. Bạn có thể kết hợp chúng: cat -n bigfile.log | less. Lệnh này sẽ dùng cat để đánh số dòng trước, sau đó chuyển kết quả cho less để bạn có thể xem một cách thuận tiện.
Mẹo và lưu ý khi sử dụng lệnh cat trên dòng lệnh Linux
Sử dụng cat hiệu quả không chỉ nằm ở việc biết cú pháp, mà còn ở việc áp dụng các mẹo và nhận thức được những cạm bẫy tiềm ẩn để tránh các lỗi không đáng có.
Mẹo tăng tốc thao tác với cat
Dùng alias để rút ngắn câu lệnh: Nếu bạn thường xuyên sử dụng một lệnh cat với các tham số nhất định, ví dụ như cat -ns, bạn có thể tạo một alias (bí danh) để tiết kiệm thời gian gõ lệnh. Mở file cấu hình shell của bạn (ví dụ .bashrc hoặc .zshrc) và thêm vào dòng: alias catn='cat -ns'. Sau khi lưu và tải lại shell, bạn chỉ cần gõ catn ten_file.txt là có thể thực thi lệnh dài kia.
Kết hợp với pipe để xử lý file có dung lượng lớn: Như đã đề cập, cat không phải là công cụ tốt nhất để xem trực tiếp các file khổng lồ. Tuy nhiên, nó lại cực kỳ mạnh mẽ khi đóng vai trò là “nguồn cung cấp dữ liệu” cho các lệnh khác thông qua pipe (|). Bạn có thể dùng cat để đọc file và chuyển đầu ra cho các lệnh như grep (tìm kiếm), head (xem vài dòng đầu), tail (xem vài dòng cuối), hoặc wc (đếm từ/dòng) để xử lý mà không làm quá tải hệ thống. Tính năng này rất quan trọng trong môi trường dòng lệnh dựa trên Bash là gì.

Những lưu ý tránh lỗi thường gặp
Tránh ghi đè file quan trọng khi dùng dấu >: Toán tử chuyển hướng > rất hữu ích nhưng cũng rất nguy hiểm. Nó sẽ ghi đè không cần hỏi. Một sơ suất nhỏ như cat source.txt > important_config.conf có thể xóa sạch file cấu hình quan trọng của bạn. Luôn kiểm tra kỹ tên file đích trước khi nhấn Enter. Nếu bạn muốn tìm hiểu sâu hơn về cách cài đặt Ubuntu và quản lý file hệ thống, hãy tham khảo bài viết này.
Hiểu rõ sự khác biệt giữa > và >>:
>(ghi đè): Tạo file mới hoặc xóa sạch nội dung file cũ và ghi nội dung mới vào.>>(nối tiếp): Nếu file đích đã tồn tại, toán tử này sẽ thêm nội dung mới vào cuối file mà không thay đổi nội dung sẵn có. Nếu file chưa tồn tại, nó sẽ tạo file mới.
Sử dụng >> khi bạn muốn bổ sung dữ liệu, ví dụ như ghi thêm log: cat new_log.txt >> master_log.txt. Nhầm lẫn giữa hai toán tử này là một trong những lỗi phổ biến gây mất dữ liệu.
Các lỗi phổ biến khi sử dụng lệnh cat và cách khắc phục
Ngay cả với một lệnh đơn giản như cat, bạn vẫn có thể gặp phải một số lỗi. Biết cách nhận diện và xử lý chúng sẽ giúp bạn làm việc suôn sẻ hơn.
Lỗi “Permission denied” khi đọc file
Nguyên nhân: Đây là lỗi phổ biến nhất. Nó xảy ra khi bạn cố gắng dùng cat để đọc một file mà bạn không có quyền đọc (read permission). Các file hệ thống hoặc file của người dùng khác thường có quyền truy cập bị hạn chế.
Cách xử lý:
- Sử dụng
sudo: Nếu bạn là quản trị viên hệ thống và cần đọc file đó, bạn có thể sử dụngsudo(Super User Do) để thực thi lệnh với quyền cao nhất:sudo cat /var/log/syslog. - Thay đổi quyền file: Nếu đó là file của bạn hoặc bạn có quyền sở hữu, bạn có thể thay đổi quyền truy cập của file bằng lệnh
chmod. Ví dụ, để cấp quyền đọc cho tất cả người dùng:chmod +r ten_file.txt. Tuy nhiên, hãy cẩn thận khi thay đổi quyền của các file hệ thống.
File không hiển thị nội dung hoặc bị lỗi mã hóa
Nguyên nhân: Lỗi này có thể xảy ra vì hai lý do chính. Thứ nhất, file có thể là file nhị phân (binary file) như một chương trình thực thi hoặc một hình ảnh, không phải file văn bản. Dùng cat với file nhị phân sẽ tạo ra một mớ ký tự hỗn loạn trên terminal. Thứ hai, file văn bản có thể được lưu ở một bảng mã (encoding) mà terminal của bạn không hỗ trợ, dẫn đến hiển thị sai ký tự (ví dụ như lỗi font chữ tiếng Việt).
Cách xử lý:
- Kiểm tra loại file: Dùng lệnh
file ten_fileđể xác định xem đó có phải là file văn bản (ASCII text, UTF-8 text) hay không. Không nên dùngcatcho file nhị phân. - Sử dụng tham số
-v: Lệnhcat -v ten_filesẽ hiển thị các ký tự không in được dưới dạng biểu diễn hữu hình, giúp bạn nhận ra vấn đề. - Chuyển đổi encoding: Nếu vấn đề là do mã hóa, bạn có thể cần dùng các công cụ chuyên dụng như
iconvđể chuyển đổi file sang một định dạng phổ biến hơn như UTF-8.
Best Practices khi dùng lệnh cat trong Linux
Để trở thành một người dùng Linux thành thạo, việc tuân thủ các phương pháp hay nhất (best practices) khi sử dụng các công cụ dòng lệnh là vô cùng quan trọng. Điều này không chỉ giúp tăng hiệu suất mà còn giảm thiểu rủi ro.

Luôn kiểm tra kỹ file trước khi ghép nối: Trước khi sử dụng cat để ghép nhiều file và ghi ra một file mới (>), hãy chắc chắn rằng bạn đã biết nội dung của các file nguồn. Việc ghép nhầm file có thể tạo ra một file đích lộn xộn, và nếu bạn ghi đè lên một file quan trọng, dữ liệu có thể mất vĩnh viễn.
Sử dụng tham số phù hợp để tăng hiệu quả đọc file: Đừng chỉ dùng cat ten_file. Hãy tận dụng các tham số như -n để đánh số dòng khi cần tham chiếu, hoặc -s để làm gọn các file có nhiều dòng trống. Việc này giúp bạn đọc và hiểu nội dung file nhanh hơn.
Hạn chế dùng cat với file cực lớn: cat sẽ đọc toàn bộ file vào bộ nhớ trước khi hiển thị. Với các file có dung lượng hàng trăm MB hay GB, điều này sẽ làm chậm hệ thống và có thể gây treo terminal. Thay vào đó, hãy ưu tiên sử dụng less để xem file (cho phép cuộn), head để xem phần đầu, hoặc tail -f để theo dõi file log theo thời gian thực (VirtualBox là gì cũng có thể liên quan khi bạn sử dụng máy ảo chạy Linux để thực hành).
Không nên dùng cat thay thế cho các công cụ xử lý file chuyên sâu: cat rất tuyệt vời cho các tác vụ đơn giản. Tuy nhiên, khi bạn cần các thao tác phức tạp như tìm kiếm và thay thế, sắp xếp, hay trích xuất cột dữ liệu, hãy sử dụng các công cụ được thiết kế cho mục đích đó như sed, awk, sort, cut. Sử dụng đúng công cụ cho đúng công việc là chìa khóa của hiệu quả.
Kết luận
Qua bài viết này, chúng ta đã cùng nhau khám phá lệnh cat, một công cụ tưởng chừng đơn giản nhưng lại ẩn chứa sức mạnh và sự linh hoạt đáng kinh ngạc. Từ việc hiển thị nhanh nội dung file, ghép nối nhiều nguồn dữ liệu, cho đến tạo file mới ngay trên dòng lệnh, cat thực sự là một trợ thủ đắc lực cho bất kỳ ai làm việc trong môi trường Linux. Việc nắm vững các cú pháp, tham số và những mẹo sử dụng không chỉ giúp bạn thao tác với file nhanh chóng, chính xác mà còn giúp tránh được những lỗi không mong muốn có thể gây mất dữ liệu.
Linux là một thế giới rộng lớn với vô vàn công cụ hữu ích, và cat chính là một trong những viên gạch nền tảng đầu tiên bạn nên xây dựng. AZWEB khuyến khích bạn hãy bắt đầu thực hành ngay hôm nay. Mở terminal lên, thử hiển thị, ghép nối và tạo file bằng cat. Càng sử dụng thường xuyên, bạn sẽ càng thấy kỹ năng làm việc trên dòng lệnh của mình được cải thiện rõ rệt. Đừng ngần ngại khám phá thêm các tham số nâng cao và cách kết hợp cat với các lệnh khác để giải quyết những bài toán phức tạp hơn. Chúc bạn thành công trên hành trình chinh phục Ubuntu hay các bản phân phối Fedora, Garuda Linux, Linux Lite hay Mx Linux.