NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
06/09/2024
Lượt xem

Sử dụng lệnh Cat trong Linux để xem và hiển thị toàn bộ nội dung file qua 12 ví dụ chi tiết

06/09/2024
13 phút đọc
Lượt xem

Đánh giá

5/5 - (88 bình chọn)

Lệnh cat trong Linux là một trong những lệnh phổ biến và cơ bản nhất, dùng để đọc, nối và ghi nội dung file. Bài viết này sẽ hướng dẫn chi tiết cách sử dụng lệnh cat hiệu quả nhất trong nhiều trường hợp.

Lệnh cat trong Linux là gì?

Lệnh cat trong Linux (viết tắt là concatenate) là một công cụ xử lý và hiển thị nội dung file trong hệ điều hành LinuxUnix. Dòng lệnh được sử dụng trong việc ghi nội dung file sang các định dạng chuẩn, hiển thị nội dung file text, nối nội dung các file với nhau.

Lệnh cat trong Linux
Lệnh cat trong Linux

Cú pháp cơ bản của lệnh cat

Cú pháp cơ bản của lệnh cat có dạng như sau:

cat [OPTIONS] [FILE_NAMES]

Trong đó:

  • OPTIONS: Bạn có thể dùng lệnh cat --help để xem các option có thể sử dụng với lệnh.
  • FILE_NAMES: Tên các file cần áp dụng lệnh

Mẹo: Lệnh cat không phải là lựa chọn tốt nhất để xem các file có dung lượng lớn vì tính năng tải toàn bộ nội dung lên màn hình. Bạn có thể sử dụng lệnh less hoặc lệnh more để thay thế.

Bên cạnh đó, bạn có thể tham khảo các câu lệnh trong Linux cơ bản để hiểu chi tiết cách hoạt động của hệ điều hành.

Ví dụ 1: Hiển thị nội dung file bằng lệnh cat trong Linux

Chức năng cơ bản nhất của lệnh cat là đọc nội dung file. Giả sử bạn cần hiển thị nội dung của file /etc/issue lên terminal:

cat /etc/issue
Đánh số dòng của nội dung trong file thì hãy truyền thêm option -n vào lệnh
Đánh số dòng của nội dung trong file thì hãy truyền thêm option -n vào lệnh

Nếu như bạn muốn đánh số dòng của nội dung trong file thì hãy gán thêm tùy chọn -n vào lệnh:

cat -n /etc/lsb-release

Output:

Đánh số dòng của nội dung trong file
Đánh số dòng của nội dung trong file

Trường hợp bạn muốn xem nội dung 1 file có tên là jayesh.txt:

cat ~/Desktop/text.c
Xem nội dung 1 file có tên là text.c
Xem nội dung 1 file có tên là text.c

Lúc này, lệnh ls sẽ hiển thị tất cả các tệp và thư mục ở vị trí hiện tại.

Ví dụ 2: Điều hướng nội dung file sang một file mới

Thay vì hiển thị nội dung đầu ra lên màn hình (stdout) thì bạn có thể điều hướng output sang một file khác. Giả sử bạn cần copy nội dung của file1.txt sang file2.txt thì có thể dùng toán tử > như sau:

cat file1.txt > file2.txt
Điều hướng nội dung qua file mới
Điều hướng nội dung qua file mới

Nếu file2.txt không tồn tại thì lệnh cat sẽ tự tạo một file, ngược lại thì nếu file đã có sẵn thì nội dung sẽ bị ghi đè.

Mặt khác, nếu bạn không muốn copy nội dung mà cần nối tiếp nội dung của file1.txt vào file2.txt thì hãy sử dụng toán tử >> ở dưới đây:

cat file1.txt >> file2.txt

Ví dụ 3: Hiển thị các ký tự TAB

Tùy chọn -T cho phép bạn phân biệt được tab và space từ kết quả hiển thị trên màn hình:

cat -T /etc/hosts
Hiển thị các ký tự TAB
Hiển thị các ký tự TAB

