Главная > Управление файлами и каталогами > sum

sum: Расчет контрольной суммы и количества блоков файла

Команда sum вычисляет 16-битную контрольную сумму файла и количество блоков по 1 КБ. Она в основном используется для простой проверки целостности файла или для быстрого сравнения того, изменился ли файл.

Обзор

Команда sum вычисляет контрольную сумму (checksum) и количество блоков (block) для указанного файла и выводит их в стандартный вывод. Эти значения могут использоваться для быстрой проверки того, изменилось ли содержимое файла. По умолчанию расчет производится с использованием блоков по 512 байт в режиме совместимости с BSD.

Основные характеристики

  • Расчет 16-битной контрольной суммы файла
  • Расчет количества блоков файла (по умолчанию 512 байт или 1 КБ)
  • Простая проверка целостности файла и изменений
  • Поддержка режимов совместимости с BSD и System V

Основные опции

Команда sum предоставляет несколько опций для изменения способа расчета контрольной суммы.

Режим контрольной суммы

Сгенерированная команда:

Комбинируйте команды.

Описание:

`sum` Запускает команду.

Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.

Примеры использования

Узнайте, как использовать команду sum для расчета контрольной суммы и количества блоков файла различными способами.

Расчет базовой контрольной суммы (режим BSD)

echo 'Hello World' > testfile.txt
sum testfile.txt

Рассчитывает базовую (BSD) контрольную сумму и количество блоков файла. (Создайте testfile.txt и выполните команду)

Расчет контрольной суммы в режиме System V

sum -s testfile.txt

Рассчитывает контрольную сумму и количество блоков файла в режиме совместимости с System V.

Расчет контрольной суммы для нескольких файлов

echo 'Another file' > anotherfile.txt
sum testfile.txt anotherfile.txt

Одновременно рассчитывает контрольные суммы для нескольких файлов.

Расчет контрольной суммы из стандартного ввода

echo 'Data from stdin' | sum

Рассчитывает контрольную сумму данных, передаваемых через конвейер в стандартный ввод.

Советы и предостережения

Команда sum подходит для простых задач, но для современных проверок целостности файлов рекомендуется использовать более мощные инструменты.

Предупреждение о безопасности

16-битная контрольная сумма, генерируемая sum, имеет высокую вероятность коллизий. Это означает, что два файла с разным содержимым могут иметь одинаковую контрольную сумму. Поэтому она не подходит для проверки целостности важных данных.

  • Низкая безопасность: 16-битная контрольная сумма уязвима к коллизиям, что затрудняет обнаружение злонамеренных изменений.
  • Ограниченное применение: В основном используется для некритичных задач, таких как быстрая проверка изменений файлов во время разработки.

Альтернативные команды

Для более надежной и безопасной проверки целостности файлов рекомендуется использовать следующие команды:

  • md5sum: Вычисляет хэш MD5 (32-значное шестнадцатеричное число).
  • sha1sum: Вычисляет хэш SHA-1 (40-значное шестнадцатеричное число).
  • sha256sum: Вычисляет хэш SHA-256 (64-значное шестнадцатеричное число).
  • cksum: Вычисляет контрольную сумму CRC32. Более надежна, чем sum, но менее надежна, чем семейство md5/sha.

Понимание размера блока

Количество блоков в команде sum — это размер файла, деленный на размер блока. Режим BSD использует 512 байт, а режим System V — 1024 байта (1 КБ).

  • Блок BSD: 512 байт (по умолчанию)
  • Блок System V: 1024 байта (1 КБ)


Те же команды в категории