summaryrefslogtreecommitdiff
path: root/runtime/doc/xxd-ru.1
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/doc/xxd-ru.1')
-rw-r--r--runtime/doc/xxd-ru.1408
1 files changed, 408 insertions, 0 deletions
diff --git a/runtime/doc/xxd-ru.1 b/runtime/doc/xxd-ru.1
new file mode 100644
index 000000000..9c2f92d3d
--- /dev/null
+++ b/runtime/doc/xxd-ru.1
@@ -0,0 +1,408 @@
+.TH XXD 1 "August 1996" "Страница man для xxd"
+.\"
+.\" 21st May 1996
+.\" Man page author:
+.\" Tony Nugent <tony@sctnugen.ppp.gu.edu.au> <T.Nugent@sct.gu.edu.au>
+.\" Changes by Bram Moolenaar <Bram@vim.org>
+.SH ИМЯ
+.I xxd
+\- создаёт представление файла в виде шестнадцатеричных кодов или выполняет
+обратное преобразование.
+.SH КОМАНДНАЯ СТРОКА
+.B xxd
+\-h[elp]
+.br
+.B xxd
+[ключи] [входной_файл [выходной_файл]]
+.br
+.B xxd
+\-r[evert] [ключи] [входной_файл [выходной_файл]]
+.SH ОПИСАНИЕ
+.I xxd
+создаёт представление указанного файла или данных, прочитанных из потока
+стандартного ввода, в виде шестнадцатеричных кодов. Эта команда также может
+выполнить обратное преобразование заданных шестнадцатеричными кодами данных
+в исходный бинарный формат.
+Подобно командам
+.BR uuencode(1)
+.BR uudecode(1),
+она позволяет выполнять преобразование бинарных данных в ASCII-код,
+который можно передавать по электронной почте, однако, помимо этого, программа
+xxd позволяет выполнять декодирование в поток стандартного вывода,
+а также может применяться для создания заплаток для бинарных файлов.
+.SH КЛЮЧИ ЗАПУСКА
+Если
+.I входной_файл
+не задан, то соответствующие данные читаются из потока стандартного ввода.
+В случае, если в качестве
+.I входного_файла
+используется символ
+.RB \` \- ',
+источником данных также выступает поток стандартного ввода.
+В том случае, если не указан
+.I выходной_файл
+(или вместо него используется символ
+.RB \` \- '
+), результат преобразования направляется в поток стандартного вывода.
+.PP
+Обратите внимание, что используется "ленивый" алгоритм разбора ключей, который не
+проверяет более одной буквы ключа, если в этом ключе не используется параметр.
+Пробелы между единственным символом ключа и соответствующим параметром не являются
+обязательными. Параметры ключей могут быть заданы с использованием десятичного,
+шестнадцатеричного или восьмеричного формата.
+Таким образом, ключи
+.BR \-c8 ,
+.BR "\-c 8" ,
+.B \-c 010
+.B \-cols 8
+являются равнозначными.
+.PP
+.TP
+.IR \-a " | " \-autoskip
+Включает автоматический пропуск: вместо последовательности
+нулевых строк используется одиночный символ '*'. По умолчанию
+не применяется.
+.TP
+.IR \-b " | " \-bits
+Вместо шестнадцатеричного кода используются биты (двоичные цифры).
+При использовании этого ключа вместо обычного шестнадцатеричного представления
+октетов используются наборы из восьми символов "1" и "0". Каждая строка
+предваряется номером строки в шестнадцатеричном виде, а завершается символьным
+представлением (в виде ascii или ebcdic). Ключи \-r, \-p, \-i в этом режиме
+не работают.
+.TP
+.IR "\-c кол " | " \-cols кол"
+Задаёт количество октетов
+.RI < кол >,
+которое выводится на каждой строке. По умолчанию используется значение 16
+(\-i: 12, \-ps: 30, \-b: 6).
+Максимально допустимое значение: 256.
+.TP
+.IR \-E " | " \-EBCDIC
+Изменяет способ кодирования символов в правой колонке с ASCII на EBCDIC. Этот ключ
+не изменяет шестнадцатеричное представление. Данный ключ не имеет смысла,
+если используются ключи \-r, \-p или \-i.
+.TP
+.IR "\-g байт " | " \-groupsize байт"
+Позволяет выполнять группировку указанного количества
+.RI < байтов >
+(две шестнадцатеричные цифры или восемь битов), отделяя группы друг от друга пробелами.
+Значение
+.I \-g 0
+применяется для отказа от использования группировки.
+По умолчанию используется значение
+.RI < байт "> равное " 2
+в обычном режиме и \fI1\fP в битовом режиме. Группировка не применяется
+в режимах postscript и include.
+.TP
+.IR \-h " | " \-help
+Выводит справку по доступным ключам командной строки и завершает работу программы.
+Создание шестнадцатеричного представления не выполняется.
+.TP
+.IR \-i " | " \-include
+Позволяет создавать вывод в стиле подключаемых заголовочных файлов языка C.
+Вывод содержит полноценное определение статического массива данных, имя которого
+соответствует имени входного файла, если xxd не считывает данные из потока стандартного
+ввода.
+.TP
+.IR "\-l длина " | " \-len длина"
+Завершает работу после записи заданного в параметре
+.RI < длина >
+количества октетов.
+.TP
+.IR \-p " | " \-ps " | " \-postscript " | " \-plain
+Использует непрерывный формат вывода шестнадцатеричного кода,
+известный как "простой" стиль или стиль "postscript".
+.TP
+.IR \-r " | " \-revert
+Изменяет смысл операции на противоположный: позволяет выполнять преобразование
+шестнадцатеричного представления в бинарный код (или применять результат в качестве заплаты).
+Если вывод происходит не в поток стандартного вывода, то xxd выполняет добавление кода
+к соответствующему файлу. При использовании комбинации ключей
+.I \-r \-p
+происходит чтение "простого" шестнадцатеричного представления без использования
+информации о номерах строк и какого-либо специального раскроя колонок. Пробелы
+и символы новой строки могут встречаться в любом месте исходных данных.
+.TP
+.I \-seek смещение
+При использовании после ключа
+.I \-r
+: добавлять указанное
+.RI < смещение >
+к файловым позициям, обнаруженным в исходных данных.
+.TP
+.I \-s [\+][\-]seek
+Начинает работу с указанного абсолютного (или относительного)
+.RI < смещения >
+в байтах во входном_файле.
+\fI\+ \fRуказывает, что смещение является относительным по отношению
+к текущей файловой позиции в потоке стандартного ввода (бессмысленно, если чтение
+происходит не из потока стандартного ввода). \fI\- \fRуказывает, что должно быть прочитано
+указанное количество символов от конца ввода (либо, если сочетается с \fI \+ \fR:
+перед текущей позиции файла в потоке стандартного ввода).
+Если ключ \-s не используется, то xxd начинает работу от текущей позиции в файле.
+.TP
+.I \-u
+Использует шестнадцатеричные цифры в верхнем регистре. По умолчанию используются цифры в
+нижнем регистре символов.
+.TP
+.IR \-v " | " \-version
+Отображает информацию о версии программы.
+.SH ПОДВОДНЫЕ КАМНИ
+.PP
+.I xxd \-r
+обладает встроенным интеллектом для распознавания информации о номерах строк.
+Если возможен поиск по входному файлу, то номера строк в начале каждой строки
+шестнадцатеричного представления могут быть неупорядоченными, некоторые строки могут
+быть пропущены или пересекаться друг с другом. В этих случаях xxd использует
+lseek(2) для перехода к следующей позиции. Если поиск по входному файлу
+невозможен, то допустимы только пропуски строк, которые заполняются нулевыми
+байтами.
+.PP
+.I xxd \-r
+никогда не выводит сообщений об ошибках. Мусор пропускается молча.
+.PP
+При редактировании шестнадцатеричных представлений бинарных файлов обращайте
+внимание, что
+.I xxd \-r
+пропускает в строке ввода любые данные после прочтения достаточного количества
+колонок шестнадцатеричных данных (см. ключ \-c). Это означает, что изменения,
+внесенные в колонки с печатными символами ascii (или ebcdic), всегда игнорируются.
+При обратном преобразовании шестнадцатеричного представления в стиле
+postscript с помощью команды xxd \-r \-p количество колонок не учитывается.
+В этом случае распознаются все символы, которые похожи на пары шестнадцатеричных цифр.
+.PP
+Обратите внимание на различие между командами
+.PP
+\fI% xxd \-i файл\fR
+.PP
+.PP
+\fI% xxd \-i \< файл\fR
+.PP
+Команда
+.I xxd \-s \+seek
+может отличаться от
+.I xxd \-s seek,
+поскольку для того, чтобы "отмотать" данные на входе назад, используется вызов lseek(2).
+При использовании `+' поведение будет отличаться, если входные данные
+поступают с потока стандартного ввода, а позиция в файле стандартного ввода не находится
+в начале файла к тому моменту, когда программа xxd запущена и приступает к чтению ввода.
+Нижеследующие примеры помогут прояснить (или ещё больше запутать!) ситуацию...
+.PP
+Отмотка назад потока стандартного ввода; необходимо, поскольку 'cat' уже выполнила
+чтение до конца потока стандартного ввода:
+.PP
+\fI% sh \-c 'cat > plain_copy; xxd \-s 0 > hex_copy' < file
+.PP
+Вывод шестнадцатеричного представления от позиции в файле 0x480
+(= 1024+128).
+Символ `+' означает "относительно текущей позиции", таким образом `128' добавляется
+к первому килобайту, где завершает работу dd:
+.PP
+\fI% sh \-c 'dd of=plain_snippet bs=1k count=1; xxd \-s +128 > hex_snippet' < file
+.PP
+Вывод шестнадцатеричного представления от позиции в файле 0x100
+(= 1024-768):
+.PP
+\fI% sh \-c 'dd of=plain_snippet bs=1k count=1; xxd \-s +-768 > hex_snippet' < file
+.PP
+В то же время, следует заметить, что подобные ситуации встречаются довольно редко,
+так что символ `+' обычно не используется. Автор предпочитает наблюдать за работой
+xxd с помощью strace(1) или truss(1) в тех случаях, когда применяется ключ
+\-s.
+.SH ПРИМЕРЫ
+.PP
+.br
+Вывести всё, кроме первых трёх строк (0x30 байтов) файла
+.B file
+:
+.PP
+\fI% xxd \-s 0x30 file
+.PP
+.br
+Вывести три строки (0x30 байтов) от конца файла
+.B file
+:
+.PP
+\fI% xxd \-s \-0x30 file
+.PP
+.br
+Вывести 120 байтов в виде непрерывного шестнадцатеричного представления
+по 40 октетов в строке:
+.PP
+\fI% xxd \-l 120 \-ps \-c 20 xxd.1\fR
+.br
+2e544820585844203120224d616e75616c207061
+.br
+676520666f7220787864220a2e5c220a2e5c2220
+.br
+32317374204d617920313939360a2e5c22204d61
+.br
+6e207061676520617574686f723a0a2e5c222020
+.br
+2020546f6e79204e7567656e74203c746f6e7940
+.br
+7363746e7567656e2e7070702e67752e6564752e
+.br
+.PP
+.br
+Вывести первые 120 байтов этой страницы справочника по 12 октетов в строке:
+.PP
+\fI% xxd \-l 120 \-c 12 xxd.1\fR
+.br
+0000000: 2e54 4820 5858 4420 3120 224d .TH XXD 1 "M
+.br
+000000c: 616e 7561 6c20 7061 6765 2066 anual page f
+.br
+0000018: 6f72 2078 7864 220a 2e5c 220a or xxd"..\\".
+.br
+0000024: 2e5c 2220 3231 7374 204d 6179 .\\" 21st May
+.br
+0000030: 2031 3939 360a 2e5c 2220 4d61 1996..\\" Ma
+.br
+000003c: 6e20 7061 6765 2061 7574 686f n page autho
+.br
+0000048: 723a 0a2e 5c22 2020 2020 546f r:..\\" To
+.br
+0000054: 6e79 204e 7567 656e 7420 3c74 ny Nugent <t
+.br
+0000060: 6f6e 7940 7363 746e 7567 656e ony@sctnugen
+.br
+000006c: 2e70 7070 2e67 752e 6564 752e .ppp.gu.edu.
+.PP
+.br
+Показать дату из файла xxd.1:
+.PP
+\fI% xxd \-s 0x28 \-l 12 \-c 12 xxd.1\fR
+.br
+0000028: 3231 7374 204d 6179 2031 3939 21st May 199
+.PP
+.br
+Скопировать
+.B входной_файл
+.B выходной_файл
+с добавлением 100 байтов со значением 0x00 в начало файла:
+.PP
+\fI% xxd входной_файл | xxd \-r \-s 100 \> выходной_файл\fR
+.br
+.PP
+.br
+Заменить дату в файле xxd.1:
+.PP
+\fI% echo '0000029: 3574 68' | xxd \-r \- xxd.1\fR
+.br
+\fI% xxd \-s 0x28 \-l 12 \-c 12 xxd.1\fR
+.br
+0000028: 3235 7468 204d 6179 2031 3939 25th May 199
+.PP
+.br
+Создать 65537-байтный файл, все байты которого имеют значение
+0x00, кроме последнего байта, который должен иметь значение 'A'
+(0x41):
+.PP
+\fI% echo '010000: 41' | xxd \-r \> file\fR
+.PP
+.br
+Создать шестнадцатеричное представление этого файла с
+использованием автоматического пропуска:
+.PP
+\fI% xxd \-a \-c 12 file\fR
+.br
+0000000: 0000 0000 0000 0000 0000 0000 ............
+.br
+*
+.br
+000fffc: 0000 0000 40 ....A
+.PP
+Создать 1-байтный файл, содержащий символ 'A'.
+Число после '\-r \-s' добавляется к номерам строк, найденным в файле;
+иначе говоря, предшествующие байты пропускаются:
+.PP
+\fI% echo '010000: 41' | xxd \-r \-s \-0x10000 \> file\fR
+.PP
+xxd можно использовать в качестве фильтра в редакторе, например в
+.B vim(1),
+чтобы создать шестнадцатеричное представление области между
+отметками `a' и `z':
+.PP
+\fI:'a,'z!xxd\fR
+.PP
+Вы можете использовать xxd в качестве фильтра в редакторе, например в
+.B vim(1),
+для восстановления данных из шестнадцатеричного представления
+между отметками `a' и `z':
+.PP
+\fI:'a,'z!xxd \-r\fR
+.PP
+Вы можете использовать xxd в качестве фильтра в редакторе, например в
+.B vim(1),
+для восстановления данных из единственной строки
+шестнадцатеричного представления. Поместите курсор в соответствующую строку
+и наберите
+.PP
+\fI!!xxd \-r\fR
+.PP
+Чтобы прочитать единственный символ из канала связи:
+.PP
+\fI% xxd \-c1 < /dev/term/b &\fR
+.br
+\fI% stty < /dev/term/b \-echo \-opost \-isig \-icanon min 1\fR
+.br
+\fI% echo \-n foo > /dev/term/b\fR
+.PP
+.SH ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
+Программа xxd завершает работу со следующими значениями:
+.TP
+0
+Ошибки не обнаружены.
+.TP
+\-1
+Операция не поддерживается (выполнение
+.I xxd \-r \-i
+пока невозможно).
+.TP
+1
+Ошибка при разборе ключей командной строки.
+.TP
+2
+Проблемы во входном файле.
+.TP
+3
+Проблемы в выходном файле.
+.TP
+4,5
+Желательная позиция поиска недостижима.
+.SH СМОТРИ ТАКЖЕ
+uuencode(1), uudecode(1), patch(1)
+.br
+.SH ПРЕДУПРЕЖДЕНИЕ
+Странность этой программы соответствует особенностям мозга её создателя.
+Используйте её на свой страх и риск. Копируйте файлы, отслеживайте
+вызовы, становитесь волшебником.
+.br
+.SH ВЕРСИЯ
+Эта страница справочника документирует xxd версии 1.7.
+.SH АВТОР
+.br
+(c) 1990-1997 Юрген Вайгерт (Juergen Weigert)
+.br
+<jnweiger@informatik.uni-erlangen.de>
+.LP
+Вы можете свободно распространять программу со ссылкой на меня.
+.br
+Если использование этой программы принесло вам какой-то доход,
+поделитесь со мной.
+.br
+Если вы потеряли деньги, то я тут не причём.
+.PP
+Первый вариант страницы справочника написан Тони Наджентом (Tony Nugent)
+.br
+<tony@sctnugen.ppp.gu.edu.au> <T.Nugent@sct.gu.edu.au>
+.br
+Небольшие изменения внесены Брамом Мооленааром (Bram Moolenaar).
+Страница отредактирована Юргеном Вайгертом (Juergen Weigert).
+.PP