Có thể thấy ký tự TAB sẽ được hiển thị thành ^I.

Ví dụ 4: Hiển thị ký tự cuối dòng

Tương tự, bạn cũng có thể truyền thêm tùy chọn -e nếu muốn hiển thị các ký tự cuối dòng:

cat -e /etc/lsb-release
Hiển thị ký tự cuối dòng
Hiển thị ký tự cuối dòng

Các ký tự đánh dấu kết thúc dòng sẽ hiển thị dưới dạng ký tự $.

Ví dụ 5: Đọc nối tiếp nội dung file bằng lệnh cat

Khi truyền nhiều hơn hai tên file vào lệnh cat thì nội dung của các file sẽ được nối với nhau, theo thứ tự từ trái sang phải.

Ví dụ, lệnh dưới đây có nhiệm vụ đọc nội dung của file1.txtfile2.txt, sau đó hiển thị kết quả lên terminal:

cat file1.txt file2.txt
Đọc nối tiếp nội dung file bằng lệnh cat
Đọc nối tiếp nội dung file bằng lệnh cat

Bên cạnh đó bạn cũng có thể nối nội dung của các file text rồi ghi vào một file.

Ví dụ khác, lệnh dưới đây dùng để nối tiếp nội dung file1.txtfile2.txt rồi ghi vào một file mới có tên combinedfile.txt bằng toán tử >:

cat file1.txt file2.txt > file3.txt
Gộp nội dung nhiều file thành file mới
Gộp nội dung nhiều file thành file mới

Nếu file combinedfile.txt chưa tồn tại thì lệnh sẽ tự tạo một file mới, còn không nội dung sẽ bị ghi đè.

Để nối nội dung của file1.txt, file2.txt rồi chèn kết quả vào file3.txt thì hãy dùng toán tử >>:

cat file1.txt file2.txt >> file3.txt
Nối tiếp nội dung file mới
Nối tiếp nội dung file mới

Ví dụ 6: Tạo một file mới bằng lệnh cat

Việc sử dụng lệnh cat trong Linux để tạo file thường sẽ đơn giản hơn so với việc dùng các công cụ text editor như nano (lệnh nano), Vim trong Linux hay Sublime Text.

Để tạo một file mới, hãy dùng lệnh cat và toán tử > cùng với tên của file muốn tạo. Sau đó nhấn Enter, nhập nội dung rồi dùng tổ hợp phím Ctrl+D để lưu lại file.

Giả sử bạn muốn tạo một file mới có tên file1.txt:

cat > file4.txt
Tạo file mới bằng lệnh cat
Tạo file mới bằng lệnh cat

Nếu file1.txt đã có thì nội dung sẽ bị ghi đè. Tương tự các phần trên, bạn cũng có thể dùng lệnh >> nếu muốn nối nội dung vào một file đã có sẵn:

cat >> file1.txt

Ví dụ 7: Loại bỏ các dòng trống lặp đi lặp lại ở vị trí đầu ra (output)

Lệnh cat rất hữu ích trong việc xử lý các file chứa các dòng trống lặp đi lặp lại tại vị trí đầu ra. Để khắc phục, bạn thực hiện cú pháp sau: 

cat -s file_name

Khi đó đầu ra của file sẽ xuất hiện dòng chữ: 

Loại bỏ các dòng trống lặp đi lặp lại ở vị trí đầu ra
Loại bỏ các dòng trống lặp đi lặp lại ở vị trí đầu ra

Ví dụ 8: Kết hợp lệnh tac hiển thị nội dung theo thứ tự ngược  

Lệnh tac (dòng lệnh ngược của cat) được sử dụng nhằm hiển thị nội dung file theo thứ tự ngược lại. Nhập cú pháp đơn giản dưới đây để thực hiện lệnh: 

tac file_name

Ví dụ: 

