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 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
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:
man cmp.
- 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 1.txt 2.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 1.txt
cat 2.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 1.txt và 2.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 1.txt 2.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 1.txt
cat 2.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 1.txt 2.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 1.txt 2.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 3 1.txt 2.txt
Kết quả: Lệnh cmp sẽ chỉ so sánh 3 byte đầu tiên của 2 file. Nếu 3 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.
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.
Lời kết
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.