vérifier la somme md5 du tuyau

10

Je ne sais pas comment md5sum --checkest censé fonctionner:

$ man md5sum
-c, --check
    read MD5 sums from the FILEs and check them

J'ai un fichier, je peux le diriger vers md5sum:

$ cat file | md5sum
44693b9ef883e231cd9f90f737acd58f  -

Quand je veux vérifier l'intégrité du fichier demain, comment puis-je vérifier si la somme md5 est toujours 44693b9ef883e231cd9f90f737acd58f?

Remarque

cat filepourrait être un flux. Je veux donc utiliser le tuyau comme dans mon exemple, non md5sum file.

Martin Vegter
la source

Réponses:

22

Tu fais cela:

cat file | md5sum > sumfile

Et le lendemain, vous pouvez le faire:

cat file | md5sum --check sumfile

Qui imprime:

-: OK

si tout va bien.

m13r
la source
6

Je suppose que vous connaissez la somme md5 du fichier.

Lancez simplement la commande suivante:

echo ff19e3f8bde936457b8e53c825110987 myfile | md5sum --check -
 monfichier : OK

md5sum --check, comme md5sumavec toute autre option (ou aucune), prend l'entrée de stdin si aucun fichier (ou -) n'est spécifié sur la ligne de commande.

Peter
la source
1

La syntaxe par défaut pour md5sumest:

$ md5sum file 
068a9a19124df814e52ff5461598cfe4  file

Pour créer un fichier de somme de contrôle, redirigez la sortie standard vers un fichier:

$ md5sum file > md5.checksum

Pour vérifier le fichier par rapport au fichier de somme de contrôle:

$ cd path/to/file
$ md5sum --check path/to/md5.checksum
file: OK

Cela dit, les implémentations de m13r sont également valables.

Timothée
la source