Các lập trình viên, nhà phát triển web và thậm chí cả các nhà văn thường cần phải so sánh các phiên bản khác nhau của cùng một mã hoặc văn bản để theo dõi các thay đổi. Một cách hiệu quả để làm điều này là với một công cụ khác - một ứng dụng so sánh các tệp hoặc thư mục, cho thấy sự khác biệt giữa chúng và giúp bạn tạo tệp mới bằng cách hợp nhất hoặc vá các phiên bản của nó. Nói chung, bạn có thể so sánh các tệp trên Linux bằng công cụ dòng lệnh hoặc sử dụng một ứng dụng độc lập.

Khác biệt, colordiff và wdiff

Khác biệt

Tiện ích dòng lệnh được gọi là diff là một phần của gói “diffutils” có trong kho của mọi phân phối Linux chính. Đó là một công cụ đơn giản so sánh các tệp theo từng dòng và cũng có thể so sánh các tệp trong hai thư mục. Nếu các tệp được chọn giống hệt nhau, diff sẽ không in bất kỳ đầu ra nào và bạn có thể tinh chỉnh các tùy chọn của nó (ví dụ, để bỏ qua khoảng trắng hoặc chữ hoa).

Cú pháp chung là

 diff -option filename1 filename2 

Các kết quả có thể được hiển thị trong hai cột với tùy chọn -y hoặc --side-by-side . Nhận danh sách đầy đủ các tùy chọn khác bằng cách nhập:

 diff --help 

Gói "diffutils" cũng chứa diff3 - một công cụ có thể so sánh ba tệp và hợp nhất ba phiên bản của một tệp. Một hướng dẫn tuyệt vời để làm cho hầu hết các khác biệt có thể được tìm thấy trên trang web chính thức.

Colordiff

Colordiff về mặt kỹ thuật là một “trình bao bọc” hoặc một kịch bản thay đổi đầu ra của diff bằng cách tô màu nó theo sở thích của bạn trong tệp cấu hình (“/ etc / colordiffrc” hoặc “/home/user/.colordiffrc”). Gói colordiff có sẵn trong kho của hầu hết các bản phân phối.

Colordiff có các tùy chọn tương tự như diff, và bạn có thể sử dụng nó trực tiếp bằng cách gõ:

 colordiff -options filename1.txt filename2.txt 

hoặc bằng cách tạo ra sự khác biệt cho nó:

 diff -u filename1.txt filename2.txt | colordiff 

Wdiff

Một công cụ tương tự và chuyên biệt hơn một chút là wdiff có thể so sánh các tập tin từng từ (nó định nghĩa một từ như bất kỳ thứ gì được bao quanh bởi khoảng trắng). Wdiff có thể bỏ qua trường hợp ( -i ), cung cấp số liệu thống kê ( -s ) về những thay đổi trong các tệp đã cho và nhấn mạnh sự khác biệt với định dạng ( -p ). Bạn cũng có thể kết hợp colordiff và wdiff để có được một cái nhìn tổng quan về màu sắc của sự khác biệt từ giữa các tập tin:

 wdiff -n filename1.txt filename2.txt | colordiff 

Lưu ý rằng bạn phải nhập đường dẫn đầy đủ nếu các tệp không nằm trong thư mục hoạt động. Để tìm hiểu thêm về wdiff, hãy truy cập trang web chính thức.

Các chế độ khác nhau trong Vim và Emacs

Các trình soạn thảo văn bản phổ biến Vim và Emac đều có chế độ khác nhau. Để kích hoạt nó trong Vim, bạn có thể bắt đầu chương trình bằng lệnh vimdiff và thêm tối đa bốn tệp để so sánh:

 vimdiff tệp1 tệp2 [tệp3 [tệp4]] 

Vim mở mỗi tập tin trong một cửa sổ riêng biệt và làm nổi bật sự khác biệt. Bạn có thể định cấu hình cách chia nhỏ từng cửa sổ để có cái nhìn tổng quan tốt hơn.

Người dùng Emacs có thể chọn giữa một phần mở rộng khác (được gọi là "chế độ chính") hoặc Ediff, một chế độ nâng cao hơn một chút cho phép bạn thay đổi tương tác các tệp so sánh. Tương tự như Vim, Emacs có thể hiển thị các tệp trong các cửa sổ riêng biệt, cạnh nhau và làm nổi bật sự khác biệt. Bạn cũng có thể sử dụng nó để hợp nhất các tập tin, và nó cũng làm việc với các tệp nén.

Cả hai trình soạn thảo văn bản đều có cú pháp tương đối phức tạp đòi hỏi một số việc học, nhưng nó trả tiền vì chúng rất mạnh mẽ và có thể tùy biến triệt để.

Kdiff3

