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