我想檢查一個Ubuntu磁盤備份的完整性,用dd複製到Windows共享。沒有足夠的空間來解壓備份。是否有一個實用程序來計算壓縮文件的MD5,而不完全解壓縮它?檢查md5的壓縮文件,而不完全解壓縮
4
A
回答
11
此:
gzip -d -c myfile.gz | md5sum
都要流解壓的內容轉換成的md5sum,而不是裝載整個事情到內存中。
2
使用gzip
/zcat
和管道到MD5SUM(其中有人已經發布我在寫這一段時間)簡單的答案會工作,但如果你想有更多的樂趣,這裏是一個簡短的Perl腳本,它會做同樣的事情。
#!/usr/bin/perl
use strict;
use warnings;
use Archive::Zip qw/:ERROR_CODES :CONSTANTS/;
use Digest::MD5;
die "Usage: $0 zipfile filename" unless @ARGV == 2;
my $zipfile = $ARGV[0];
my $filename = $ARGV[1];
my $z = Archive::Zip->new();
die "Error reading $zipfile" unless $z->read($zipfile) == AZ_OK;
my $member = $z->memberNamed($filename);
die "Could not find $filename in $zipfile" unless $member;
$member->desiredCompressionMethod(COMPRESSION_STORED);
$member->rewindData();
my $md5 = Digest::MD5->new;
while(1) {
my($buf,$status) = $member->readChunk();
$md5->add($$buf) if $status == AZ_STREAM_END || $status == AZ_OK;
last if $status == AZ_STREAM_END;
die "IO Error" if $status != AZ_OK;
}
my $digest = $md5->hexdigest;
print "$digest $zipfile/$filename\n";
+0
謝謝你,我忘了檢查這個問題 – jdog 2011-01-04 00:50:48
相關問題
- 1. Windows壓縮文件夾沒有完全解壓縮zip
- 2. 解壓縮(解壓縮)由.net壓縮(解壓縮)的文件.net system.io.compression.gzipstream
- 3. 壓縮解壓縮的exe文件
- 4. png文件的壓縮和解壓縮
- 5. 訪問壓縮文件而不解壓縮?
- 6. 壓縮文件未解壓
- 7. Node.js - 壓縮/解壓縮文件夾
- 8. Magick ++壓縮和解壓縮文件
- 9. 在yii中壓縮/解壓縮文件
- 10. 壓縮和解壓縮文件夾
- 11. 解壓縮文件
- 12. 解壓縮文件
- 13. 將文件添加到zip壓縮文件而不壓縮
- 14. 壓縮文件併發送它而不保存壓縮文件
- 15. 如何壓縮文件時不壓縮
- 16. 推薦的方法來檢查文件是否壓縮/壓縮
- 17. DeflateStream壓縮/解壓縮inconsitency
- 18. Asmx Webservice壓縮/解壓縮?
- 19. 解壓縮文件並讀取解壓縮文件
- 20. 如何解壓/解壓縮* .z文件
- 21. 如何解壓/解壓縮文件
- 22. 解壓縮壓縮富文本字段
- 23. Java - 解壓縮文件的壓縮方式不同
- 24. javascript文本壓縮/解壓
- 25. 創建一個ZIP壓縮文件而不壓縮?
- 26. Flex的解壓縮/解壓縮大文件
- 27. 壓縮未壓縮的MSI文件
- 28. 如何只壓縮文件夾內的文件而不壓縮子文件夾?
- 29. 下載該壓縮文件時自動解壓縮文件
- 30. 壓縮/解壓縮文件夾和文件
如果未壓縮文件是二進制文件,不要忘記使用`md5sum -b`。 – tudor 2016-10-28 00:44:33