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.
Cách sử dụng lệnh cat trong Linux
Cái tên cat xuất phát từ chức năng kết nối (concatenate) – là một lệnh cơ bản trong Linux có thể 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,…
![Hướng dẫn cách sử dụng lệnh Cat trong Linux 7 lenh cat trong linux 2.png](https://vietnix.vn/wp-content/uploads/2024/05/lenh-cat-trong-linux-2.png.webp)
Cú pháp chung 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
Bạn đọc có thể tham khảo thêm một số bài viết liên quan cùng chủ đề Linux:
Hiển thị nội dung file bằng lệnh cat
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
![Hướng dẫn cách sử dụng lệnh Cat trong Linux 11 image 746](https://vietnix.vn/wp-content/uploads/2022/10/image-746.png)
Nếu muốn đánh số dòng của nội dung trong file thì hãy truyền thêm option -n
vào lệnh:
cat -n /etc/lsb-release
Output:
1 DISTRIB_ID=Ubuntu 2 DISTRIB_RELEASE=18.04 3 DISTRIB_CODENAME=bionic 4 DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"
Điều hướng nội dung file
Thay vì hiển thị nội dung lên màn hình (stdout) thì bạn có thể điều hướng 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
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 không muốn copy nội dung mà cần nối 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
Hiển thị các ký tự TAB
Option -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 # Output 127.0.0.1^Ilocalhost 127.0.1.1^Iubuntu1804.localdomain
Có thể thấy ký tự TAB sẽ được hiển thị thành ^I
.
Hiển thị ký tự cuối dòng
Tương tự, bạn cũng có thể truyền thêm option -e
nếu muốn hiển thị các ký tự cuối dòng:
cat -e /etc/lsb-release # Output DISTRIB_ID=Ubuntu$ DISTRIB_RELEASE=18.04$ DISTRIB_CODENAME=bionic$ DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"$
Các ký tự đánh dấu kết thúc dòng sẽ hiển thị dưới dạng ký tự $.
Nối file bằng lệnh cat trong Linux
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.
cat file1.txt file2.txt
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.
cat file1.txt file2.txt > combinedfile.txt
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
Tạo file 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, Vim 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 > file1.txt
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
Lời kết
Bài viết này đã hướng dẫn cách sử dụng lệnh cat trong Linux để 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é!