Lệnh cmp trong Linux giúp so sánh hai file theo từng byte một và cho biết sự khác biệt giữa 2 file. Trong bài viết này, Vietnix sẽ hướng dẫn bạn cách sử dụng lệnh cmp, bao gồm cú pháp, các tùy chọn và ví dụ thực tế.
Lệnh cmp trong Linux là gì?
Lệnh cmp trong Linux được sử dụng để xác định xem 2 file có giống nhau hay không bằng cách so sánh từ byte của file đó. Nếu 2 file giống nhau sẽ không có kết quả nào được hiển thị trên terminal. Ngược lại, khi có sự khác biệt giữa 2 file, kết quả hiển thị trên terminal sẽ cho biết chi tiết về sự khác biệt đó.

Để thành thạo hơn về các tác vụ về các file, ngoài dòng lệnh cmp, bạn có thể tham khảo các câu lệnh cơ bản trong Linux phổ biến khác để biết thêm chi tiết.
Cú pháp cơ bản của lệnh cmp
Cú pháp của lệnh cmp trong Linux rất đơn giản:
cmp [OPTION]... [FILE1][FILE2]
Lưu ý
Trong cú pháp trên, OPTION được đặt trong dấu ngoặc vuông [ ] và theo sau bởi 3 dấu chấm …, cho thấy có thể sử dụng nhiều tùy chọn cùng một lúc. Hơn nữa, FILE1 và FILE2 cho biết bạn chỉ có thể chỉ định 2 file để so sánh.
5 tùy chọn sử dụng lệnh cmp
Nhập lệnh sau để được hỗ trợ thông tin về cách sử dụng các option của cmp
:
man cmp
Tuỳ chọn | Mô tả |
---|---|
-b | Chỉ in ra các byte khác nhau giữa hai file. |
-i | Bỏ qua một số byte được chỉ định trước khi bắt đầu so sánh. |
-l | Hiển thị chi tiết về các byte khác nhau của file trong quá trình so sánh. |
-n | Giới hạn số byte tối đa được so sánh. |
-v | Hiển thị thông tin phiên bản của lệnh cmp. |
Lưu ý
- Các tùy chọn trong giao diện dòng lệnh Linux (CLI) phân biệt chữ hoa chữ thường, vì vậy hãy viết đúng chữ hoa và chữ thường khi sử dụng các tùy chọn trên. Ví dụ, -b và -B là hai tùy chọn khác nhau.
- Bạn có thể tìm hiểu thêm về các tùy chọn của lệnh cmp bằng cách xem trang trợ giúp (man page) với lệnh man
7 ví dụ cụ thể về lệnh cmp trong Linux
- So sánh 2 file giống nhau trên Linux bằng lệnh cmp
- So sánh 2 file khác nhau bằng lệnh cmp trong Linux
- Hiển thị các byte khác nhau khi so sánh
- So sánh 2 file sau khi bỏ qua một số byte nhất định
- Hiển thị số byte và giá trị của các byte khác nhau
- Giới hạn số byte được so sánh giữa 2 file
- Xem thông tin phiên bản của lệnh cmp
Ví dụ 1: So sánh 2 file giống nhau trên Linux bằng lệnh cmp
Để so sánh 2 file giống hệt nhau (ví dụ: 1.txt và 2.txt) bằng lệnh cmp trong Linux, bạn thực hiện như sau:
Bước 1: Mở Terminal Ubuntu.
Bước 2: Nhập lệnh sau và nhấn Enter:
cmp newtext.txt oldtext.txt
Bước 3: Để kiểm tra nội dung của các file theo cách thủ công, gõ các lệnh cat với cú pháp sau và nhấn Enter sau mỗi lệnh:
cat newtext.txt
cat oldtext.txt
Kết quả: Như bạn thấy trong hình, không có kết quả vì 2 file này hoàn toàn giống nhau.

Hình bên dưới cho thấy nội dung của cả 2 file giống nhau.

Ví dụ 2: So sánh 2 file khác nhau
Để so sánh 2 file khác nhau numbers.txt và newtext.txt bằng lệnh cmp, bạn thực hiện như sau:
Bước 1: Mở Terminal Ubuntu.
Bước 2: Nhập lệnh sau và nhấn Enter:
cmp numbers.txt newtext.txt
Bước 3: Để kiểm tra nội dung của các file theo cách thủ công, gõ các lệnh sau và nhấn Enter sau mỗi lệnh:
cat numbers.txt
cat newtext.txt
Kết quả: Nếu file khác nhau, terminal sẽ hiển thị thông báo cho biết byte và dòng khác nhau đầu tiên.

Dưới đây là hình minh họa cho thấy nội dung của 2 file khác nhau.

Ví dụ 3: Hiển thị các byte khác nhau khi so sánh
Để xem các byte khác nhau khi so sánh 2 file 1.txt và 2.txt, bạn có thể sử dụng lệnh cmp với tuỳ chọn -b
. Cách thực hiện như sau:
Bước 1: Mở Terminal Ubuntu.
Bước 2: Nhập lệnh sau và nhấn Enter:
cmp -b newtext.txt numbers.txt
Kết quả: Terminal sẽ hiển thị danh sách các byte khác nhau giữa 2 file.

