Cách sử dụng diff để so sánh các tệp văn bản trong Linux Terminal

diff là một tiện ích Linux dòng lệnh tiêu chuẩn cho phép bạn so sánh sự khác biệt giữa hai tệp. Đây là cách bạn có thể sử dụng nó để có lợi cho mình.


Bạn đã bao giờ có hai tệp giống nhau và tự hỏi phần nào khác nhau? Bạn đang viết mã và cố gắng tìm ra cách kết hợp những thay đổi mà bạn hoặc một số lập trình viên khác đã thực hiện? Có một tiện ích Linux tiêu chuẩn được gọi là “diff” sẽ hữu ích.


Khác biệt là gì?

diff là một tiện ích cho thấy sự khác biệt giữa hai tệp văn bản, đó là nơi bắt nguồn của tên. Nó là một phần của tiêu chuẩn POSIX, có nghĩa là nó có mặt trên gần như tất cả các hệ thống giống Unix, bao gồm Linux cũng như macOS và các BSD khác.

Nếu bạn đang sử dụng một bản phân phối Linux lớn, rất có thể bạn sẽ có phiên bản GNU. Nếu bạn đang sử dụng một bản phân phối Linux tối thiểu, bạn có thể có nó như một phần của thư viện BusyBox hoặc Toybox hoặc phiên bản BSD nếu bạn đang sử dụng hệ thống BSD. Bạn có thể xem bạn có phiên bản nào bằng cách kiểm tra trang hướng dẫn sử dụng:

man diff

So sánh hai tệp trên Linux với diff

Đầu ra từ lệnh diff

Để so sánh hai tệp văn bản, chỉ cần chuyển đường dẫn của chúng dưới dạng đối số cho khác biệt:

diff file1 file2

diff sẽ hiển thị các dòng khác nhau giữa hai dòng trong tệp. Các dòng trong tệp đầu tiên được mở đầu bằng dấu “<“và các dòng ở dòng thứ hai được đặt trước bằng”>“. Kết quả hiển thị các dòng đã thay đổi, nối thêm hoặc xóa, bao gồm cả số dòng bị ảnh hưởng tổng thể.

Nếu bạn thay đổi dòng đầu tiên, diff sẽ xuất ra “1c1“, có nghĩa là” bắt đầu ở dòng 1, thay đổi dòng 1. “Trong khác biệt,”một“viết tắt của”nối thêm“,”c” vì “biến đổi” và “d” vì “xóa bỏ. “

Các tính năng và tùy chọn khác biệt khác

Để xem các tệp song song, hãy sử dụng -y quyền mua:

diff -y file1 file2
đầu ra lệnh diff -y

Các -u tùy chọn tạo ra một triển vọng “hợp nhất” với một tập lệnh chỉnh sửa cho trình chỉnh sửa ed để các thay đổi có thể được thực hiện tự động.

đầu ra diff -u

Trước khi các hệ thống kiểm soát phiên bản phân tán như Git được sử dụng rộng rãi, các dự án mã nguồn mở sẽ thu thập các bản vá ở định dạng này qua email và sau đó áp dụng chúng cho cơ sở mã bằng chương trình vá lỗi.

Bây giờ bạn có thể so sánh các tệp trên Linux với diff

Tiện ích khác biệt có vẻ khó hiểu, nhưng sẽ có lợi khi thấy sự khác biệt giữa hai tệp, cho dù bạn chỉ đơn giản là so sánh các tệp hoặc gửi các bản vá cho một nhà phát triển nguồn mở.

Nếu bạn không phải là người yêu thích thiết bị đầu cuối Linux, bạn thậm chí không cần phải sử dụng dòng lệnh để so sánh các tệp hoặc thậm chí sử dụng máy cục bộ của mình. Có những công cụ trực tuyến cho phép bạn so sánh các tệp trên web.

Previous Post
Next Post

post written by: