Cách so sánh tập tin trên Linux Image Cách so sánh tập tin trên Linux

Bài này sẽ viết về cách so sánh tập tin trên hệ điều hành Linux.

1. So sánh tập tin với lệnh diff

Lệnh diff dùng để so sánh tập tin và thư mục:

diff [tuỳ chọn] <filename 1> <filename 2>

Ví dụ khi sử dụng lệnh diff để so sánh file:

Sử dụng lệnh diff để so sánh 2 file

Để xem các tuỳ chọn của lệnh diff ta dùng lệnh: man diff

Một vài tuỳ chọn được dùng thường xuyên gồm:

Tuỳ chọnSử dụng
-cCung cấp 3 dòng trước và sau của sự khác nhau về nội dung.
-rSử dụng để so sánh đệ quy các thư mục con, thư mục hiện tại.
-iBỏ qua trường hợp chữ cái.
-wBỏ qua sự khác biệt về tab ( khoảng trắng ).
-qBáo những tệp khác nhau mà không cần liệt kê sự khác biệt.

2. Sử dụng lệnh diff3 và patch

Chúng ta có thể so sánh 3 tệp cùng một lúc bằng lệnh diff3. Sử dụng một tệp làm tham chiếu cho 2 tệp còn lại.

diff3 MY-FILE COMMON-FILE YOUR-LILE

Ví dụ khi sử dụng lệnh diff3 để so sánh 3 file:

Sử dụng lệnh diff3 để so sánh 3 file

Khi sửa đổi cho mã nguồn và các tệp cấu hình sử dụng các bản vá, được áp dụng với chương trình patch. Một tệp vá chứa các thay đổi cần thiết để cập nhật phiên bản cũ hơn của tệp lên tệp mới. Các tệp vá thực sự được tạo ra bằng cách chạy diff với các tùy chọn chính xác.

diff -Nur originalfile newfile > patchfile

Chỉ những bản vá ngắn gọn và hiệu quả hơn so với phân phối toàn bộ tệp. Ví dụ: nếu chỉ cần thay đổi một dòng trong tệp chứa 1000 dòng, tệp vá sẽ chỉ vá một vài dòng.

Để áp dụng một bản vá, cần thực hiện một trong hai phương pháp dưới đây:

patch -p1 <patchfile

patch originalfile patchfile

Sử dụng phương pháp đầu tiên là phổ biến hơn, vì nó thường được sử dụng để thay đổi cho toàn bộ cây thư mục, thay vì chỉ một tệp. Để hiểu các tùy chọn chúng ta sử dụng lệnh: man patch.

3. Cách sử dụng lệnh “file”

Trong hệ điều hành Linux, phần mở rộng của tệp không phân loại nó theo các hệ điều hành khác. Chúng ta không thể cho rằng một tệp có tên file.txt là tệp văn bản và không phải là chương trình thực thi. Trong hệ điều hành Linux, một tên tệp thường có ý nghĩa đối với người dùng hệ thống so với chính hệ thống. Các ứng dụng kiểm tra nội dung của tệp để xem loại đối tượng đó thay vì dựa vào tiện ích mở rộng.

Sử dụng tiện ích tận tin:

Sử dụng tiện ích tận tin

Hệ điều hành Linux rất khác so với cách hệ điều hành Windows xử lý tệp. Ví dụ trên hệ điều hành Windows tệp kết thúc bằng .exe , đại diện cho tệp nhị phân thực thi.

Bản chất thực sự của một tệp có thể được xác định bằng cách sử dụng lệnh file. Đối với các tên tệp được truyền vào lệnh này như đối số, nó sẽ kiểm tra nội dung và các đặc điểm nhất định để xác định xem các tệp có phải là văn bản thuần túy, thư viện dùng chung, chương trình thực thi, tập lệnh hoặc nội dung nào khác không.