Ví dụ 4: So sánh 2 file sau khi bỏ qua một số byte nhất định
Để so sánh hai file có tên là 1.txt và 2.txt sau khi bỏ qua một số byte nhất định, bạn có thể sử dụng lệnh cmp với tùy chọn -i
trong Linux. Cách thực hiện như sau:
Bước 1: Mở Terminal Ubuntu trên máy tính của bạn.
Bước 2: Nhập lệnh sau và nhấn Enter:
cmp -i 5 1.txt 2.txt
Kết quả: Terminal sẽ hiển thị kết quả so sánh 2 file sau khi đã bỏ qua 5 byte đầu tiên của mỗi file.

Ví dụ 5: Hiển thị số byte và giá trị của các byte khác nhau
Để xem số byte và giá trị của các byte khác nhau giữa 2 file 1.txt và 2.txt, bạn có thể sử dụng lệnh cmp với tuỳ chọn -l
như sau:
Bước 1: Mở Terminal Ubuntu.
Bước 2: Nhập lệnh sau và nhấn Enter:
cmp -l drink.txt fruit.txt
Kết quả: Terminal sẽ hiển thị kết quả bao gồm số byte và giá trị của các byte khác nhau giữa 2 file.

Ví dụ 6: Giới hạn số byte được so sánh giữa 2 file
Để giới hạn số byte được so sánh giữa 2 file 1.txt và 2.txt, bạn có thể sử dụng tùy chọn -n
cùng với lệnh cmp. Tùy chọn này sẽ chỉ so sánh n byte đầu tiên của các file. Các bước thực hiện như sau:
Bước 1: Mở Terminal Ubuntu.
Bước 2: Ví dụ giới hạn so sánh 3 byte đầu tiên, bạn nhập lệnh sau và nhấn Enter:
cmp -n 4 drink.txt fruit.txt
Kết quả: Lệnh cmp sẽ chỉ so sánh 4 byte đầu tiên của 2 file. Nếu 4 byte đầu tiên giống nhau sẽ không có thông báo nào được hiển thị.

Ví dụ 7: Xem thông tin phiên bản của lệnh cmp
Để xem thông tin phiên bản của lệnh cmp, bạn có thể sử dụng tùy chọn -v
theo các bước sau:
Bước 1: Mở Terminal Ubuntu.
Bước 2: Nhập lệnh sau và nhấn Enter:
cmp -v
Kết quả: Thông tin phiên bản của lệnh cmp sẽ được hiển thị trên terminal.

Vietnix – Nhà cung cấp dịch vụ VPS hiệu năng cao và tốc độ ổn định
Vietnix là đơn vị uy tín trong lĩnh vực cung cấp dịch vụ VPS Việt Nam, được hàng nghìn khách hàng tin tưởng với hơn 12 năm kinh nghiệm trên thị trường. Với cam kết về chất lượng, Vietnix đã phục vụ hơn 80.000 khách hàng và nhận được nhiều đánh giá tích cực nhờ dịch vụ ổn định, tốc độ truy cập nhanh và bảo mật tối đa. Hạ tầng mạnh mẽ cùng đội ngũ kỹ thuật chuyên môn cao giúp đảm bảo VPS hoạt động mượt mà, hỗ trợ người dùng tối đa.
VPS Linux tại Vietnix là giải pháp tối ưu với hiệu suất ổn định, bảo mật cao và chi phí hợp lý. Được xây dựng trên nền tảng Linux, hệ thống giúp tối ưu tài nguyên, giảm downtime và hỗ trợ thay đổi cấu hình linh hoạt mà không ảnh hưởng đến hoạt động chung. Với cơ chế phân quyền nghiêm ngặt, chỉ quản trị viên hoặc người có quyền root mới có thể quản lý hệ thống, đảm bảo an toàn dữ liệu tối đa. Ngoài ra, Linux là mã nguồn mở, giúp tiết kiệm chi phí bản quyền mà vẫn đảm bảo tính linh hoạt.
Thông tin liên hệ:
- Hotline: 18001093
- Email: sales@vietnix.com.vn
- Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
- Website: https://vietnix.vn/
Câu hỏi thường gặp
Có thể sử dụng lệnh cmp để so sánh các tệp lớn không?
Có thể. Khi so sánh bạn cần chú ý đến một số điểm:
1. Thời gian thực hiện
2. Tài nguyên hệ thống
3. Hiệu suất
Có thể sử dụng lệnh cmp
để so sánh nội dung của hai tệp theo từng dòng không?
Có thể. Nếu có bất kỳ sự khác biệt nào trong quá trình so sánh, dòng lệnh dừng lại tác vụ và báo cáo vị trí của sự khác biệt đầu tiên.
Bài viết trên của Vietnix đã giới thiệu về lệnh cmp trong Linux và các ứng dụng thực tế trong việc so sánh file. Hy vọng những thông tin hữu ích này sẽ giúp bạn có thể sử dụng lệnh cmp hiệu quả để kiểm tra sự giống nhau hoặc khác nhau giữa các file trên hệ thống của mình.