Главная > Обработка текста и поиск > xxd

xxd: Создание и обратное преобразование шестнадцатеричных дампов

xxd — это утилита для создания дампов содержимого файлов или стандартного ввода в шестнадцатеричном формате, а также для преобразования шестнадцатеричных дампов обратно в двоичный формат. Он в основном используется для просмотра или изменения содержимого двоичных файлов и полезен для отладки или анализа данных.

Обзор

xxd создает дамп, отображающий данные в шестнадцатеричном и ASCII представлениях одновременно. Он также предоставляет функцию преобразования таких дампов обратно в исходные двоичные данные.

Основные функции

  • Создание шестнадцатеричного дампа файла или стандартного ввода
  • Обратное преобразование шестнадцатеричного дампа в двоичный файл
  • Начало дампа с определенного смещения
  • Управление форматом вывода дампа

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

Основные опции команды xxd следующие:

Формат и управление дампом

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

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

Описание:

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

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

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

Различные примеры использования команды xxd.

Базовый шестнадцатеричный дамп файла

echo 'Hello World!' > test.txt
xxd test.txt

Создает дамп содержимого указанного файла в шестнадцатеричном и ASCII представлениях.

Обратное преобразование шестнадцатеричного дампа в двоичный файл

echo '00000000: 4865 6c6c 6f20 576f 726c 6421 0a    Hello World!.\n' > hex_dump.txt
xxd -r hex_dump.txt > restored.txt
cat restored.txt

Восстанавливает исходный двоичный файл из шестнадцатеричного дампа, созданного xxd.

Вывод по 8 байт в строке

echo 'This is a test string for xxd.' > test.txt
xxd -c 8 test.txt

Настраивает вывод по 8 байт в строке вместо 16.

Дамп первых 20 байт файла

echo 'This is a longer test string for xxd to demonstrate the length option.' > test.txt
xxd -l 20 test.txt

Дампирует файл только до первых 20 байт.

Начало дампа с указанного смещения

echo 'abcdefghijklmnopqrstuvwxyz' > test.txt
xxd -s 5 test.txt

Начинает дамп с 5-го байта файла.

Перенаправление вывода в файл

echo 'Sample data' > input.txt
xxd input.txt > output.hex

Сохраняет вывод xxd в отдельный файл. (xxd не поддерживает опцию -o.)

Советы и замечания

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

Недопонимание опции '-o'

Многие команды используют опцию '-o' для указания выходного файла, но xxd не поддерживает опцию '-o'. Чтобы сохранить вывод xxd в файл, используйте перенаправление оболочки (`>`).

  • Правильное использование: xxd [опции] <входной_файл> > <выходной_файл>
  • Пример: xxd my_binary > my_binary.hex

Сравнение с другими инструментами дампа

Помимо xxd, существуют и другие инструменты для создания дампов, такие как hexdump и od. Рекомендуется понимать особенности каждого и выбирать подходящий инструмент в зависимости от ситуации.

  • **xxd**: Одновременный вывод в шестнадцатеричном и ASCII формате, функция обратного преобразования (входит в пакет vim)
  • **hexdump**: Поддерживает различные форматы вывода (шестнадцатеричный, восьмеричный, десятичный и т.д.), функция обратного преобразования отсутствует
  • **od (octal dump)**: В основном используется для восьмеричных дампов, но поддерживает различные форматы

Использование конвейера

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

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

ls -l | xxd

Создает дамп вывода команды ls -l с помощью xxd.


Связанные команды

Функционально схожие или часто используемые команды.



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