Tôi nghĩ rằng chỉ rsync là người dùng đầy đủ. tại sao?
diff chỉ hữu ích cho các cấu trúc lưu giữ các tập tin và thư mục. Diff không cung cấp mã thoát đầy đủ khi chúng tôi sử dụng symlink. Trong tình huống đó, diff có thể trả về 2 mã thoát, ngay cả khi src và dst giống hệt nhau (thời gian, kích thước, tên, dấu thời gian, liên kết mềm, v.v.).
dir, hệ thống tập tin không đảm bảo thứ tự tập tin, ngay cả khi nội dung thư mục trên src và dst giống hệt nhau. Có lẽ bạn nên lọc đầu ra ls bằng cách sắp xếp nó. Nhưng ls thuần chỉ hiển thị tên nút.
có thể tập lệnh bao gồm diff, cmp, test -X cho các loại nút sẽ hữu ích, nhưng hãy nhớ về tình trạng quá tải được thực hiện bởi nhiều lần chạy test / cmp. Kịch bản sẽ rất chậm.
Như thường lệ, nếu bạn muốn nhận thông tin đơn giản "thư mục là / không giống nhau", bạn nên sử dụng rsync với tùy chọn -n (khô). Nếu bạn muốn tìm những gì khác biệt, hãy sử dụng lệnh diff.