Kdiff3 là một giao diện đồ họa khác biệt, có nghĩa là nó dựa trên diff và cung cấp tất cả các tùy chọn của nó. Nó cho phép bạn so sánh hai tệp với một tệp cơ sở và hợp nhất, tách và nối toàn bộ các thư mục, tệp hoặc chỉ các phần văn bản được chọn. Kdiff3 tích hợp tốt với KDE (hỗ trợ menu dịch vụ Dolphin), nhưng nó sẽ hoạt động trên tất cả các bản phân phối Linux, Windows và Mac OS X. Hộp thoại “Cài đặt -> Cấu hình Kdiff3” cho phép bạn đặt tham số cho so sánh tệp trong thư mục (theo ngày, kích thước, so sánh nhị phân hoặc nội dung đầy đủ) và giữa các tệp (bỏ qua trường hợp, số và khoảng trắng). Bạn có thể chuyển đổi các dòng bọc và số dòng để có cái nhìn tổng quan tốt hơn và điều chỉnh cài đặt màu để đánh dấu sự khác biệt.

Những điều tuyệt vời về Kdiff3 là nó cho phép bạn dán văn bản từ bất kỳ tập tin trực tiếp vào cửa sổ chính, loại bỏ sự cần thiết phải tạo tập tin khi bạn chỉ muốn so sánh văn bản “on-the-fly.” Sổ tay Kdiff3 chi tiết có sẵn trực tuyến.

Khuếch tán

Thoạt nhìn nó có vẻ đơn giản, nhưng Diffuse cũng mạnh mẽ như các công cụ khác trong danh sách này. Nó có thể so sánh số lượng tệp không giới hạn ở chế độ xem song song và tóm tắt sự khác biệt. Bạn có thể chỉnh sửa tệp trực tiếp từ Diffuse và thực hiện kết hợp và đối sánh dòng. Nó cũng hỗ trợ làm nổi bật cú pháp (giới hạn) và cung cấp tích hợp với một số hệ thống kiểm soát phiên bản - bao gồm Git, Mercurial và Subversion - để giúp bạn giữ các tệp được đồng bộ hóa. Diffuse hoạt động trên Linux, Windows và Mac OS X, và bạn có thể tải xuống các gói cài đặt từ trang web của dự án.

Diffmerge

Ứng dụng này hoạt động trên Linux, Windows và OS X, tích hợp tốt với Windows Explorer và cung cấp các gói cài đặt cho một số bản phân phối. Bạn có thể chỉnh sửa các tệp trong Diffmerge, tự động hợp nhất các phiên bản tệp và xuất các khác biệt thành một tệp mới. Nó có thể so sánh tối đa ba tệp và hai thư mục và hiển thị nếu các tệp giống hệt nhau, điều này có thể hữu ích khi kiểm tra xem bản sao lưu rsync có được thực hiện đúng hay không.

Hộp thoại cài đặt cho phép bạn xác định các quy tắc tùy chỉnh để xử lý các loại tệp khác nhau. Diffmerge là miễn phí, nhưng đôi khi nó sẽ yêu cầu một khóa đăng ký trả tiền. Điều này có thể biến mất một số người dùng; may mắn thay, họ có thể chọn một công cụ khác từ danh sách này vì tất cả đều cung cấp nhiều tùy chọn giống nhau.

Meld

Meld gói các tính năng từ các công cụ khác vào một giao diện được xây dựng bằng Python. Bạn có thể tải xuống mã nguồn và phiên bản Windows và tìm gói trong kho nếu bạn là người dùng Ubuntu, Fedora hoặc SUSE. Một điều thú vị về Meld là bạn không phải cài đặt nó - chỉ cần chạy tệp thực thi và sử dụng nó như một ứng dụng di động.

Meld hỗ trợ chỉnh sửa tệp, lọc với biểu thức chính quy, so sánh và hợp nhất ba tệp và so sánh hai hoặc ba thư mục và nội dung của chúng, đồng thời cung cấp hình ảnh hữu ích về sự khác biệt bằng cách sử dụng mũi tên và mã màu. Nếu bạn sử dụng một hệ thống điều khiển phiên bản như Git, Mercurial hoặc SVN, Meld có thể quản lý các tệp của bạn, kiểm tra các thay đổi và thực hiện các cam kết và cập nhật. Meld được cập nhật thường xuyên, vì vậy chúng tôi có thể hy vọng các tính năng mới trong các phiên bản sau.

Sự lựa chọn khác

Nếu bạn không muốn cài đặt ứng dụng mới cho mục đích này và bạn không cần các tính năng so sánh tệp nâng cao, bạn có thể thử một số công cụ miễn phí trực tuyến miễn phí và chỉ yêu cầu trình duyệt web.

Bạn có sử dụng một công cụ khác không có trong danh sách này không? Hãy cho chúng tôi biết về nó trong các ý kiến.

Tín dụng hình ảnh: Nguồn hình ảnh quảng cáo xem trước video