GNU/Linux >> Tutoriels Linux >  >> Linux

La commande Linux md5sum expliquée aux débutants (5 exemples)

Lors du téléchargement de fichiers, en particulier lors de l'installation de fichiers à partir de sites Web, il est bon de vérifier que le téléchargement est valide. Un site Web affiche souvent une valeur de hachage pour chaque fichier afin de s'assurer que le téléchargement est correctement effectué. Cet article traite de l'outil md5sum que vous pouvez utiliser pour valider le téléchargement. Trois autres utilitaires, sha1sum, sha256sum et sha512sum, fonctionnent de la même manière que md5sum.

Commande Linux md5sum

La commande md5sum imprime une somme de contrôle de 32 caractères (128 bits) du fichier donné, en utilisant l'algorithme MD5. Voici la syntaxe de commande de cet outil de ligne de commande :

md5sum [OPTION]... [FILE]...

Et voici comment la page de manuel de md5sum l'explique :

Print or check MD5 (128-bit) checksums.

Les exemples de style questions-réponses suivants vous donneront une meilleure idée de l'utilisation de base de md5sum.

Remarque :nous utiliserons trois fichiers nommés file1.txt, file2.txt et file3.txt comme fichiers d'entrée dans nos exemples. Le texte de chaque fichier est répertorié ci-dessous.

fichier1.txt :

hi
hello
how are you
thanks.

fichier2.txt :

hi
hello to you
I am fine
Your welcome!

fichier3.txt :

hallo
Guten Tag
Wie geht es dir
Danke.

Q1. Comment afficher la valeur de hachage ?

Utilisez la commande sans aucune option pour afficher la valeur de hachage et le nom du fichier.

md5sum file1.txt

Voici le résultat produit par cette commande sur notre système :

[Documents]$ md5sum file1.txt
1ff38cc592c4c5d0c8e3ca38be8f1eb1  file1.txt
[Documents]$

La sortie peut également être affichée dans un format de style BSD à l'aide de l'option --tag.

md5sum --tag file1.txt
[Documents]$ md5sum --tag file1.txt
MD5 (file1.txt) = 1ff38cc592c4c5d0c8e3ca38be8f1eb1
[Documents]$

Q2. Comment valider plusieurs fichiers ?

La commande md5sum peut valider plusieurs fichiers à la fois. Nous ajouterons file2.txt et file3.txt pour démontrer les capacités.

Si vous écrivez les hachages dans un fichier, vous pouvez utiliser ce fichier pour vérifier si l'un des fichiers a été modifié. Ici, nous écrivons les hachages des fichiers dans les hachages de fichiers, puis nous les utilisons pour valider qu'aucun des fichiers n'a changé.

md5sum file1.txt file2.txt file3.txt > hashes
md5sum --check hashes
[Documents]$ md5sum file1.txt file2.txt file3.txt > hashes
[Documents]$ md5sum --check hashes
file1.txt: OK
file2.txt: OK
file3.txt: OK
[Documents]$ 

Nous allons maintenant modifier file3.txt, en ajoutant un seul point d'exclamation à la fin du fichier, et relancer la commande.

echo "!" >> file3.txt
md5sum --check hashes
[Documents]$ md5sum --check hashes
file1.txt: OK
file2.txt: OK
file3.txt: FAILED
md5sum: WARNING: 1 computed checksum did NOT match
[Documents]$ 

Vous pouvez voir que file3.txt a changé.

Q3. Comment afficher uniquement les fichiers modifiés ?

Si vous avez de nombreux fichiers à vérifier, vous souhaiterez peut-être n'afficher que les fichiers qui ont été modifiés. En utilisant l'option "--quiet", md5sum ne listera que les fichiers qui ont changé.

md5sum --quiet --check hashes
[Documents]$ md5sum --quiet --check hashes
file3.txt: FAILED
md5sum: WARNING: 1 computed checksum did NOT match
[Documents]$

Q4. Comment détecter les changements dans un script ?

Vous pouvez utiliser md5sum dans un script. En utilisant l'option "--status", md5sum n'imprimera aucune sortie. Au lieu de cela, le code d'état renvoie 0 s'il n'y a pas de modifications et 1 si les fichiers ne correspondent pas. Le script hashes.sh suivant renverra un 1 dans le code d'état car les fichiers ont été modifiés. Le fichier de script est ci-dessous :

sh hashes.sh
hashes.sh:
#!/bin/bash
md5sum --status --check hashes
Result=$?
echo "File check status is: $Result"
exit $Result

[Documents]$ sh hashes.sh
File check status is: 1
[[email protected] Documents]$ 

Q5. Comment identifier les valeurs de hachage invalides ?

md5sum peut vous indiquer si vous avez des hachages invalides lorsque vous comparez des fichiers. Pour vous avertir si des valeurs de hachage sont incorrectes, vous pouvez utiliser l'option --warn. Pour ce dernier exemple, nous utiliserons sed pour insérer un caractère supplémentaire au début de la troisième ligne. Cela modifiera la valeur de hachage dans les hachages de fichier, la rendant invalide.

sed -i '3s/.*/a&/' hashes
md5sum --warn --check hashes

Cela montre que la troisième ligne a un hachage invalide.

[Documents]$ sed -i '3s/.*/a&/' hashes
[Documents]$ md5sum --warn --check hashes
file1.txt: OK
file2.txt: OK
md5sum: hashes: 3: improperly formatted MD5 checksum line
md5sum: WARNING: 1 line is improperly formatted
[Documents]$

Conclusion

Le md5sum est une commande simple qui peut rapidement valider un ou plusieurs fichiers pour déterminer si l'un d'entre eux a été modifié par rapport au fichier d'origine. Pour plus d'informations sur md5sum, consultez sa page de manuel.


Linux
  1. Commande Linux paste expliquée pour les débutants (5 exemples)

  2. Commande Linux wc expliquée pour les débutants (6 exemples)

  3. Explication de la commande Linux unexpand pour les débutants (avec exemples)

  4. Tutoriel de commande zip Linux pour les débutants (5 exemples)

  5. Explication de la commande Linux objdump pour les débutants (7 exemples)

Tutoriel de commande Linux md5sum pour les débutants (5 exemples)

Commande Linux cut expliquée pour les débutants (avec exemples)

Explication de la commande Linux timeout pour les débutants (avec exemples)

Explication de la commande Linux dd pour les débutants (8 exemples)

Explication de la commande Linux mv pour les débutants (8 exemples)

Commande d'hôte Linux expliquée pour les débutants (8 exemples)