Обзор
hexdump считывает содержимое файла по 8-битным байтам и выводит его в шестнадцатеричном формате. Эта команда используется для визуального анализа содержимого двоичных файлов, таких как исполняемые файлы, изображения и аудиофайлы. Даже содержимое, которое выглядит искаженным при открытии в обычном текстовом редакторе, может быть просмотрено с помощью hexdump, включая смещения (позиции), шестнадцатеричные значения и, при возможности, ASCII-строки, что значительно помогает в понимании структуры файла.
Основные особенности
Основные особенности команды hexdump:
- Выводит содержимое файла в различных форматах, таких как шестнадцатеричный, восьмеричный, десятичный.
- Подходит для анализа содержимого двоичных файлов.
- Позволяет указать формат вывода для получения результатов в желаемом виде.
- Может использоваться с конвейером (`|`) для анализа вывода других команд.
Формат вывода
Вывод hexdump обычно состоит из трех частей.
- Смещение (Offset): Показывает количество байтов от начала файла до текущей позиции. По умолчанию выводится в шестнадцатеричном формате.
- Байтовые данные: Показывает фактические байтовые значения содержимого файла в шестнадцатеричном формате.
- ASCII-строки: Преобразует байтовые данные в читаемые ASCII-символы. Непечатаемые символы отображаются точкой (.).
Основные опции
Часто используемые опции команды hexdump сгруппированы по назначению.
1) Опции вывода
2) Справка
Сгенерированная команда:
Комбинируйте команды.
Описание:
`hexdump` Запускает команду.
Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.
Примеры использования
Изучите функциональность команды hexdump на различных примерах использования.
Вывод содержимого файла в каноническом формате
hexdump -C /bin/cat | head
Наиболее часто используемый формат; выводит начальную часть файла `/bin/cat` в каноническом формате.
Вывод с определенной позиции файла
hexdump -C -s 0x20 -n 32 hexdump.test
Выводит 32 байта содержимого файла `hexdump.test`, начиная с шестнадцатеричного смещения `0x20`.
Проверка специальных символов
echo 'Hello\nWorld' | hexdump -C
Проверяет содержимое текстового файла, содержащего символ новой строки (`\n`), в шестнадцатеричном формате. `0a` — это шестнадцатеричное значение символа новой строки.
Использование с конвейером (|)
strings /bin/cat | hexdump -C
Передает вывод команды `strings` в `hexdump` для анализа шестнадцатеричных значений извлеченных строк.
Советы и примечания
Здесь собраны важные моменты, на которые следует обратить внимание при использовании команды hexdump.
Советы
- `hexdump` — очень мощный инструмент для работы с двоичными файлами. Вы можете определить тип файла, проверив его заголовок или определенные байтовые значения.
- Вывод всего двоичного файла может привести к зависанию терминала, поэтому рекомендуется использовать опцию `-n` или команду `head`.
- Команда `od` (`octal dump`) похожа на `hexdump` и по умолчанию выводит данные в восьмеричном формате.