Ето пример от реалния живот, когато 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
Canonical шестнадесетичен + ASCII дисплей
Следващата команда hexdump ще покаже входните данни в шестнадесетичен формат. В изхода всеки ред съдържа 16 шестнадесетични байта, разделени с интервал, всеки от които с 2 колони. Следващото съдържание ще бъде същите байтове в % _p формат, затворен в „|“ знаци.
$ hexdump -C
Двубайтово десетично показване
Следващата команда hexdump ще покаже входните данни в шестнадесетичен формат. Във всеки изход всеки ред съдържа 8 отделени от интервала 2 байта единици входни данни, всяка от които има 5 колони и е запълнена с нула, в знак без десетична.
$ hexdump -d
Двубайтово осмично показване
Следващата команда hexdump ще отпечата входните данни в шестнадесетичен формат. Във изхода всеки ред съдържа 8 байта входни данни, разделени с интервал, всеки с 6 колони и запълнени с нула, в осмица.
$ hexdump -o
Двубайтов шестнадесетичен дисплей
Следващата команда hexdump ще отпечата входните данни в шестнадесетичен формат. В изхода всеки ред съдържа 8 байта входни данни, разделени с интервал, всеки с 4 колони и запълнени с нула, в шестнадесетичен формат.
$ hexdump -x
Показване на целия вход
Когато използвате hexdump, той ще замени съдържанието на повтарящи се редове с една звездичка. Ако искате да принудите hexdump да изведе цялото съдържание, използвайте флага “-v”.
$ котешка манекенка.текст$ hexdump -b манекен.текст
$ hexdump -v -b
Ограничено количество байтове
Hexdump поддържа опцията за определяне на определен брой байтове от файл на hexdump. За да посочите сумата, използвайте флага “-s”, последван от сумата на байта.
$ hexdump -s 2 -c
Последна мисъл
Демонстрираните тук примери са начините, по които най-вече ще използвате hexdump. За пълна информация за hexdump, ръководството е един от най-добрите ресурси.
$ man hexdump
Hexdump е мощен инструмент, ако знаете кога и как да го използвате. Инструментите обаче не винаги са отговорът, когато става въпрос за отстраняване на грешки. Вижте как да отстранявате грешки в bash скрипт. Ако сте в NodeJS, проверете как да използвате NodeJS дебъгер.
Наслади се!