md5sum to klasyczne narzędzie GNU coreutils, które liczy 128-bitową sumę kontrolną MD5 pliku i wypisuje ją jako 32-znakowy ciąg szesnastkowy. Używasz go, gdy chcesz sprawdzić, czy plik dotarł do ciebie w całości i bez uszkodzeń — pobrałeś obraz ISO, przesłałeś backup na inny serwer albo chcesz szybko porównać dwie kopie tego samego pliku. Daje ci jedną liczbę, którą porównujesz z wartością wzorcową: jeśli się zgadza, zawartość jest identyczna co do bajta.
Składnia i najważniejsze opcje
Podstawowa składnia wygląda tak: md5sum [opcje] [plik...]. Bez argumentu plikowego czyta ze standardowego wejścia.
-c,--check— czyta sumy z podanego pliku i weryfikuje, czy pliki na dysku im odpowiadają.--tag— tworzy sumę w stylu BSD (formatMD5 (plik) = ...) zamiast domyślnego GNU.-b,--binary— czyta w trybie binarnym (na Linuksie i tak domyślny; ma znaczenie głównie na systemach rozróżniających tryby).-t,--text— czyta w trybie tekstowym (domyślny przy odczycie).--quiet— przy-cnie wypisuje OK dla plików, które przeszły weryfikację.--status— przy-cnic nie wypisuje, daje tylko kod wyjścia (idealne do skryptów).--ignore-missing— przy-cnie zgłasza błędu dla plików, których brakuje.--strict— przy-ckończy z kodem niezerowym, jeśli któraś linia listy jest źle sformatowana.
Przykłady użycia
md5sum plik.iso— liczy sumę MD5 pojedynczego pliku i wypisuje ją razem z nazwą.md5sum *.tar.gz > sumy.md5— zapisuje sumy wszystkich archiwów do pliku, który później posłuży do weryfikacji.md5sum -c sumy.md5— sprawdza każdy plik z listy i przy każdym pisze OK albo FAILED.md5sum -c --status sumy.md5 && echo "wszystko gra"— cicha weryfikacja w skrypcie: reagujesz tylko na kod wyjścia.echo -n "haslo123" | md5sum— liczy sumę z tekstu podanego na wejściu (flaga-nwechoucina znak nowej linii, który inaczej wpłynie na wynik).
Częste błędy i pułapki
Najważniejsze: MD5 nie jest bezpieczny kryptograficznie. Świetnie wykrywa przypadkowe uszkodzenia, ale nie chroni przed celowo spreparowanym plikiem — kolizje MD5 generuje się trywialnie. Do weryfikacji integralności po ataku używaj sha256sum.
Druga pułapka to echo bez -n — domyślnie dokleja znak nowej linii, więc suma z terminala nie zgodzi się z sumą liczoną przez inne narzędzia. Trzecia: plik z sumami musi mieć ścieżki względne pasujące do katalogu, w którym uruchamiasz -c, inaczej dostaniesz masę No such file or directory. Na macOS nie ma md5sum w standardzie — jest za to md5 (inny format) albo md5sum po doinstalowaniu coreutils z Homebrew.
Powiązane komendy: sha256sum, sha1sum, cksum, shasum, b2sum.