При необходимости загрузить или выгрузить большие файлы возникает необходимость проверить их целостность. Например, при загрузке большого файла на хостинг или скачивании архива с резервной копией сайтов нужно передать между компьютерами файлы в несколько гигабайт или даже десятков гигабайт.
При медленном Интернет-подключении либо при ограничениях скорости с той или иной стороны, а также при нестабильной связи может возникнуть вопрос — загрузка (выгрузка) файла прекратилась поскольку он полностью передан или из-за обрыва подключения?
Особенно ситуация не очень понятно при использовании веб-интерфейсов (например, elFinder (Web file manager)) и различных необычных решений, например веб-SSH.
В общем, нужно убедиться, что копия файла на удалённом компьютере и на локальном компьютере идентичны, как это сделать проще всего? При этом нам нужна гарантия, что файл не повреждён даже частично, поскольку некоторые файлы даже в неполном виде могут быть открыты — например, видео файл может быть воспроизведён до точки обрыва, аналогично с аудио, текстовыми и некоторыми другими файлами.
Самый простой способ убедиться в целостности файла, это найти его контрольную сумму для его копий. Имеются различные алгоритмы вычисления контрольных сумм — вы можете выбрать любую, например, MD5.
Как проверить что файл не повреждён в Linux. Как проверить контрольную сумму файла в Linux
Для вычисления контрольной суммы по алгоритму MD5 используется утилита md5sum.
Для вычисления контрольной суммы файла с именем FILE используется следующая команда:
md5sum FILE
Пример вычисления контрольной суммы для файла 20240804_131135.zip (на локальном компьютере):
md5sum 20240804_131135.zip
Пример вывода:
b738817e5fa32ba5121e3ebcb7c97190 20240804_131135.zip
То есть контрольная сумма указанного файла равна b738817e5fa32ba5121e3ebcb7c97190.
И ещё одно вычисление контрольной суммы файла, но в этот раз на веб-хостинге, куда этот файл был выгружен:
Поскольку хеши файлов совпадают, это достоверно подтверждает, что во время передачи файл не был повреждён.
Как проверить что файл не повреждён в Windows. Как проверить контрольную сумму файла в Windows
В Windows имеются предустановленные утилиты для расчёта контрольной суммы файлов, в том числе с использованием алгоритма MD5.
Вы можете использовать утилиту Get-FileHash следующим образом:
Get-FileHash FILE -Algorithm MD5
Пример вычисления хеша MD5 для файла 20240804_131135.zip:
Get-FileHash 20240804_131135.zip -Algorithm MD5
Утилита Get-FileHash является частью PowerShell и доступна на всех современных выпусках Windows.
Ещё одна предустановленная утилита для вычисления контрольных сумм файлов, это CertUtil. Чтобы вычислить MD5 хеш с помощью CertUtil используйте команду вида:
CertUtil -hashfile FILE MD5
Например:
CertUtil -hashfile 20240804_131135.zip MD5
Связанные статьи:
- 15 полезных практических примеров команды locate в Linux (50%)
- Как отсортировать в алфавитном порядке в Writer (LibreOffice) (50%)
- Как настроить сочетание клавиш для смены раскладки клавиатуры в Linux LMDE (50%)
- Как при использовании md5sum выводить только хеш без имени файла (50%)
- Как в Double Commander добавить плагин для поддержки всех видов архивов (50%)
- Как перемещать файлы между iPhone и Linux (RANDOM - 9.7%)