Merge branch 'vim-with-runtime' into feat/quickfix-title
[vim_extended.git] / runtime / doc / xxd-ru.UTF-8.1
blob647845bab4af3f6f3d413338b075bb7244b0b47d
1 .TH XXD 1 "August 1996" "Страница man для xxd"
2 .\"
3 .\" 21st May 1996
4 .\" Man page author:
5 .\"    Tony Nugent <tony@sctnugen.ppp.gu.edu.au> <T.Nugent@sct.gu.edu.au>
6 .\"    Changes by Bram Moolenaar <Bram@vim.org>
7 .SH ИМЯ
8 .I xxd
9 \- создаёт представление файла в виде шестнадцатеричных кодов или выполняет
10 обратное преобразование.
11 .SH КОМАНДНАЯ СТРОКА
12 .B xxd
13 \-h[elp]
14 .br
15 .B xxd
16 [ключи] [входной_файл [выходной_файл]]
17 .br
18 .B xxd
19 \-r[evert] [ключи] [входной_файл [выходной_файл]]
20 .SH ОПИСАНИЕ
21 .I xxd
22 создаёт представление указанного файла или данных, прочитанных из потока
23 стандартного ввода, в виде шестнадцатеричных кодов. Эта команда также может
24 выполнить обратное преобразование заданных шестнадцатеричными кодами данных
25 в исходный бинарный формат.
26 Подобно командам
27 .BR uuencode(1)
29 .BR uudecode(1),
30 она позволяет выполнять преобразование бинарных данных в ASCII-код, 
31 который можно передавать по электронной почте, однако, помимо этого, программа
32 xxd позволяет выполнять декодирование в поток стандартного вывода,
33 а также может применяться для создания заплаток для бинарных файлов.
34 .SH КЛЮЧИ ЗАПУСКА
35 Если
36 .I входной_файл
37 не задан, то соответствующие данные читаются из потока стандартного ввода.
38 В случае, если в качестве
39 .I входного_файла
40 используется символ
41 .RB \` \- ',
42 источником данных также выступает поток стандартного ввода.
43 В том случае, если не указан
44 .I выходной_файл
45 (или вместо него используется символ
46 .RB \` \- '
47 ), результат преобразования направляется в поток стандартного вывода.
48 .PP
49 Обратите внимание, что используется "ленивый" алгоритм разбора ключей, который не
50 проверяет более одной буквы ключа, если в этом ключе не используется параметр.
51 Пробелы между единственным символом ключа и соответствующим параметром не являются
52 обязательными. Параметры ключей могут быть заданы с использованием десятичного,
53 шестнадцатеричного или восьмеричного формата.
54 Таким образом, ключи
55 .BR \-c8 ,
56 .BR "\-c 8" ,
57 .B \-c 010
59 .B \-cols 8
60 являются равнозначными.
61 .PP
62 .TP
63 .IR \-a " | " \-autoskip
64 Включает автоматический пропуск: вместо последовательности
65 нулевых строк используется одиночный символ '*'. По умолчанию
66 не применяется.
67 .TP
68 .IR \-b " | " \-bits
69 Вместо шестнадцатеричного кода используются биты (двоичные цифры).
70 При использовании этого ключа вместо обычного шестнадцатеричного представления
71 октетов используются наборы из восьми символов "1" и "0". Каждая строка
72 предваряется номером строки в шестнадцатеричном виде, а завершается символьным 
73 представлением (в виде ascii или ebcdic). Ключи \-r, \-p, \-i в этом режиме
74 не работают.
75 .TP
76 .IR "\-c кол " | " \-cols кол"
77 Задаёт количество октетов
78 .RI < кол >,
79 которое выводится на каждой строке. По умолчанию используется значение 16 
80 (\-i: 12, \-ps: 30, \-b: 6). 
81 Максимально допустимое значение: 256.
82 .TP
83 .IR \-E " | " \-EBCDIC
84 Изменяет способ кодирования символов в правой колонке с ASCII на EBCDIC. Этот ключ
85 не изменяет шестнадцатеричное представление. Данный ключ не имеет смысла,
86 если используются ключи \-r, \-p или \-i.
87 .TP
88 .IR "\-g байт " | " \-groupsize байт"
89 Позволяет выполнять группировку указанного количества
90 .RI < байтов >
91 (две шестнадцатеричные цифры или восемь битов), отделяя группы друг от друга пробелами.
92 Значение
93 .I \-g 0 
94 применяется для отказа от использования группировки.
95 По умолчанию используется значение
96 .RI < байт "> равное " 2
97 в обычном режиме и \fI1\fP в битовом режиме. Группировка не применяется
98 в режимах postscript и include.
99 .TP
100 .IR \-h " | " \-help
101 Выводит справку по доступным ключам командной строки и завершает работу программы.
102 Создание шестнадцатеричного представления не выполняется.
104 .IR \-i " | " \-include
105 Позволяет создавать вывод в стиле подключаемых заголовочных файлов языка C.
106 Вывод содержит полноценное определение статического массива данных, имя которого
107 соответствует имени входного файла, если xxd не считывает данные из потока стандартного
108 ввода.
110 .IR "\-l длина " | " \-len длина"
111 Завершает работу после записи заданного в параметре
112 .RI  < длина >
113 количества октетов.
115 .IR \-p " | " \-ps " | " \-postscript " | " \-plain
116 Использует непрерывный формат вывода шестнадцатеричного кода, 
117 известный как "простой" стиль или стиль "postscript".
119 .IR \-r " | " \-revert
120 Изменяет смысл операции на противоположный: позволяет выполнять преобразование 
121 шестнадцатеричного представления в бинарный код (или применять результат в качестве заплаты).
122 Если вывод происходит не в поток стандартного вывода, то xxd выполняет добавление кода 
123 к соответствующему файлу. При использовании комбинации ключей
124 .I \-r \-p
125 происходит чтение "простого" шестнадцатеричного представления без использования
126 информации о номерах строк и какого-либо специального раскроя колонок. Пробелы 
127 и символы новой строки могут встречаться в любом месте исходных данных.
129 .I \-seek смещение
130 При использовании после ключа
131 .I \-r
132 : добавлять указанное
133 .RI < смещение >
134 к файловым позициям, обнаруженным в исходных данных.
136 .I \-s [\+][\-]seek
137 Начинает работу с указанного абсолютного (или относительного)
138 .RI < смещения >
139 в байтах во входном_файле.
140 \fI\+ \fRуказывает, что смещение является относительным по отношению
141 к текущей файловой позиции в потоке стандартного ввода (бессмысленно, если чтение
142 происходит не из потока стандартного ввода). \fI\- \fRуказывает, что должно быть прочитано
143 указанное количество символов от конца ввода (либо, если сочетается с \fI \+ \fR: 
144 перед текущей позиции файла в потоке стандартного ввода).
145 Если ключ \-s не используется, то xxd начинает работу от текущей позиции в файле.
147 .I \-u
148 Использует шестнадцатеричные цифры в верхнем регистре. По умолчанию используются цифры в
149 нижнем регистре символов.
151 .IR \-v " | " \-version
152 Отображает информацию о версии программы.
153 .SH ПОДВОДНЫЕ КАМНИ
155 .I xxd \-r
156 обладает встроенным интеллектом для распознавания информации о номерах строк.
157 Если возможен поиск по входному файлу, то номера строк в начале каждой строки
158 шестнадцатеричного представления могут быть неупорядоченными, некоторые строки могут
159 быть пропущены или пересекаться друг с другом. В этих случаях xxd использует
160 lseek(2) для перехода к следующей позиции. Если поиск по входному файлу 
161 невозможен, то допустимы только пропуски строк, которые заполняются нулевыми 
162 байтами.
164 .I xxd \-r
165 никогда не выводит сообщений об ошибках. Мусор пропускается молча.
167 При редактировании шестнадцатеричных представлений бинарных файлов обращайте 
168 внимание, что 
169 .I xxd \-r
170 пропускает в строке ввода любые данные после прочтения достаточного количества 
171 колонок шестнадцатеричных данных (см. ключ \-c). Это означает, что изменения,
172 внесенные в колонки с печатными символами ascii (или ebcdic), всегда игнорируются.
173 При обратном преобразовании шестнадцатеричного представления в стиле
174 postscript с помощью команды xxd \-r \-p количество колонок не учитывается. 
175 В этом случае распознаются все символы, которые похожи на пары шестнадцатеричных цифр.
177 Обратите внимание на различие между командами
179 \fI% xxd \-i файл\fR
183 \fI% xxd \-i \< файл\fR
185 Команда
186 .I xxd \-s \+seek
187 может отличаться от
188 .I xxd \-s seek,
189 поскольку для того, чтобы "отмотать" данные на входе назад, используется вызов lseek(2).
190 При использовании `+' поведение будет отличаться, если входные данные
191 поступают с потока стандартного ввода, а позиция в файле стандартного ввода не находится
192 в начале файла к тому моменту, когда программа xxd запущена и приступает к чтению ввода.
193 Нижеследующие примеры помогут прояснить (или ещё больше запутать!) ситуацию...
195 Отмотка назад потока стандартного ввода; необходимо, поскольку 'cat' уже выполнила
196 чтение до конца потока стандартного ввода:
198 \fI% sh \-c 'cat > plain_copy; xxd \-s 0 > hex_copy' < file
200 Вывод шестнадцатеричного представления от позиции в файле 0x480 
201 (= 1024+128).
202 Символ `+' означает "относительно текущей позиции", таким образом `128' добавляется
203 к первому килобайту, где завершает работу dd:
205 \fI% sh \-c 'dd of=plain_snippet bs=1k count=1; xxd \-s +128 > hex_snippet' < file
207 Вывод шестнадцатеричного представления от позиции в файле 0x100 
208 (= 1024-768):
210 \fI% sh \-c 'dd of=plain_snippet bs=1k count=1; xxd \-s +-768 > hex_snippet' < file
212 В то же время, следует заметить, что подобные ситуации встречаются довольно редко,
213 так что символ `+' обычно не используется. Автор предпочитает наблюдать за работой 
214 xxd с помощью strace(1) или truss(1) в тех случаях, когда применяется ключ
215 \-s.
216 .SH ПРИМЕРЫ
219 Вывести всё, кроме первых трёх строк (0x30 байтов) файла
220 .B file
223 \fI% xxd \-s 0x30 file
226 Вывести три строки (0x30 байтов) от конца файла
227 .B file
230 \fI% xxd \-s \-0x30 file
233 Вывести 120 байтов в виде непрерывного шестнадцатеричного представления
234 по 20 октетов в строке:
236 \fI% xxd \-l 120 \-ps \-c 20 xxd.1\fR
238 2e544820585844203120224d616e75616c207061
240 676520666f7220787864220a2e5c220a2e5c2220
242 32317374204d617920313939360a2e5c22204d61
244 6e207061676520617574686f723a0a2e5c222020
246 2020546f6e79204e7567656e74203c746f6e7940
248 7363746e7567656e2e7070702e67752e6564752e
252 Вывести первые 120 байтов этой страницы справочника по 12 октетов в строке:
254 \fI% xxd \-l 120 \-c 12 xxd.1\fR
256 0000000: 2e54 4820 5858 4420 3120 224d  .TH XXD 1 "M
258 000000c: 616e 7561 6c20 7061 6765 2066  anual page f
260 0000018: 6f72 2078 7864 220a 2e5c 220a  or xxd"..\\".
262 0000024: 2e5c 2220 3231 7374 204d 6179  .\\" 21st May
264 0000030: 2031 3939 360a 2e5c 2220 4d61   1996..\\" Ma
266 000003c: 6e20 7061 6765 2061 7574 686f  n page autho
268 0000048: 723a 0a2e 5c22 2020 2020 546f  r:..\\"    To
270 0000054: 6e79 204e 7567 656e 7420 3c74  ny Nugent <t
272 0000060: 6f6e 7940 7363 746e 7567 656e  ony@sctnugen
274 000006c: 2e70 7070 2e67 752e 6564 752e  .ppp.gu.edu.
277 Показать дату из файла xxd.1:
279 \fI% xxd \-s 0x28 \-l 12 \-c 12 xxd.1\fR
281 0000028: 3231 7374 204d 6179 2031 3939  21st May 199
284 Скопировать
285 .B входной_файл
287 .B выходной_файл
288 с добавлением 100 байтов со значением 0x00 в начало файла:
290 \fI% xxd входной_файл | xxd \-r \-s 100 \> выходной_файл\fR
294 Заменить дату в файле xxd.1:
296 \fI% echo '0000029: 3574 68' | xxd \-r \- xxd.1\fR
298 \fI% xxd \-s 0x28 \-l 12 \-c 12 xxd.1\fR
300 0000028: 3235 7468 204d 6179 2031 3939  25th May 199
303 Создать 65537-байтный файл, все байты которого имеют значение
304 0x00, кроме последнего байта, который должен иметь значение 'A'
305 (0x41):
307 \fI% echo '010000: 41' | xxd \-r \> file\fR
310 Создать шестнадцатеричное представление этого файла с 
311 использованием автоматического пропуска:
313 \fI% xxd \-a \-c 12 file\fR
315 0000000: 0000 0000 0000 0000 0000 0000  ............
319 000fffc: 0000 0000 40                   ....A
321 Создать 1-байтный файл, содержащий символ 'A'.
322 Число после '\-r \-s' добавляется к номерам строк, найденным в файле;
323 иначе говоря, предшествующие байты пропускаются:
325 \fI% echo '010000: 41' | xxd \-r \-s \-0x10000 \> file\fR
327 xxd можно использовать в качестве фильтра в редакторе, например в 
328 .B vim(1),
329 чтобы создать шестнадцатеричное представление области между
330 отметками `a' и `z':
332 \fI:'a,'z!xxd\fR
334 Вы можете использовать xxd в качестве фильтра в редакторе, например в 
335 .B vim(1),
336 для восстановления данных из шестнадцатеричного представления
337 между отметками `a' и `z':
339 \fI:'a,'z!xxd \-r\fR
341 Вы можете использовать xxd в качестве фильтра в редакторе, например в
342 .B vim(1),
343 для восстановления данных из единственной строки
344 шестнадцатеричного представления. Поместите курсор в соответствующую строку
345 и наберите
347 \fI!!xxd \-r\fR
349 Чтобы прочитать единственный символ из канала связи:
351 \fI% xxd \-c1 < /dev/term/b &\fR
353 \fI% stty < /dev/term/b \-echo \-opost \-isig \-icanon min 1\fR
355 \fI% echo \-n foo > /dev/term/b\fR
357 .SH ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
358 Программа xxd завершает работу со следующими значениями:
361 Ошибки не обнаружены.
364 Операция не поддерживается (выполнение
365 .I xxd \-r \-i
366 пока невозможно).
369 Ошибка при разборе ключей командной строки.
372 Проблемы во входном файле.
375 Проблемы в выходном файле.
378 Желательная позиция поиска недостижима.
379 .SH СМОТРИ ТАКЖЕ
380 uuencode(1), uudecode(1), patch(1)
382 .SH ПРЕДУПРЕЖДЕНИЕ
383 Странность этой программы соответствует особенностям мозга её создателя.
384 Используйте её на свой страх и риск. Копируйте файлы, отслеживайте
385 вызовы, становитесь волшебником.
387 .SH ВЕРСИЯ
388 Эта страница справочника документирует xxd версии 1.7.
389 .SH АВТОР
391 (c) 1990-1997 Юрген Вайгерт (Juergen Weigert)
393 <jnweiger@informatik.uni-erlangen.de>
395 Вы можете свободно распространять программу со ссылкой на меня.
397 Если использование этой программы принесло вам какой-то доход,
398 поделитесь со мной.
400 Если вы потеряли деньги, то я тут не причём.
402 Первый вариант страницы справочника написан Тони Наджентом (Tony Nugent)
404 <tony@sctnugen.ppp.gu.edu.au> <T.Nugent@sct.gu.edu.au>
406 Небольшие изменения внесены Брамом Мооленааром (Bram Moolenaar).
407 Страница отредактирована Юргеном Вайгертом (Juergen Weigert).