hexdump – Команда Linux – Команда Unix

hexdump – ascii, десятичный, шестнадцатеричный, восьмеричный дамп

конспект

[- bcCdovx ] -words [- e format_string ] -words [- f format_file ] -words [- n длина ] -words [- s пропустить ] файл. ..

Описание

Утилита hexdump представляет собой фильтр, который отображает указанные файлы или стандартный ввод, если файлы не указаны, в указанном пользователем формате.

Возможны следующие варианты:

-b

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

-c

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

-C

Канонический шестнадцатеричный + ASCII-дисплей Показать смещение ввода в шестнадцатеричном формате, за которым следуют шестнадцать разделенных пробелами двух столбцов шестнадцатеричных байтов, за которыми следуют те же шестнадцать байтов в формате% _p, заключенные в символы “ | ” ,

-d

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

-e format_string

Укажите строку формата, которая будет использоваться для отображения данных.

-f format_file

Укажите файл, который содержит одну или несколько строк формата, разделенных символом новой строки. Пустые строки и строки, первым непустым символом которых является хеш-метка ( # , игнорируются.

-n Длина

Интерпретировать только длину байтов ввода.

-o

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

-s смещение

Пропустить смещение байтов от начала ввода. По умолчанию смещение интерпретируется как десятичное число. С начальным 0x или 0X смещение интерпретируется как шестнадцатеричное число, в противном случае с начальным 0 Смещение интерпретируется как восьмеричное число. Добавление символа b k или m к смещению приводит к его интерпретации как кратное 512 1024 или 1048576 соответственно.

-v

Опция – v заставляет hexdump отображать все входные данные. Без параметра – v любое количество групп выходных строк, которые будут идентичны непосредственно предшествующей группе выходных строк (за исключением входных смещений), заменяется строкой, состоящей из одного звездочка.

-x

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

Для каждого входного файла последовательно копирует входные данные в стандартный вывод, преобразуя данные в соответствии со строками формата, заданными параметрами – e и – f , в том порядке, в котором они были указаны.

Форматы

Строка формата содержит любое количество единиц формата, разделенных пробелами. Единица формата содержит до трех элементов: счетчик итераций, счетчик байтов и формат.

Счетчик итераций является необязательным положительным целым числом, по умолчанию равным единице. К каждому формату применяется количество итераций.

Число байтов является необязательным положительным целым числом. Если указан, он определяет количество байтов, которые будут интерпретироваться каждой итерацией формата.

Если указан счетчик итераций и/или счетчик байтов, после счетчика итераций и/или до счетчика байтов необходимо поместить один слеш, чтобы устранить их неоднозначность. Любые пробелы до или после косой черты игнорируются.

Формат обязателен и должен быть заключен в двойные кавычки (“”). Он интерпретируется как строка формата в стиле fprintf (см. Fprintf (3)), со следующими исключениями:

  • Звездочка (*) не может использоваться в качестве ширины или точности поля.
  • Счетчик байтов или точность поля требуется для каждого символа преобразования “ s ” (в отличие от значения по умолчанию fprintf (3), которое печатает всю строку, если точность не указана).
  • Символы преобразования “ h ”, “ l ”, “ n ”, “ p ” и “ q ” не поддерживаются.
  • Поддерживаются escape-последовательности из одного символа, описанные в стандарте C:
    •   NUL \ 0  
    •   \ а  
    •   \ Ь  
    •   \ е  
    •   \ п  
    •   \ г  
    •   \ т  
    •   \ v  

Hexdump также поддерживает следующие дополнительные строки преобразования:

[ DOX ]

Отображение входного смещения, накопленного по входным файлам, следующего отображаемого байта. Добавленные символы d o и x определяют основание дисплея как десятичное, восьмеричное или шестнадцатеричное соответственно.

[ DOX ]

Идентичен строке преобразования _a , за исключением того, что она выполняется только один раз, когда все входные данные обработаны.

_c

Выведите символы в наборе символов по умолчанию. Непечатаемые символы отображаются в виде трехбуквенных восьмеричных символов, за исключением тех, которые представлены стандартными escape-обозначениями (см. Выше), которые отображаются в виде двухсимвольных строк.

_p

Выведите символы в наборе символов по умолчанию. Непечатаемые символы отображаются как один “ .

_u

Выведите символы ASCII США, за исключением того, что управляющие символы отображаются с использованием следующих строчных имен. Символы больше 0xff, шестнадцатеричные, отображаются в виде шестнадцатеричных строк.

000 nul 001 soh 002 stx 003 etx 004 eot 005 enq

006 ack 007 бел 008 bs 009 ht 00A lf 00B vt

00C ff 00D cr 00E, поэтому 00F si 010 dle 011 dc1

012 DC2 013 DC3 014 DC4 015 Nak 016 Syn 017 ETB

018 банок 019 em 01A sub 01B esc 01C fs 01D gs

01E 01F us 0FF del

Значения байтов по умолчанию и поддерживаемых байтов для символов преобразования следующие:

% _ c,% _p,% _u,% c

Один байт считается только.

% d,% i,% o % u,% X,% x

Поддерживается четыре байта по умолчанию, один, два и четыре байта.

% E,% e,% f % G,% g

Восемь байтов по умолчанию, поддерживается четыре байта.

Количество данных, интерпретируемое каждой строкой формата, является суммой данных, требуемых каждой единицей формата, которая представляет собой число итераций, умноженное на количество байтов, или число итераций, умноженное на количество байтов, требуемое форматом, если число байтов не указано.

Входные данные обрабатываются в «блоках», где блок определяется как наибольшее количество данных, указанное в любой строке формата. Строки форматирования интерпретируют меньше данных входного блока, последний блок форматирования которых интерпретирует некоторое количество байтов и не имеет заданного числа итераций, увеличивают счетчик итераций до тех пор, пока не будет обработан весь входной блок или не будет достаточно данных оставаясь в блоке, чтобы удовлетворить формат строки.

Если в результате пользовательской спецификации или hexdump, изменяющего счетчик итераций, как описано выше, счетчик итераций больше единицы, во время последней итерации никакие завершающие пробельные символы не выводятся.

Ошибочно указывать количество байтов, а также несколько символов или строк преобразования, если только все символы, кроме одного, или строки преобразования не являются _a или _A .

Если в результате задания параметра – n или достижения конца файла входные данные только частично удовлетворяют строке формата, входной блок дополняется нулями в достаточной степени, чтобы отобразить все доступные данные (т.е. любые единицы формата, перекрывающие конец данных, будут отображать некоторое количество нулевых байтов).

Дальнейший вывод строк такого формата заменяется эквивалентным количеством пробелов. Эквивалентное количество пробелов определяется как количество пробелов, выводимых символом преобразования s с той же шириной поля и точностью, что и исходный символ преобразования или строка преобразования, но с любым “ + ” “ ” “ # ” удалены символы флагов преобразования и со ссылкой на пустую строку.

Если строки формата не указаны, отображение по умолчанию эквивалентно указанию параметра – x .

в случае успеха выходит 0 и> 0 в случае ошибки.

ПРИМЕРЫ

Отображение ввода в прочтенном формате:

 
 "% 06.6_ao" 12/1 "% 3_u" 

 "\ t \ t" "% _p" 

 "\ п" 

Реализуйте опцию -x:

 
 "% 07.7_Ax \ п" 

 "% 07.7_ax "8/2"% 04x "" \ n "

стандарты

Ожидается, что утилита будет совместима с St -p1003.2.

Оцените статью
Solutics.ru
Добавить комментарий