Sử dụng md5sum để xác minh tệp trong tập lệnh


15

Tôi muốn xác minh một tập tin bằng cách sử dụng md5sum -c file.md5. Tôi có thể làm điều đó bằng tay, nhưng tôi không biết cách kiểm tra tính hợp lệ trong tập lệnh.

Câu trả lời:


25

Bạn có thể sử dụng md5sumtrạng thái trả về:

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

Để làm cho mọi thứ sạch hơn, bạn có thể thêm --statusđể nói md5sum(chỉ có thể là phiên bản của GNU):

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

Các hình thức ngắn hơn cũng hoạt động tốt nếu thích hợp:

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

md5sum --status -c file.md5 && echo OKkhông kiểm tra các tập tin bị thiếu hoặc thêm không may
Erik Martino

1
@Erik md5sumbạn có phiên bản nào? Về các tệp bị thiếu, trên các hệ thống tôi đã kiểm tra, md5sum --status -c file.md5 && echo OKkhông thành công (và không in In OK OK) nếu thiếu tệp được liệt kê trong đó file.md5. Về các tệp bổ sung, md5sum -ckhông bao giờ phàn nàn về các tệp bổ sung, nó chỉ kiểm tra các tệp được liệt kê trong tệp tổng kiểm tra đã cho.
Stephen Kitt

1
md5sum --status -c file.md5 && echo OKsản lượng md5sum: stat 'foo': No such file or directoryOKtrên mac
Erik Martino
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.