Linux Command · 3 min read · Sep 20, 2025

Comando md5sum di Linux spiegato per principianti (5 esempi)

Quando si scaricano file, in particolare durante l’installazione di file scaricati da un sito web, tramite protocollo torrent o server FTP, è buona norma verificare che il download sia valido. I siti web mostrano spesso un valore hash per ciascun file per assicurarsi che il download sia completato correttamente. Questo articolo discuterà il comando md5sum che puoi utilizzare per convalidare il download. Altri tre strumenti, sha1sum, sha256sum e sha512sum, funzionano allo stesso modo di md5sum. Questo tutorial è compatibile con tutte le principali distribuzioni Linux.

Comando md5sum di Linux

Il comando md5sum stampa un checksum di 32 caratteri (128 bit) del file fornito, utilizzando l’algoritmo MD5. Di seguito è riportata la sintassi del comando di questo strumento da riga di comando:

md5sum [OPZIONE]... [FILE]...

Ecco come la pagina man di md5sum lo spiega:

Stampa o controlla i checksum MD5 (128 bit).

I seguenti esempi in stile Q&A ti daranno un’idea ancora migliore dell’uso di base di md5sum.

Nota: useremo tre file chiamati file1.txt, file2.txt e file3.txt come file di input nei nostri esempi. Il testo in ciascun file è elencato di seguito.

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.

D1. Come visualizzare il valore hash?

Usa il comando senza opzioni per visualizzare il valore hash e il nome del file.

md5sum file1.txt

Ecco l’output che questo comando ha prodotto sul nostro sistema:

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

L’output può anche essere visualizzato in un formato stile BSD utilizzando l’opzione –tag.

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

D2. Come convalidare più file contemporaneamente?

Il comando md5sum può convalidare più file contemporaneamente. Aggiungeremo file2.txt e file3.txt per dimostrare le capacità.

Se scrivi gli hash in un file, puoi utilizzare quel file per controllare se uno dei file è cambiato. Qui stiamo scrivendo gli hash dei file nel file hashes, e poi usando quello per convalidare che nessuno dei file sia cambiato.

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

Ora cambieremo file3.txt, aggiungendo un singolo punto esclamativo alla fine del file, e rieseguiremo il comando.

echo "!" >> file3.txt  
md5sum --check hashes
[Documents]$ md5sum --check hashes
file1.txt: OK
file2.txt: OK
file3.txt: FAILED
md5sum: WARNING: 1 checksum calcolato NON corrisponde
[Documents]$ 

Puoi vedere che file3.txt è cambiato.

D3. Come visualizzare solo i file modificati?

Se hai molti file da controllare, potresti voler visualizzare solo i file che sono cambiati. Utilizzando l’opzione “–quiet”, md5sum elencherà solo i file che sono cambiati.

md5sum --quiet --check hashes
[Documents]$ md5sum --quiet --check hashes
file3.txt: FAILED
md5sum: WARNING: 1 checksum calcolato NON corrisponde
[Documents]$

D4. Come rilevare cambiamenti in uno script?

Potresti voler utilizzare md5sum in uno script. Utilizzando l’opzione “–status”, md5sum non stamperà alcun output. Invece, il codice di stato restituisce 0 se non ci sono cambiamenti, e 1 se i file non corrispondono. Il seguente script hashes.sh restituirà un 1 nel codice di stato perché i file sono cambiati. Il file dello script è riportato di seguito:

sh hashes.sh
hashes.sh:
#!/bin/bash
md5sum --status --check hashes
Result=$?
echo "Lo stato del controllo file è: $Result"
exit $Result

[Documents]$ sh hashes.sh
Lo stato del controllo file è: 1
[lion@ornatecandy Documents]$ 

D5. Come identificare valori hash non validi?

md5sum può farti sapere se hai hash non validi quando confronti i file. Per avvisarti se ci sono valori hash errati, puoi utilizzare l’opzione –warn. Per questo ultimo esempio, utilizzeremo sed per inserire un carattere extra all’inizio della terza riga. Questo cambierà il valore hash nel file hashes, rendendolo non valido.

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

Questo mostra che la terza riga ha un hash non valido.

[Documents]$ sed -i '3s/.*/a&/' hashes
[Documents]$ md5sum --warn --check hashes
file1.txt: OK
file2.txt: OK
md5sum: hashes: 3: riga di checksum MD5 formattata in modo improprio
md5sum: WARNING: 1 riga è formattata in modo improprio
[Documents]$

Conclusione

Il md5sum è un comando semplice che può rapidamente convalidare uno o più file per determinare se uno di essi è cambiato rispetto al file originale. Per ulteriori informazioni su md5sum, consulta la sua pagina man.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.