Jednym z najczęstszych sposobów ustalenia, czy dwa pliki są identyczne (przy założeniu, że ich rozmiary są zgodne), jest użycie programu do utworzenia „ skrótu ” (zasadniczo odcisku palca) pliku. Najczęstsze z nich to md5sum
i sha1sum
.
Na przykład:
$ md5sum file1 file2
e0e7485b678a538c2815132de7f9e878 file1
4a14aace18d472709ccae3910af55955 file2
Jeśli masz wiele plików, które musisz sprawdzić, na przykład jeśli przenosisz katalog pełen plików z jednego systemu do drugiego, możesz przekierować dane wyjściowe z oryginalnego systemu do pliku, a następnie md5sum
/ sha1sum
możesz automatycznie użyć tego pliku, aby poinformować które pliki są różne:
$ md5sum file1 file2 > MD5SUMS
... copy file1, file2, MD5SUMS across
$ md5sum --check MD5SUMS
file1: OK
file2: OK
Znaleziono rozwiązanie - narzędzie cmp, które jest dostarczane z większością wersji Linuksa.
źródło
Jeśli chcę tylko wiedzieć, czy są takie same, wolę użyć sha1sum, jeśli jest dostępny, lub md5 jako rezerwowego.
Jeśli chcę wiedzieć, jak są one różne lub gdzie się różnią, jedną rzeczą, która działa, jest ich przekręcenie poprzez od (zrzut ósemkowy, który zwykle ma opcję szesnastkową), aby utworzyć pliki tymczasowe, a następnie je rozdzielić.
źródło
Właśnie uruchomiłem kilka testów porównawczych dla pliku ponad 100 MB. diff był najszybszy, podczas gdy cmp zajął drugie miejsce, a użycie md5sum było na końcu.
Ponownie przestawiłem ćwiczenie z plikiem 4,3 GB i musiałem usunąć i ponownie utworzyć plik z dd, ponieważ buforowanie pamięci RAM miało duży wpływ na wyniki.
Na podstawie tych wyników zaleciłbym przeniesienie plików do montowania RAMFS i pozostanie przy diff.
źródło