După descărcarea unui fișier care are o sumă de verificare md5 disponibilă, o verific în prezent cu
md5 *file* | grep *given_checksum*
de ex.
md5 file.zip | grep -i B4460802B5853B7BB257FBF071EE4AE2
dar mi s-a părut amuzant să cer grep și conducta pentru ceea ce este cu siguranță o sarcină foarte obișnuită. Un stickler pentru a face lucrurile în mod eficient, m-am întrebat că există un mod mai bun de a face acest lucru?
Comentarii
Răspuns
md5sum
are o opțiune -c
pentru a verifica un set existent de sume și starea de ieșire indică succesul / eșecul.
Exemplu:
$ echo "ff9f75d4e7bda792fca1f30fc03a5303 package.deb" | md5sum -c - package.deb: OK
Găsiți o resursă frumoasă aici
Comentarii
- Mulțumesc. Doar pentru finalizare, folosesc acum
md5sum -c - <<<"b4460802b5853b7bb257fbf071ee4ae2 file_name.ext"
, care pare mai curat decât implicarea grep! - hmm, nu prea multă îmbunătățire a fișierului original $ md5 | grep given_checksum și dacă doriți să utilizați șirul care nu face sensibilitate între majuscule și minuscule, trebuie să rămâneți cu grep -i
- Primeam
no properly formatted MD5 checksum lines found
când am foloseammd5sum -c <file.md5> <file>
, dar această comandă a funcționat pentru mine.
Răspuns
Modul obișnuit de bash ar fi:
shopt -s nocasematch if [[ $(md5sum "$file") = 5d40f31729c992b5a0e67490689fe8ff* ]]
Răspuns
md5sum -c <filename>.zip.md5 <filename>.zip
Acest lucru vă va spune Ok dacă sunt la fel.
Acest lucru funcționează și cu gudron.
Răspuns
Inspirat de răspunsul psusi
echo "$(cut -f1 -d" " your_file.jar.md5) your_file.jar" | md5sum -c -
Am folosit cut
deoarece nu toate md5
sunt stocate în același mod. Exemplu
md5
? Din ce pachet provine?