Để file 2 cần hiển thị nội dung theo thứ tự ngược, bạn sẽ cần thực hiện lệnh tac theo cú pháp. Lúc này, file sẽ hiển thị ngược dòng cuối cùng trước tiên, dòng thứ hai và dòng thứ nhất. 

tac file3.txt
Kết hợp lệnh tac hiển thị nội dung theo thứ tự ngược  
Kết hợp lệnh tac hiển thị nội dung theo thứ tự ngược  

Ví dụ 9: Sử dụng lệnh cat mở file dạng đứt nét

Để mở một file có dấu gạch ngang xuất hiện đầu tiên bằng lệnh cat trong Linux, bạn có thể thực hiện lệnh theo cú pháp: 

cat -- "-dashfile"

Ví dụ: Để mở file jayesh2 xuất hiện đầu tiên là dấu – – bạn thực hiện lệnh: 

cat -- "--file1.txt"
Sử dụng lệnh cat mở file dạng đứt nét
Sử dụng lệnh cat mở file dạng đứt nét

Ví dụ 10: Sử dụng lệnh cat thao tác với file có nội dung rộng

Với file có quá nhiều nội dung, bạn có thể thực hiện lệnh theo cú pháp sau: 

cat "filename" | more

Sau khi thực hiện lệnh, màn hình sẽ xuất hiện dòng chữ: 

Will show that much content, which could fit in terminal and will ask to show more.

Ví dụ 11: Hiển thị tất cả nội dung file bằng lệnh cat

Để hiển thị tất cả nội dung file trong thư mục, bạn hãy sử dụng ký tự  (‘*.txt’) theo cú pháp dòng lệnh sau: 

cat *.txt
Hiển thị tất cả nội dung file bằng lệnh cat
Hiển thị tất cả nội dung file bằng lệnh cat

Lúc này màn hình sẽ hiển thị tất cả nội dung file trong thư mục

Ví dụ 12: Kết hợp hiệu ứng hiển thị nội dung file 

Tùy chọn -A cho phép bạn kết hợp các hiệu ứng của các tùy chọn ‘-v', '-E' và ‘-T khi thực hiện lệnh: 

cat -A  "filename"
Kết hợp hiệu ứng hiển thị nội dung file
Kết hợp hiệu ứng hiển thị nội dung file 

Thao tác lệnh sẽ hiển thị nội dung của ‘Filename’ với các ký tự không in được hiển thị, phần cuối dòng được đánh dấu và các tab được hiển thị dưới dạng ‘^I’

Câu hỏi thường gặp

Đâu là sự khác biệt giữa lệnh cat và lệnh less trong Linux?

Lệnh cat: Thực hiện xem nhanh toàn bộ nội dung của một file nhỏ, hoặc muốn nối nhiều tệp tin lại với nhau.
Lệnh less: Thực hiện xem nội dung của một tệp tin lớn, tìm kiếm một thông tin cụ thể trong tệp tin, hoặc điều hướng trong file một cách linh hoạt.

Ngoài cat, bạn có thể sử dụng lệnh nào để hiển thị nội dung của một file lớn mà không bị tràn màn hình?

1. Lệnh less: less ten_file.txt
2. Lệnh more: more ten_file.txt
3. Kết hợp với lệnh head: cat ten_file.txt | head -n 20
4. Kết hợp với lệnh tail: cat ten_file.txt | tail -n 20

Lời kết

Bài viết này đã hướng dẫn cách sử dụng lệnh cat trong Linux qua 12 ví dụ để hiển thị, nối file và tạo các file rất dễ dàng. Nếu có bất kỳ thắc mắc nào thì hãy để lại ở phần comment bên dưới để được Vietnix hỗ trợ nhanh nhất nhé!

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Banner group
Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

MAXSPEED HOSTING

TĂNG TỐC WEBSITE TOÀN DIỆN

CÔNG NGHỆ ĐỘC QUYỀN

PHẦN CỨNG MẠNH MẼ

HỖ TRỢ 24/7

ĐĂNG KÝ NGAY
Pattern

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

Icon
ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1
Icon
XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG