GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux-md5sum-Befehl für Anfänger erklärt (5 Beispiele)

Beim Herunterladen von Dateien, insbesondere beim Installieren von Dateien von Websites, ist es ratsam, zu überprüfen, ob der Download gültig ist. Eine Website zeigt oft einen Hash-Wert für jede Datei an, um sicherzustellen, dass der Download korrekt abgeschlossen wird. In diesem Artikel wird das md5sum-Tool erläutert, mit dem Sie den Download validieren können. Drei weitere Dienstprogramme, sha1sum, sha256sum und sha512sum, funktionieren genauso wie md5sum.

Linux md5sum-Befehl

Der Befehl md5sum gibt unter Verwendung des MD5-Algorithmus eine 32 Zeichen lange (128-Bit) Prüfsumme der angegebenen Datei aus. Es folgt die Befehlssyntax dieses Befehlszeilentools:

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

Und so erklärt es die Manpage von md5sum:

Print or check MD5 (128-bit) checksums.

Die folgenden Beispiele im Q&A-Stil geben Ihnen eine noch bessere Vorstellung von der grundlegenden Verwendung von md5sum.

Hinweis:Wir verwenden drei Dateien mit den Namen file1.txt, file2.txt und file3.txt wie die Eingabedateien in unseren Beispielen. Der Text in jeder Datei ist unten aufgeführt.

file1.txt:

hi
hello
how are you
thanks.

file2.txt:

hi
hello to you
I am fine
Your welcome!

file3.txt:

hallo
Guten Tag
Wie geht es dir
Danke.

Q1. Wie wird der Hash-Wert angezeigt?

Verwenden Sie den Befehl ohne Optionen, um den Hashwert und den Dateinamen anzuzeigen.

md5sum file1.txt

Hier ist die Ausgabe dieses Befehls auf unserem System:

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

Die Ausgabe kann mit der Option --tag auch in einem BSD-Format angezeigt werden.

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

Q2. Wie validiere ich mehrere Dateien?

Der Befehl md5sum kann mehrere Dateien gleichzeitig validieren. Wir werden file2.txt und file3.txt hinzufügen, um die Fähigkeiten zu demonstrieren.

Wenn Sie die Hashes in eine Datei schreiben, können Sie diese Datei verwenden, um zu prüfen, ob sich eine der Dateien geändert hat. Hier schreiben wir die Hashes der Dateien in die Datei-Hashes und verwenden diese dann, um zu validieren, dass sich keine der Dateien geändert hat.

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]$ 

Jetzt ändern wir file3.txt, fügen ein einzelnes Ausrufezeichen am Ende der Datei hinzu und führen den Befehl erneut aus.

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]$ 
überein

Sie können sehen, dass sich file3.txt geändert hat.

Q3. Wie kann ich nur geänderte Dateien anzeigen?

Wenn Sie viele Dateien überprüfen müssen, möchten Sie möglicherweise nur die geänderten Dateien anzeigen. Mit der Option "--quiet" listet md5sum nur die Dateien auf, die sich geändert haben.

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

Q4. Wie erkennt man Änderungen in einem Skript?

Möglicherweise möchten Sie md5sum in einem Skript verwenden. Mit der Option „--status“ gibt md5sum keine Ausgabe aus. Stattdessen gibt der Statuscode 0 zurück, wenn es keine Änderungen gibt, und 1, wenn die Dateien nicht übereinstimmen. Das folgende Skript hashes.sh gibt eine 1 im Statuscode zurück, da sich die Dateien geändert haben. Die Skriptdatei ist unten:

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]$ 

F5. Wie erkennt man ungültige Hash-Werte?

md5sum kann Sie beim Vergleichen von Dateien auf ungültige Hashes hinweisen. Um Sie zu warnen, wenn irgendwelche Hash-Werte falsch sind, können Sie die Option --warn verwenden. Für dieses letzte Beispiel verwenden wir sed, um ein zusätzliches Zeichen am Anfang der dritten Zeile einzufügen. Dadurch wird der Hash-Wert in den Datei-Hashes geändert und ungültig.

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

Dies zeigt, dass die dritte Zeile einen ungültigen Hash hat.

[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]$

Schlussfolgerung

md5sum ist ein einfacher Befehl, der eine oder mehrere Dateien schnell validieren kann, um festzustellen, ob sich eine von ihnen gegenüber der Originaldatei geändert hat. Weitere Informationen zu md5sum finden Sie auf seiner Manpage.


Linux
  1. Linux-Einfügebefehl für Anfänger erklärt (5 Beispiele)

  2. Linux wc Befehl für Anfänger erklärt (6 Beispiele)

  3. Linux-Unexpand-Befehl für Anfänger erklärt (mit Beispielen)

  4. Linux-zip-Befehls-Tutorial für Anfänger (5 Beispiele)

  5. Linux-objdump-Befehl für Anfänger erklärt (7 Beispiele)

Linux md5sum Command Tutorial für Anfänger (5 Beispiele)

Linux cut Befehl für Anfänger erklärt (mit Beispielen)

Linux-Timeout-Befehl für Anfänger erklärt (mit Beispielen)

Linux dd-Befehl für Anfänger erklärt (8 Beispiele)

Linux-mv-Befehl für Anfänger erklärt (8 Beispiele)

Linux-Host-Befehl für Anfänger erklärt (8 Beispiele)