hd

Отображение файлов в десятичном, шестнадцатеричном, восьмеричном форматах или в формате ASCII (UNIX)

Синтаксис:

hd [-8] [-A формат] [-n количество] [-s пропуск]

[-t формат[строка_формата]] [-v] [файл...]

Поддерживаемые платформы:

QNX Neutrino, Microsoft Windows

Опции:

-8

Использовать 8-битовые символов в коде ASCII (значение по умолчанию – 7).

-A формат

Отображать поле смещения файла в указанном формате. Действительные форматы:

-n количество

Отображать только количество байтов ввода, указанное в аргументе количество. С помощью завершающего символа можно указывать единицы: блоки (b), килобайты (k) или мегабайты (m).

-s пропуск

Игнорировать количество байтов данных в начале, заданное аргументом пропуск. С помощью завершающего символа можно указывать единицы: блоки (b), килобайты (k) или мегабайты (m).

-t формат[строка_формата]


Использовать указанный выходной формат/формат отображения; см. раздел "Выходные форматы" далее.

Формат по умолчанию – x1.

-v

Вывести расширенную информацию. Если опция -v не указана, утилита hd сворачивает несколько идентичных строк в одну строку, содержащую символ звездочки (*).

файл


Путевое имя входного файла. Если файлы не указаны, утилита hd выполняет чтение из стандартного потока ввода. Если в качестве аргумента файл указан дефис (-), утилита hd начинает чтение из стандартного потока ввода с данной точки последовательности.

Описание:

Утилита hd отображает данные в десятичном, шестнадцатеричном, восьмеричном формате или в формате ASCII. Утилита "hd" (Hex Dump; шестнадцатеричный дамп) названа в соответствии с выходным форматом по умолчанию.

Утилита hd обрабатывает входные данные 16-байтовыми блоками, из которых формируется строка. Выходной формат по умолчанию:
Пример.

$ echo "abcdefghijklmnopqrstuvwxyz01234" | hd

0000000: 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 abcdefghijklmnop

0000010: 71 72 73 74 75 76 77 78 79 7a 30 31 32 33 34 0a qrstuvwxyz01234.

Для исключения части входных данных используются опции -n и -s. Аргументы этих опций можно указать в шестнадцатеричном (с префиксом 0x) или восьмеричном (с префиксом 0) виде. По умолчанию значения для этих опций указываются в байтах, однако можно указать их в других единицах следующим образом:

Единицы

Добавляемый суффикс

Блоки (512 байтов)

b

Килобайты (1024 байта)

k

Мегабайты (1 048 576 байтов)

m


Выходные форматы

Для выбора выходного формата используется опция -t. Аргумент формат, который можно указывать в десятичном, шестнадцатеричном или восьмеричном виде, определяет формат, используемый утилитой hd для представления выводимых данных:

a

Именованные символы. Печатаемые символы выводятся "как есть", а непечатаемые символы – в виде точек (.).

c

Символы. Печатаемые символы выводятся "как есть", а остальные символы – как 2-разрядные шестнадцатеричные значения, за исключением следующих символов:

ASCII-мнемоника

Значение

Представление

NUL

00

\0

(звуковой сигнал)

07

\a

(символ возврата на позицию)

08

\b

(символ табуляции)

09

\t

(символ новой строки)

0a

\n

(символ вертикальной табуляции)

0b

\v

(символ перевода страницы)

0c

\f

(символ возврата каретки)

0d

\r

d[1|2|4|C|S|I|L]

Десятичный формат, в виде объектов размера int по умолчанию.

f[4|8|F|D|L]

Формат с плавающей запятой, в виде объектов размера float по умолчанию.

o[1|2|4|C|S|I|L]

Восьмеричный формат, в виде объектов размера int по умолчанию.

u[1|2|4|C|S|I|L]

Десятичный формат без знака, в виде объектов размера int по умолчанию.

x[1|2|4|C|S|I|L]


Шестнадцатеричный формат, в виде объектов размера int по умолчанию.

Входные данные, преобразованные в результате обработки в 16-байтовые блоки, отформатированные в виде строки, отображаются в соответствии с выбранным размером:

Отображение входных данных

Размер

Шестнадцать 1-байтовых объектов

1

Восемь 2-байтовых объектов

2

Четыре 4-байтовых значения на строку

4

Два 8-байтовых значения на строку

8

char

C

double

D

float

F

int

I

long или long double (в зависимости от формата)

L

short

S


Примеры:

Просмотр секторов жесткого диска /dev/hd0 со второго по одиннадцатый:

hd -s 1b -n 10b /dev/hd0

Статус завершения:

0

Все входные файлы обработаны успешно.

>0

Возникла ошибка.