Вот реальный пример, когда hexdump может быть полезен. Если вы работаете с двоичными данными, это будет очень сложно понять. Для удобства вы можете быстро преобразовать двоичные данные в шестнадцатеричные или десятичные.
В этом руководстве вы узнаете, как использовать команду hexdump в Linux.
Hexdump в Linux
Hexdump - простая, но полезная программа, написанная на языке C. Вот почему профессиональные программисты на C могут легко использовать его. Однако, даже если у вас нет опыта программирования на C, вы все равно можете использовать hexdump для своих целей.
Hexdump предустановлен в любом дистрибутиве Linux. В этом руководстве я буду использовать Ubuntu в демонстрационных целях.
Использование Hexdump
Для демонстрации использования hexdump я создал образец текстового файла-пустышки.текст.
пустышка.текст
Мы передадим этот файл в hexdump, чтобы преобразовать его содержимое в различные форматы вывода.
Однобайтовый восьмеричный дисплей
Следующая команда hexdump распечатает входные данные в шестнадцатеричном формате. В выводе каждая строка содержит 16 байтов входных данных, разделенных пробелами, каждый из которых имеет 3 столбца и заполнен нулями в восьмеричном формате.
$ hexdump -b
Отображение однобайтовых символов
Следующая команда hexdump отобразит входные данные в шестнадцатеричном формате. В выводе каждая строка содержит 16 символов входных данных, разделенных пробелами, каждый из которых имеет 3 столбца и заполнен пробелами.
$ hexdump -c
Канонический шестнадцатеричный + ASCII-дисплей
Следующая команда hexdump отобразит входные данные в шестнадцатеричном формате. В выходных данных каждая строка содержит 16 шестнадцатеричных байтов, разделенных пробелами, по 2 столбца в каждом. Следующее содержимое будет такими же байтами в %_п формат заключен в "|" символы.
$ hexdump -C
Двухбайтовый десятичный дисплей
Следующая команда hexdump отобразит входные данные в шестнадцатеричном формате. В выводе каждая строка содержит 8 разделенных пробелом двухбайтовых блоков входных данных, каждая из которых имеет 5 столбцов и заполнена нулями, в десятичном формате без знака.
$ hexdump -d
Двухбайтовый восьмеричный дисплей
Следующая команда hexdump распечатает входные данные в шестнадцатеричном формате. В выводе каждая строка содержит 8 разделенных пробелами 2 байта входных данных, каждый с 6 столбцами и заполненными нулями, в восьмеричном формате.
$ hexdump -o
Двухбайтовый шестнадцатеричный дисплей
Следующая команда hexdump распечатает входные данные в шестнадцатеричном формате. В выводе каждая строка содержит 8 разделенных пробелами 2 байта входных данных, каждый с 4 столбцами и заполненными нулями, в шестнадцатеричном формате.
$ hexdump -x
Показать весь ввод
При использовании hexdump он заменяет содержимое повторяющихся строк одной звездочкой. Если вы хотите заставить hexdump выводить все содержимое, используйте флаг «-v».
пустышка.текст$ hexdump -b фиктивный.текст
$ hexdump -v -b
Ограничить количество байтов
Hexdump поддерживает опцию определения определенного количества байтов из файла в hexdump. Чтобы указать количество, используйте флаг «-s», за которым следует количество байтов.
$ hexdump -s 2 -c
Последняя мысль
В примерах, показанных здесь, вы в основном будете использовать hexdump. Для получения полной информации о hexdump, man-страница - один из лучших ресурсов.
$ man hexdump
Hexdump - мощный инструмент, если вы знаете, когда и как его использовать. Однако инструменты не всегда являются ответом на отладку. Узнайте, как отлаживать сценарий bash. Если вам нравится NodeJS, узнайте, как использовать отладчик NodeJS.
Наслаждаться!