Новость из категории: Информация

GNU Core Utilities. Часть V

Содержание:
1. Часть I;
2. Часть II;
3. Часть III;
4. Часть IV;
5. Часть V (Вы читаете данный раздел);
6. Часть VI.
GNU Core Utilities. Часть V

Следующая программа — nl (эн-эль). Она добавляет номер к каждой строке. Например, перечислим пару культовых имен мира СПО и посмотрим, как эта программа сохранит их в файл.

GNU Core Utilities. Часть V

Смотрим, что получилось — cat < names:
1.	Ричард Столлман
2. Линус Торвальдс
— имена оказались пронумерованными.

nl позволяет также добавлять заголовок и «подвал». Они по умолчанию не нумеруются (но есть опции, меняющие это правило, см. nl --help). Чтобы выделить разделы, надо использовать такие сочетания символов: ::: (заголовок), :: (тело), : (подвал).

GNU Core Utilities. Часть V

Посмотрим, что получилось.
cat < freeos


GNU Core Utilities. Часть V

Программа od выводит дамп файла в разных числовых форматах: побайтовом, десятичном, восьмеричном, шестнадцатеричном.

Создадим текстовый файл с коротким текстом «GNU/Linux».

GNU Core Utilities. Часть V

И посмотрим, как он выглядит в числовом представлении:
GNU Core Utilities. Часть V

Нечто малопонятное. Дело в том, что по умолчанию дамп отображается в восьмеричном двубайтовом формате. Но при этой записи не видны границы байтов: ведь каждой восьмеричной цифре соответствует триада битов, а в байте битов восемь. Было бы удобнее просмотреть дамп в шестнадцатеричной записи: две шестнадцатеричные цифры четко соответствуют одному байту. Давайте изменим формат. Для этого применяется ключ -t (в полной версии format) с указанием кода формата. Нас интересует шестнадцатеричная запись. Ее код — x.
od -t x gnulinux

Или другой вариант этой команды — od --format=x gnulinux. Обе эти команды должны выдать одинаковый результат.
 0000000 2f554e47 756e694c 00000a78 0000012


Тоже не слишком красноречиво...

GNU Core Utilities. Часть V

Здесь данные представлены как шестнадцатеричные числа из четырех байт. Байты идут либо от младшего к старшему, либо наоборот («тупоконечная»). Для числового вывода текстового файла запись нужна «тупоконечная» — тогда порядок байтов будет соответствовать порядку символов. Увы, команда od выводит шестнадцатеричные числа в «остроконечной» форме. Но к коду формата можно приписать число, задающее длину выводимых чисел в байтах. Так, x1 означает, что выводится по одному байту, x2 — по два байта, x4 — по четыре. Давайте выведем по одному байту — od -t x1 gnulinux или od --format=x1 gnulinux. И вот теперь стало все понятно.
0000000 47 4e 55 2f 4c 69 6e 75 78 0a 0000012

Эти байты являются значениями каждого символа в кодировке ASCII в их шестнадцатеричной записи. Сопоставив каждый символ его числовому значению в ASCII, получим следующее:
0x47 (G), 0x4e (N), 0x55 (U), 0x2f (/), 0x4c (L), 0x69 (i), 0x6e (n), 0x75 (u), 0x78 (x), 0x0a (перевод строки)

Рейтинг статьи

Оценка
5/5
голосов: 1
Ваша оценка статье по пятибальной шкале:
 
 
   

Поделиться

Похожие новости

Комментарии

^ Наверх