du -sb cho kết quả khác nhau cho 2 thư mục có cùng nội dung?


0

Tôi có một thư mục A với 1000 thư mục con (000-999) mỗi thư mục chứa 3500 tệp .jpg. Tôi đã viết một tập lệnh PHP sao chép từng tệp đó vào thư mục B khác trong cùng một cấu trúc, cụ thể là 1000 thư mục con, mỗi tệp chứa 3500 tệp .jpg, ngoại trừ:

  1. Các tập tin .jpg được đổi tên thành tên mới
  2. trong khi các thư mục con không được đổi tên nhưng hiện tại chúng chứa các tệp khác với thư mục A

Kịch bản này chạy trong khoảng 20 giờ và khi nó hoàn thành, tôi đã chạy:

du -sb *

Tại thư mục mẹ của chúng để có được kích thước rõ ràng của A và B. Điều thú vị ở đây là những gì đã xuất hiện:

74778240380   A
74809644412   B

Sau đó tôi đã chạy một tập lệnh PHP khác trong suốt B và hóa ra nó có cùng số lượng tệp giống như A. Bây giờ tôi bị thua lỗ.

Tại sao kết quả du -sb khác nhau? Có cách nào khác để xác minh rằng quá trình sao chép là thành công và B là bản sao hoàn hảo của A không?

Câu trả lời:


2

Bạn nói rằng bạn đã sao chép các tệp JPEG với tên mới. Nếu tên mới dài hơn đáng kể so với tên cũ, sau đó là các thư mục mới (thư mục con của Bọ) sẽ lớn hơn các thư mục cũ (thư mục con của Trò chơi A). (Có, thư mục chiếm dung lượng và du đếm không gian đó.) Kích thước delta của bạn (74809644412 - 74778240380) là 31404032, xấp xỉ 1000 × 31404. Điều này phù hợp với mỗi trong số 1000 thư mục con nhận được 31404 byte lớn hơn (trung bình). Nếu mỗi trong số 3500 tệp JPEG, các tên của lâu hơn có chín ký tự (trung bình), điều đó sẽ làm điều đó.


-1

Sử dụng lệnh diff:

diff -qr A B

Từ trang nam -qr cho

   -q     Report  only  whether  the  files differ, not the details of the
      differences.

   -r     When comparing directories, recursively compare any  subdirecto-
      ries found.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.