Tại sao phiên bản gzip của tệp tạo ra tổng kiểm tra md5 khác


28

Tôi có bốn tệp mà tôi đã tạo bằng cách sử dụng một svndump

test.svn 
test2.svn 
test.svn.gz  
test2.svn.gz

bây giờ khi tôi chạy cái này

md5sum test2.svn test.svn test.svn.gz test2.svn.gz

Đây là đầu ra

89fc1d097345b0255825286d9b4d64c3  test2.svn
89fc1d097345b0255825286d9b4d64c3  test.svn
8284ebb8b4f860fbb3e03e63168b9c9e  test.svn.gz
ab9411efcb74a466ea8e6faea5c0af9d  test2.svn.gz

Vì vậy, tôi không thể hiểu tại sao việc gzipnén các tệp lại khác nhau khi nó đặt dấu thời gian ở đâu đó trước khi nén? Tôi gặp vấn đề tương tự mysqldumpvì nó đang sử dụng trường ngày ở trên cùng


Khỉ thật, tôi chỉ cần tìm ra nó, nhưng il để cho ai đó ghi điểm. Trong số các bạn hãy trả lời: D
whoami

Câu trả lời:


32

gziplưu trữ một số siêu dữ liệu của tệp gốc trong tiêu đề bản ghi, bao gồm thời gian sửa đổi tệp và tên tệp, nếu có. Xem đặc tả định dạng tệp GZIP .

Vì vậy, dự kiến ​​hai gziptệp của bạn không giống nhau. Bạn có thể làm việc này bằng cách đi qua gzipcác -nlá cờ, mà dừng lại nó từ bao gồm tên tập tin gốc và timestamp trong tiêu đề.


4

Mỗi tệp .gz có một tiêu đề với tên của tệp ... Hãy thử head test.svn.gzhead test2.svn.gz


Điều đó tạo ra rất nhiều rác. Tôi không phải là người đứng đầu sẽ làm việc tốt trên test.svn.gz
whoami

Ban đầu, bạn có thể thấy tên của tệp ...
Jan Marek

1
> đầu test2.svn.gz F u ; @ h 'N` V D ? fo
whoami

11
head test2.svn.gz|hexdump -Csẽ không làm hỏng thiết bị đầu cuối của bạn
Mat

ohhh tốt đẹp @Mat thích học các lệnh mới
whoami
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.