Câu trả lời:
Các gzip -t
lệnh chỉ trả lại một mã lối ra vào vỏ nói cho dù các tập tin thông qua các bài kiểm tra tính toàn vẹn hay không.
Ví dụ (trong một tập lệnh):
if gzip -t file.gz; then
echo 'file is ok'
else
echo 'file is corrupt'
fi
Thêm -v
sẽ làm cho nó thực sự báo cáo kết quả với một tin nhắn.
Thí dụ:
$ gzip -v -t file.gz
file.gz: OK
Vì vậy, các tập tin là ok. Hãy làm hỏng tệp (bằng cách viết ký tự 0
ở byte 40 trong tệp) và thử lại.
$ dd seek=40 bs=1 count=1 of=file.gz <<<"0"
1+0 records in
1+0 records out
1 bytes transferred in 0.000 secs (2028 bytes/sec)
$ gzip -v -t file.gz
file.gz: gzip: file.gz: Inappropriate file type or format
Tính toàn vẹn của một tệp liên quan đến nén của nó không đảm bảo rằng nội dung tệp là những gì bạn tin là nó. Nếu bạn có một tổng kiểm MD5 (hoặc một số tổng kiểm tra tương tự) của tệp từ bất kỳ ai cung cấp, thì bạn có thể nhận được một xác nhận bổ sung rằng tệp không chỉ là một gzip
kho lưu trữ hợp lệ , mà cả nội dung của nó là những gì bạn mong đợi được.
gzip -t
không có bất kỳ đầu ra nào, ngoài mã trả về, nếu đó là tệp nén gzip chính xác.
Nó chỉ trả về lỗi nếu bạn đang thử nó trên một cái gì đó không phải là tệp nén gzip:
steamsrv@leviathan:~$ gzip -t commands.txt
gzip: commands.txt: not in gzip format
Kết luận: Tệp của bạn gần như chắc chắn là tệp nén gzip. Điều tôi không thể nói với bạn là liệu đó có phải là tệp chính xác mà bạn nghĩ nó là, đó là thứ băm sẽ hữu ích cho ...