Tôi đang tìm kiếm thứ gì đó sẽ so sánh các thư mục và tệp như Beyond So sánh với windows.
Nó chủ yếu để sử dụng kiểm soát nguồn, nhưng tôi cũng cần sử dụng nó để triển khai.
Tôi đang tìm kiếm thứ gì đó sẽ so sánh các thư mục và tệp như Beyond So sánh với windows.
Nó chủ yếu để sử dụng kiểm soát nguồn, nhưng tôi cũng cần sử dụng nó để triển khai.
Câu trả lời:
Meld là một công cụ có thể so sánh và hợp nhất các tập tin và thư mục. Nó là một GUI tương tự như các công cụ dòng lệnh diff
và tiêu chuẩn patch
. (Xem bản vá man diff và man để biết thêm chi tiết về những thứ đó)
Ngoài ra, rất nhiều hệ thống kiểm soát nguồn (như bzr
hoặc git
) có khả năng tạo khác biệt giữa các phiên bản.
beyond compare
bên dưới. vượt trội so với meld
Diff là bạn của bạn.
diff -ur path1 path2
Điều này sẽ so sánh tất cả các tệp phổ biến giữa path1 và path2.
Nếu bạn thay đổi -ur
thành -urN
thì nó cũng sẽ hiển thị nội dung của các tệp chỉ có trong một trong các đường dẫn.
colordiff
và sử dụngcolordiff -ur path1 path2
'Ngoài so sánh' cũng có sẵn cho Linux.
Kiểm tra url tải xuống của họ: http://www.scootersoftware.com/doad.php
Sử dụng diff
lệnh:
diff -u file1 file2
diff -u
chọn một định dạng với một vài dòng ngữ cảnh. Một đồng bằng diff file1 file2
chỉ liệt kê các dòng khác nhau. Có nhiều tùy chọn khác để kiểm soát định dạng đầu ra, bỏ qua các khác biệt chỉ có khoảng trắng, v.v.
Nếu bạn muốn ghi đầu ra vào một tệp, hãy chuyển hướng nó:
diff -u file1 file2 >file1-file2.diff
Giao diện có thể không thực sự gợi cảm, nhưng nó cực kỳ mạnh mẽ!
Và nếu bạn đã quen với * Commander khác (như Norton, hoặc những thứ tương tự), bạn sẽ không bị lạc.
Lấy cảm hứng từ mục blog này .
Liệt kê các tệp khác nhau:
diff -qr folder1 folder2
Liệt kê nội dung cũng:
diff -Naur folder1 folder2
Nếu hai thư mục không nằm trên cùng một máy, rsync
có thể là giải pháp dễ nhất. Thường rsync
được sử dụng để đồng bộ hóa các thư mục, nhưng bạn có thể chạy nó ở chế độ dài và khô, vì vậy nó sẽ chỉ liệt kê các tệp mà nó sẽ phải thay đổi.
rsync -rvnc --delete folder1 server:/path/to/folder2
Bạn có thể tham gia c
nếu bạn muốn so sánh các tệp dựa trên dấu thời gian và kích thước tệp để tăng tốc mọi thứ:
rsync -rvn --delete folder1 server:/path/to/folder2
Krusader là một công cụ miễn phí (có sẵn trong Trung tâm phần mềm) hiển thị nội dung thư mục so sánh và bạn có thể đồng bộ hóa với rất nhiều tùy chọn khác nhau. Bạn có thể lọc trong khi đồng bộ hóa và so sánh.
Để so sánh nội dung tệp, bạn chỉ cần đánh dấu hai tệp chọn "tệp"> "so sánh nội dung" và chúng được so sánh trên cơ sở từng chữ cái. công cụ so sánh mặc định được sử dụng bởi krusader là công cụ KDE mặc định " Kompare ". Bạn có thể đặt krusader để sử dụng bất kỳ công cụ so sánh nào khác - ví dụ như một trong những công cụ trên.
Đây là giải pháp đầy đủ nhất tôi từng tìm thấy và nó rất thuận tiện. Và nó hỗ trợ tất cả các keybindung chức năng được sử dụng bởi chỉ huy nửa đêm (cú pháp chỉ huy norton).
Tôi đã học về hashdeep hai tuần trước. Và nó có một số lợi thế mạnh:
meld
, nó hoạt động tốt cho các thư mục rất lớn. Khi meld
trở nên cực kỳ chậm và UI không phản hồi (bị chặn), hashdeep chỉ hoạt động ở tốc độ không đổirsync
, hashdeep phát hiện các tệp đã di chuyển - các tệp có cùng nội dung, chỉ trong một thư mục khác.Đầu ra dài dòng giống như:
...
foo/bar.txt: Known file not used
x/foo/M0824_2L.JPG: Moved from y/P1010998.JPG
hashdeep: Audit failed
Input files examined: 0
Known files expecting: 0
Files matched: 6233
Files partially matched: 0
Files moved: 3695
New files found: 19257
Known files not found: 4713
Một cách tốt để thực hiện so sánh này là sử dụng " find " với " md5sum ", sau đó là " diff ".
Thí dụ:
Sử dụng find để liệt kê tất cả các tệp trong thư mục, sau đó tính toán băm md5 cho mỗi tệp và chuyển nó thành một tệp:
$find /dir1/ -type f -exec md5sum {} \; > dir1.txt
Làm thủ tục tương tự với thư mục khác:
$find /dir2/ -type f -exec md5sum {} \; > dir2.txt
Sau đó so sánh kết quả hai tệp với "diff":
$diff dir1.txt dir2.txt
Chiến lược này rất hữu ích khi hai thư mục được so sánh không nằm trong cùng một máy và bạn cần đảm bảo rằng các tệp bằng nhau trong cả hai thư mục.
Một cách khác để thực hiện công việc là sử dụng git
git diff --no-index dir1/ dir2/
Trân trọng!
Hãy thử FreeFileSync . Nó có một giao diện tốt, tốc độ so sánh chấp nhận được, lọc tốt kết quả so sánh, các cách khác nhau của quá trình đồng bộ hóa. Nó đi kèm với một công cụ giám sát thư mục (RealTimeSync) có thể khởi chạy FreeFileSync (thực tế là bất kỳ lệnh hoặc tập lệnh nào) khi thư mục cụ thể (hoặc thư mục) hoặc các tệp trong đó bị thay đổi. Thực sự đáng thử.
Thông tin thêm về nó ở đây hoặc ở đây , nơi bạn có một PPA , quá
Từ trang của họ, các tính năng chính:
So sánh các tệp (bytewise hoặc theo ngày) và đồng bộ hóa chúng.
Không có giới hạn: Số lượng tệp tùy ý có thể được đồng bộ hóa.
Hỗ trợ Unicode.
Hỗ trợ mạng.
Hỗ trợ tích hợp cho tên tệp rất dài (hơn MAX_PATH = 260 ký tự).
Cơ sở dữ liệu đồng bộ hóa để tuyên truyền các tệp bị xóa và phát hiện xung đột
Hỗ trợ nhiều cặp thư mục có cấu hình riêng biệt
Hỗ trợ đầy đủ cho Windows / Linux Symbolic Links và Windows Junction Points.
UI gọn gàng và dễ truy cập: Tối ưu hóa cao cho tốc độ và bộ dữ liệu khổng lồ.
Các thuật toán được mã hóa hoàn toàn trong C ++.
Tất cả các chỉ số tiến độ được tối ưu hóa cho hiệu suất tối đa!
Tạo Batch Jobs để tự động đồng bộ hóa có hoặc không có GUI.
Tập trung vào khả năng sử dụng:
Chỉ có chức năng cần thiết trên UI: không có menu quá tải hoặc rừng biểu tượng.
Chọn tất cả các thư mục thông qua kéo và thả.
Cấu hình và cài đặt màn hình được sử dụng lần cuối được lưu tự động.
Duy trì và tải các cấu hình khác nhau bằng cách kéo và thả, nút tải hoặc dòng lệnh.
Bấm đúp để bắt đầu ứng dụng bên ngoài (ví dụ: hiển thị tệp trong Windows Explorer)
Sao chép và dán tất cả dữ liệu lưới dưới dạng văn bản
Xóa các tập tin thừa / tạm thời trực tiếp trên lưới chính.
Nhấp chuột phải vào menu ngữ cảnh.
Thông tin toàn diện về tình trạng và báo cáo lỗi
Sắp xếp danh sách tập tin theo tên, kích thước hoặc ngày.
Hỗ trợ cho các tập tin lớn hơn 4 GB.
Tùy chọn để di chuyển tệp vào Thùng rác thay vì xóa / ghi đè chúng.
Bỏ qua các thư mục "\ RECYCLER" và "\ Thông tin khối lượng hệ thống" với Bộ lọc mặc định. (Chỉ dành cho Windows)
Phiên bản địa phương có sẵn cho nhiều ngôn ngữ.
Xóa trước khi sao chép: Tránh tình trạng thiếu không gian đĩa cho các công việc đồng bộ hóa lớn.
Chức năng lọc để bao gồm / loại trừ các tệp khỏi đồng bộ hóa (mà không yêu cầu so sánh lại!).
Bao gồm / loại trừ các tệp cụ thể khỏi đồng bộ hóa tạm thời.
Tự động xử lý thay đổi thời gian tiết kiệm ánh sáng ban ngày trên âm lượng FAT / FAT32.
Phiên bản di động có sẵn (có thể lựa chọn thông qua trình cài đặt).
Phiên bản 64-bit gốc.
Tự động kiểm tra các bản cập nhật từ trong FreeFileSync.
Sao chép các tệp bị khóa bằng Windows Volume Shadow Copy Service. (Chỉ dành cho Windows)
Tạo bản sao lưu thường xuyên với macro% time%,% date% trong tên thư mục
Sao chép thời gian tạo / truy cập / sửa đổi tệp và thư mục khi đồng bộ hóa
Chiến lược khóa nâng cao để cho phép nhiều quy trình đồng bộ hóa (ví dụ: nhiều người viết, cùng chia sẻ mạng)
Tôi thêm nó có thể quản lý các tệp đã xóa, di chuyển chúng vào Thùng rác hoặc thư mục được chỉ định bởi người dùng. Để chỉ ra nhược điểm: tài liệu chương trình tập trung khá nhiều vào Windows, ít hơn về Linux. Nhưng nó làm công việc của nó độc đáo.
Bạn có thể sử dụng khuếch tán:
sudo apt-get install diffuse
diffuse file1 file2
Bạn có thể thử meld .
Đó là kho lưu trữ và cung cấp GUI để so sánh tệp hoặc thư mục.
IMHO FreeFileSync rất tốt và hữu ích hơn Meld. Nó nhanh và ổn định, có thể thực hiện đồng bộ hóa chi phí và cũng có thể xuất kết quả so sánh thành tệp csv.
File_1.txt
Line1
Line2
File_2.txt
Line1
Line 2
Bạn có thể sử dụng lệnh cmp
:
cmp -b "File_1.txt" "File_2.txt"
đầu ra sẽ là
a b differ: byte 11, line 2 is 62 2 40
bạn có thể sử dụng lệnh diff :
diff -r --brief dir1 dir2
man diff
-r, --recursive
recursively compare any subdirectories found
-q, --brief
report only when files differ