Отображение файлов в десятичном, шестнадцатеричном, восьмеричном форматах или в формате ASCII (UNIX)
hd [-8] [-A формат] [-n количество] [-s пропуск] [-t формат[строка_формата]] [-v] [файл...]
- -8
- Использовать 8-битовые символов в коде ASCII (значение по умолчанию – 7).
- -A формат
- Отображать поле смещения файла в указанном формате. Действительные форматы:
- d – десятичный, 9 разрядов;
- n – нет (поле не учитывается);
- o – восьмеричный, 10 разрядов;
- x – шестнадцатеричный, 7 разрядов.
- -n количество
- Отображать только количество байтов ввода, указанное в аргументе количество. С помощью завершающего символа можно указывать единицы: блоки (b), килобайты (k) или мегабайты (m).
- -s пропуск
- Игнорировать количество байтов данных в начале, заданное аргументом пропуск. С помощью завершающего символа можно указывать единицы: блоки (b), килобайты (k) или мегабайты (m).
- -t формат[строка_формата]
- Использовать указанный выходной формат/формат отображения; см. раздел "Выходные форматы". Формат по умолчанию – x1.
- -v
- Вывести расширенную информацию. Если опция -v не указана, утилита hd сворачивает несколько идентичных строк в одну строку, содержащую символ звездочки (*).
- файл
- Путевое имя входного файла. Если файлы не указаны, утилита hd выполняет чтение из стандартного потока ввода. Если в качестве аргумента файл указан дефис (-), утилита hd начинает чтение из стандартного потока ввода с данной точки последовательности.
ЗОСРВ «Нейтрино»
arm, armv7, e2k, mips, ppc, x86
Утилита hd отображает данные в десятичном, шестнадцатеричном, восьмеричном формате или в формате ASCII. Утилита hd (Hex Dump; шестнадцатеричный дамп) названа в соответствии с выходным форматом по умолчанию.
Утилита hd обрабатывает входные данные 16-байтовыми блоками, из которых формируется строка. Выходной формат по умолчанию:
- поле смещения файла выводится в виде шестнадцатеричного числа из 7 разрядов;
- поле смещения файла отделяется от данных пробелом;
- данные отображаются блоками по 16 байтов, разделенных пробелами в шестнадцатеричном формате;
- те же данные также отображаются в ASCII, если они представляют собой печатаемые символы; непечатаемые данные выводятся как точки.
Пример:
$ 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) виде. По умолчанию значения для этих опций указываются в байтах, однако можно указать их в других единицах следующим образом:
- b
- Блоки (512 байтов)
- k
- Килобайты (1024 байта)
- m
- Мегабайты (1 048 576 байтов)
Выходные форматы
Для выбора выходного формата используется опция -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-байтовых значения на строку
- C
-
char
- D
-
double
- F
-
float
- I
-
int
- L
-
long
или long double
(в зависимости от формата) - S
-
short
Просмотр секторов жесткого диска /dev/hd0
со второго по одиннадцатый:
hd -s 1b -n 10b /dev/hd0
- 0
- Все входные файлы обработаны успешно.
- >0
- Возникла ошибка.
Базовые подсистемы ЗОСРВ «Нейтрино», UNIX
od
Предыдущий раздел: Утилиты