GNU/Linux >> Znalost Linux >  >> Linux

Vysvětlení příkazu Linux md5sum pro začátečníky (5 příkladů)

Při stahování souborů, zejména při instalaci souborů z webových stránek, je dobré ověřit, zda je stahování platné. Webová stránka často zobrazuje hodnotu hash pro každý soubor, aby se ujistil, že stahování proběhlo správně. Tento článek pojednává o nástroji md5sum, který můžete použít k ověření stahování. Tři další nástroje, sha1sum, sha256sum a sha512sum, fungují stejně jako md5sum.

Příkaz Linux md5sum

Příkaz md5sum vytiskne 32znakový (128bitový) kontrolní součet daného souboru pomocí algoritmu MD5. Následuje syntaxe příkazu tohoto nástroje příkazového řádku:

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

A zde je návod, jak to vysvětluje manuálová stránka md5sum:

Print or check MD5 (128-bit) checksums.

Následující příklady ve stylu otázek a odpovědí vám poskytnou ještě lepší představu o základním použití md5sum.

Poznámka:Budeme používat tři soubory pojmenované soubor1.txt, soubor2.txt a soubor3.txt jako vstupní soubory v našich příkladech. Text v každém souboru je uveden níže.

file1.txt:

hi
hello
how are you
thanks.

soubor2.txt:

hi
hello to you
I am fine
Your welcome!

soubor3.txt:

hallo
Guten Tag
Wie geht es dir
Danke.

O1. Jak zobrazit hodnotu hash?

Použijte příkaz bez jakýchkoli voleb k zobrazení hodnoty hash a názvu souboru.

md5sum file1.txt

Zde je výstup tohoto příkazu vytvořený v našem systému:

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

Výstup lze také zobrazit ve formátu BSD pomocí volby --tag.

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

Q2. Jak ověřit více souborů?

Příkaz md5sum může ověřit více souborů najednou. Přidáme soubor2.txt a soubor3.txt, abychom demonstrovali schopnosti.

Pokud zapíšete hash do souboru, můžete tento soubor použít ke kontrole, zda se některý ze souborů nezměnil. Zde zapisujeme hodnoty hash souborů do hodnot hash souborů a poté je používáme k ověření, že se žádný ze souborů nezměnil.

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

Nyní změníme soubor3.txt přidáním jediného vykřičníku na konec souboru a spustíme příkaz znovu.

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

Můžete vidět, že soubor3.txt se změnil.

Q3. Jak zobrazit pouze upravené soubory?

Máte-li mnoho souborů ke kontrole, možná budete chtít zobrazit pouze soubory, které se změnily. Pomocí možnosti "--quiet" vypíše md5sum pouze soubory, které se změnily.

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

4. Jak zjistit změny ve skriptu?

Možná budete chtít použít md5sum ve skriptu. Při použití volby "--status" md5sum nevytiskne žádný výstup. Místo toho stavový kód vrátí 0, pokud nedošlo k žádným změnám, a 1, pokud se soubory neshodují. Následující skript hashes.sh vrátí 1 ve stavovém kódu, protože se soubory změnily. Soubor skriptu je níže:

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

O5. Jak identifikovat neplatné hodnoty hash?

md5sum vám může dát vědět, pokud máte neplatné hodnoty hash, když porovnáváte soubory. Chcete-li vás varovat, pokud jsou některé hodnoty hash nesprávné, můžete použít volbu --warn. V tomto posledním příkladu použijeme sed k vložení dalšího znaku na začátek třetího řádku. Tím se změní hodnota hash v souborech hash, takže bude neplatná.

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

To ukazuje, že třetí řádek obsahuje neplatný hash.

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

Závěr

md5sum je jednoduchý příkaz, který dokáže rychle ověřit jeden nebo více souborů a určit, zda se některý z nich oproti původnímu souboru změnil. Další informace o md5sum naleznete na jeho manuálové stránce.


Linux
  1. Linuxový příkaz paste vysvětlený pro začátečníky (5 příkladů)

  2. Příkaz wc pro Linux vysvětlený pro začátečníky (6 příkladů)

  3. Linux unexpand Command Vysvětlený pro začátečníky (s příklady)

  1. Příkaz Linux Csplit vysvětlený pro začátečníky (6 příkladů)

  2. Linuxový průvodce příkazem zip pro začátečníky (5 příkladů)

  3. Linuxový příkaz objdump vysvětlený pro začátečníky (7 příkladů)

  1. Linuxový příkaz dirname vysvětlený pro začátečníky (4 příklady)

  2. Linux Free Command vysvětlený pro začátečníky (6 příkladů)

  3. Příkaz Linux Head vysvětlený pro začátečníky (5 příkladů)