Bir komut dosyasındaki dosyayı doğrulamak için md5sum kullanma


15

Kullanarak bir dosyayı doğrulamak istiyorum md5sum -c file.md5. Bunu elle yapabilirim, ancak bir senaryoda geçerliliğini nasıl kontrol edeceğimi bilmiyorum.

Yanıtlar:


25

Adlı kullanıcının md5sumdönüş durumunu kullanabilirsiniz :

if md5sum -c file.md5; then
    # The MD5 sum matched
else
    # The MD5 sum didn't match
fi

İşleri daha temiz hale getirmek için, sessiz --statuskalmasını söylemeyi md5sum(belki de yalnızca GNU'nun sürümünü) ekleyebilirsiniz:

if md5sum --status -c file.md5; then
    # The MD5 sum matched
else
    # The MD5 sum didn't match
fi

Daha kısa formlar da uygunsa çalışır:

md5sum --status -c file.md5 && echo OK

md5sum --status -c file.md5 && echo OKne yazık ki eksik veya fazladan dosyaları kontrol etmez
Erik Martino

1
@Erik Hangi sürüme md5sumsahipsiniz? md5sum --status -c file.md5 && echo OKListelenen bir dosya file.md5eksikse , kontrol ettiğim sistemlerde eksik dosyalarla ilgili olarak başarısız olur (ve “Tamam” yazmaz) . Ekstra dosyalar ile ilgili olarak, md5sum -chiçbir zaman fazladan dosyalar hakkında şikayette bulunmaz, sadece verilen sağlama toplamı dosyasında listelenen dosyaları kontrol eder.
Stephen Kitt

1
md5sum --status -c file.md5 && echo OKverim md5sum: stat 'foo': No such file or directoryve OKbir mac
Erik Martino
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.