Bash-md5sum-Befehl
-
Bash-Befehl
md5sum
. -
Verwenden Sie
md5sum
für mehrere Dateien gleichzeitig in Bash -
Verwenden Sie
md5sum
, um geänderte Dateien in Bash anzuzeigen -
Verwenden Sie
md5sum
, um ungültige Hash-Werte in Bash zu identifizieren -
Holen Sie sich die
md5sum
-Ausgabe ohne Dateinamen in Bash
Dieses Tutorial zeigt, wie man den Befehl md5sum
in Bash verwendet.
Bash-Befehl md5sum
.
Der Befehl md5sum
gibt die 32-Zeichen- und 128-Bit-Prüfsumme für die angegebene Datei aus. Dieser Befehl verwendet den MD5-Algorithmus, um die Datei in Hash umzuwandeln; Die Syntax für diesen Befehl ist unten.
md5sum [OPTION]... [FILEPATH]...
Versuchen wir, einen einfachen md5sum
-Befehl für eine Textdatei mit folgendem Inhalt auszuführen:
Hello! this is md5sum command checking from delftstack.com
Der Dateiname ist delftstack1
; Der md5sum
-Befehl für diese Datei lautet:
md5sum delftstack1.txt
Der obige Befehl konvertiert die Datei delftstack1.txt
in einen md5
-Hash. Sehen Sie das Ergebnis:
7a09013df4a60cc5eda609d03008c547 delftstack1.txt
Wir können diese Ausgabe auch im BSD-Format anzeigen, indem wir die Option --tag
verwenden.
md5sum --tag delftstack1.txt
Die Ausgabe für diesen Befehl lautet:
MD5 (delftstack1.txt) = 7a09013df4a60cc5eda609d03008c547
Das md5sum
hat viele verschiedene Optionen, die verwendet werden können. Siehe Tabelle unten.
Linke Spalten | Rechte Spalten |
---|---|
-b |
Wird verwendet, um das Ergebnis im Binärmodus zu lesen. |
-c |
Wird verwendet, um MD5 aus bestimmten Dateien zu lesen und sie dann zu überprüfen. |
–tag |
Wird verwendet, um die Ausgabe in einer Prüfsumme im BSD-Stil zu erhalten. |
-t |
Verwenden Sie diese Option, um im Textmodus zu lesen, was ebenfalls standardmäßig der Fall ist. |
–ignore-missing |
Wird verwendet, um den Berichtsstatus für fehlende Dateien zu ignorieren. |
–quiet |
Wird verwendet, um den Druck von OK für jede erfolgreich verifizierte Datei zu stoppen. |
–status |
Wird verwendet, um die Ausgabe von allem zu stoppen, bei dem der Statuscode Erfolg anzeigt. |
–strict |
Wird verwendet, um Prüfsummendateien, die nicht ordnungsgemäß formatiert sind, von Nicht-Null zu verlassen. |
-w |
Wird verwendet, um vor falsch formatierten Prüfsummendateien zu warnen. |
Der Befehl md5sum
kann auf verschiedene Arten verwendet werden, darunter die gleichzeitige Verwendung von md5
für mehrere Dateien, das Anzeigen nur der geänderten Dateien und das Identifizieren der ungültigen Hash-Werte.
Verwenden Sie md5sum
für mehrere Dateien gleichzeitig in Bash
Mit dem md5sum
können auch mehrere Dateien gleichzeitig validiert werden. Lassen Sie uns zwei weitere Textdateien erstellen und dann versuchen, alle drei Dateien gleichzeitig zu validieren.
delftstack2.txt
:
Hello! this is md5sum command checking from delftstack.com file 2
delftstack3.txt
:
Hello! this is md5sum command checking from delftstack.com file 3
Jetzt lautet der Befehl, um Hash für mehrere Dateien gleichzeitig zu erhalten:
md5sum delftstack1.txt delftstack2.txt delftstack3.txt > hashes
Der obige Befehl konvertiert nur Dateien in Hash und zeigt keine Ausgabe an. Um die Ausgabe anzuzeigen, müssen wir den folgenden Befehl ausführen:
md5sum --check hashes
Der obige Befehl zeigt an, ob die Dateien erfolgreich in einen Hash konvertiert wurden. Siehe die Ausgabe:
delftstack1.txt: OK
delftstack2.txt: OK
delftstack3.txt: OK
Verwenden Sie md5sum
, um geänderte Dateien in Bash anzuzeigen
Der Befehl md5sum
kann auch die geänderten Dateien anzeigen, während md5sum
auf mehrere Dateien angewendet wird. Verwenden Sie zunächst den folgenden Befehl, um die Datei zu ändern:
echo "!" >> delftstack1.txt
Der obige Befehl ändert die Datei delftstack1.txt
. Lassen Sie uns nun die modifizierten Dateien mit den md5sum
-Optionen anzeigen.
Siehe den Befehl:
md5sum --quiet --check hashes
Der obige Befehl sucht nach geänderten Dateien und gibt den Namen in der Ausgabe aus. Siehe die Ausgabe:
delftstack1.txt: FAILED
md5sum: WARNING: 1 computed checksum did NOT match
Verwenden Sie md5sum
, um ungültige Hash-Werte in Bash zu identifizieren
Wir können auch den Befehl md5sum
mit Optionen verwenden, um die ungültigen Dateien zu identifizieren. Dazu verwenden wir die Option -warn
und den Befehl sed
, um zusätzliche Zeichen einzufügen, um eine Datei ungültig zu machen.
Siehe den ersten Befehl:
sed -i '1s/.*/a&/' hashes
Der obige Befehl fügt der ersten Zeile der Ausgabe Auszugszeichen hinzu. Sehen Sie sich die Ausgabe für diesen Befehl an:
sed: -e expression #1, char 2: extra characters after command
Lassen Sie uns nun mit dem Befehl md5sum
und den Optionen --warn
nach dem ungültigen Hash-Wert suchen. Siehe den Befehl:
md5sum --warn --check hashes
Das Obige zeigt die Datei mit ungültigen Hash-Werten in der Ausgabe. Siehe die Ausgabe:
delftstack1.txt: FAILED
delftstack2.txt: OK
delftstack3.txt: OK
md5sum: WARNING: 1 computed checksum did NOT match
Holen Sie sich die md5sum
-Ausgabe ohne Dateinamen in Bash
Wie wir sehen können, gibt md5sum
die Hash-Ausgabe mit ihrem Dateinamen zurück, aber manchmal ist es erforderlich, die Ausgabe ohne Dateinamen zu erhalten, damit wir sie weiter verwenden können. Die Lösung dafür ist der Befehl awk
, eine domänenspezifische Sprache, die für Textverarbeitung, Datenextraktion und Reporting-Tools verwendet wird.
Befolgen Sie die folgenden Punkte, um die Ausgabe ohne Dateinamen in Bash zu erhalten:
- Wir weisen den Ausgang einer Variablen zu.
- Zuerst führen wir
md5sum
auf der angegebenen Datei aus, verwenden denawk
-Befehl und geben$1
aus.
Siehe den Befehl:
DemoMD5= md5sum delftstack1.txt | awk '{ print $1 }'
Das obige gibt nur die Hash-Ausgabe von der Ausgabe md5sum
zurück.
Ausgang:
698ac7ad395a9c887b1abf3c9ded7abe
Wenn Sie den Befehl awk
nicht verwenden möchten, gibt es eine andere Methode, mit der wir die Hash-Ausgabe von md5sum
direkt ohne den Dateinamen erhalten können. Die Ausgabe md5sum
weisen wir einem Array zu und drucken es dann aus.
Siehe die Befehle:
DemoMD5=($(md5sum delftstack1.txt))
echo $DemoMD5
Die obigen Befehle erhalten auch direkt die Hash-Ausgabe ohne den Dateinamen für md5sum
. Siehe die Ausgabe:
698ac7ad395a9c887b1abf3c9ded7abe
Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.
LinkedIn Facebook