closes: #15692 Signed-off-by: RestorerZ <restorer@mail2k.ru> Signed-off-by: Christian Brabandt <cb@256bit.org>
		
			
				
	
	
		
			488 lines
		
	
	
		
			26 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			488 lines
		
	
	
		
			26 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| .TH XXD 1 "May 2024" "Справочник по программе 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
 | ||
| \[em] выполняет преобразование данных или в шестнадцатеричный вид, или выполняет
 | ||
| обратное преобразование из шестнадцатеричного кода в исходный формат
 | ||
| .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). Аргумент командной строки \-p
 | ||
| в этом режиме не применяется. Аргумент \-i может быть указан для этого режима.
 | ||
| .TP
 | ||
| .IR "\-c кол " | " \-cols кол"
 | ||
| Задаёт количество октетов
 | ||
| .RI < кол >,
 | ||
| которое выводится на каждой строке. По умолчанию используется значение 16 
 | ||
| (для аргумента \-i используется 12, для \-ps \[em] 30, для \-b \[em] 6). 
 | ||
| Максимально допустимое значение \[em] 256.
 | ||
| Максимальное значение не применяется с аргументом \-ps. Если с аргументом \-ps,
 | ||
| указано значение 0, то будет выведена просто одна длинная строка.
 | ||
| .TP
 | ||
| .IR \-C " | " \-capitalize
 | ||
| Преобразовать наименования переменных в верхний регистр при использовании стиля
 | ||
| отображения в виде подключаемых файлов языка Си,
 | ||
| который включается через аргумент командной строки \-i.
 | ||
| .TP
 | ||
| .I \-d
 | ||
| Отображать смещение не в шестнадцатеричном, а в десятичном формате.
 | ||
| .TP
 | ||
| .IR \-E " | " \-EBCDIC
 | ||
| Отображать символы в крайне правой колонке не в кодировке ASCII,
 | ||
| а в кодировке EBCDIC. Этот аргумент не влияет на шестнадцатеричное
 | ||
| представление данных. Данный аргумент не имеет смысла, если используются
 | ||
| аргументы командной строки \-r, \-p или \-i.
 | ||
| .TP
 | ||
| .IR \-e
 | ||
| Использовать обратный порядок байт при отображение шестнадцатеричного
 | ||
| представления данных.
 | ||
| Группа байт будет показана как двоичное слово от младших разрядов к старшим.
 | ||
| Используемое по умолчанию группирование по четыре байта может быть изменено
 | ||
| через аргумент командной строки
 | ||
| .RI "" \-g .
 | ||
| Действие этого аргумента распространяется только на шестнадцатеричное
 | ||
| представление данных и не оказывает влияние на символьное представление
 | ||
| в кодировке ASCII (или EBCDIC).
 | ||
| Аргументы командной строки
 | ||
| \-r, \-p, \-i не применяются в этом режиме.
 | ||
| .TP
 | ||
| .IR "\-g байт " | " \-groupsize байт"
 | ||
| Выполнить группирование указанного количества
 | ||
| .RI < байт >
 | ||
| (две шестнадцатеричные цифры или восемь двоичных цифр), отделяя группы
 | ||
| друг от друга пробелами.
 | ||
| Значение
 | ||
| .I \-g 0 
 | ||
| применяется для отказа от использования группирования.
 | ||
| По умолчанию используется значение
 | ||
| .RI < байт ">, равное " 2
 | ||
| при отображении в прямом порядке байт, \fI4\fP при отображении в обратном
 | ||
| порядке байт и \fI1\fP в двоичном режиме. Группировка не применяется
 | ||
| в режиме PostScript или include.
 | ||
| .TP
 | ||
| .IR \-h " | " \-help
 | ||
| Показать краткую информацию об аргументах командной строки и завершить работу
 | ||
| программы.
 | ||
| Создание шестнадцатеричного представления не выполняется.
 | ||
| .TP
 | ||
| .IR \-i " | " \-include
 | ||
| Создавать вывод в стиле подключаемых заголовочных файлов языка Си. Вывод
 | ||
| содержит полноценное определение статического массива данных, название которого
 | ||
| соответствует наименованию входного файла, если программа xxd не считывает
 | ||
| данные из стандартного потока ввода. Возможно совмещение аргументов \-i и \-b.
 | ||
| \-b.
 | ||
| .TP
 | ||
| .IR "\-l длина " | " \-len длина"
 | ||
| Указывает, что после записи заданного в параметре
 | ||
| .RI  < длина >
 | ||
| количества октетов, работа программы будет завершена. 
 | ||
| .TP
 | ||
| .I "\-n название " | " \-name название"
 | ||
| Изменить возвращаемое наименование переменной при использовании аргумента \-i.
 | ||
| Применяется к массиву байт, который будет именоваться как \fIназвание\fP и длина
 | ||
| файла как \fIназвание\fP_len.
 | ||
| .TP
 | ||
| .I \-o смещение
 | ||
| Указывает добавить
 | ||
| .RI < смещение >
 | ||
| в отображаемую позицию файла.
 | ||
| .TP
 | ||
| .IR \-p " | " \-ps " | " \-postscript " | " \-plain
 | ||
| Использовать непрерывный формата вывода шестнадцатеричного кода, 
 | ||
| известного как "простой" стиль или стиль "PostScript".
 | ||
| .TP
 | ||
| .IR \-r " | " \-revert
 | ||
| Выполнить операцию обратного преобразования, т. е. преобразование 
 | ||
| шестнадцатеричного представления в двоичный код (или применить результат
 | ||
| в качестве исправления).
 | ||
| Если вывод происходит не в стандартного поток вывода, то программа xxd выполняет
 | ||
| добавление кода к выходному файлу. При использовании комбинации аргументов
 | ||
| .I \-r \-p
 | ||
| происходит чтение "простого" шестнадцатеричного представления без использования
 | ||
| информации о номерах строк и какого-либо специального распределения колонок.
 | ||
| Пробелы и символы новой строки могут встречаться в любом месте исходных данных.
 | ||
| При использовании комбинации аргументов
 | ||
| .I \-r \-b
 | ||
| будет происходить считывание двоичного представления вместо шестнадцатеричного.
 | ||
| .TP
 | ||
| .IR \-R " " когда
 | ||
| В выходных данных одни и те же шестнадцатеричные значения и строковые значения
 | ||
| будут подсвечиваться одним и тем же цветом. В основном это помогает различать
 | ||
| печатаемые и непечатаемые символы.
 | ||
| Где
 | ||
| .I \fIкогда\fP
 | ||
| может принимать значение
 | ||
| .BR never " (никогда), " always " (всегда), или " auto " (автовыбор, по умолчанию).
 | ||
| Если установлена переменная окружения
 | ||
| .BR $NO_COLOR
 | ||
| , то цветовая подсветка будет отключена.
 | ||
| .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\fR
 | ||
| .PP
 | ||
| Вывод шестнадцатеричного представления от позиции в файле 0x480 (=1024+128).
 | ||
| Параметр '+' означает "относительно текущей позиции", таким образом '128'
 | ||
| добавляется к первому килобайту, где завершает работу программа dd:
 | ||
| .PP
 | ||
| \fI% sh \-c "dd of=plain_snippet bs=1k count=1; xxd \-s +128 \> hex_snippet" < file\fR
 | ||
| .PP
 | ||
| Вывод шестнадцатеричного представления от позиции в файле 0x100 (=1024\[mi]768):
 | ||
| .PP
 | ||
| \fI% sh \-c "dd of=plain_snippet bs=1k count=1; xxd \-s +\-768 \> hex_snippet" < file\fR
 | ||
| .PP
 | ||
| В то же время, следует заметить, что подобные ситуации встречаются довольно
 | ||
| редко, так что параметр '+' обычно не используется. Автор предпочитает наблюдать
 | ||
| за работой программы xxd с помощью инструментов strace(1) или truss(1) в тех
 | ||
| случаях, когда применяется аргумент
 | ||
| \-s.
 | ||
| .SH ПРИМЕРЫ
 | ||
| .PP
 | ||
| .br
 | ||
| Вывести всё, кроме первых трёх строк (0x30 байт)
 | ||
| .BR файла
 | ||
| :
 | ||
| .br
 | ||
| \fI% xxd \-s 0x30 file\fR
 | ||
| .PP
 | ||
| .br
 | ||
| Вывести три строки (0x30 байт) от конца
 | ||
| .BR файла
 | ||
| :
 | ||
| .br
 | ||
| \fI% xxd \-s \-0x30 file\fR
 | ||
| .PP
 | ||
| .br
 | ||
| Вывести 120 байт в виде непрерывного шестнадцатеричного представления
 | ||
| по 20 октетов в строке
 | ||
| .br
 | ||
| (этот пример для справочника xxd.1 на английском языке, для русского языка будет
 | ||
| немного другой результат):
 | ||
| .br
 | ||
| \fI% xxd \-l 120 \-ps \-c 20 xxd.1\fR
 | ||
| .br
 | ||
| 2e544820585844203120224d6179203230323422
 | ||
| .br
 | ||
| 20224d616e75616c207061676520666f72207878
 | ||
| .br
 | ||
| 64220a2e5c220a2e5c222032317374204d617920
 | ||
| .br
 | ||
| 313939360a2e5c22204d616e2070616765206175
 | ||
| .br
 | ||
| 74686f723a0a2e5c2220202020546f6e79204e75
 | ||
| .br
 | ||
| 67656e74203c746f6e79407363746e7567656e2e
 | ||
| .br
 | ||
| 
 | ||
| .br
 | ||
| Вывести первые 120 байт этого справочника по 12 октетов в строке
 | ||
| .br
 | ||
| (этот пример для справочника xxd.1 на английском языке, для русского языка будет
 | ||
| немного другой результат):
 | ||
| .br
 | ||
| \fI% xxd \-l 120 \-c 12 xxd.1\fR
 | ||
| .br
 | ||
| 00000000: 2e54 4820 5858 4420 3120 224d  .TH XXD 1 "M
 | ||
| .br
 | ||
| 0000000c: 6179 2032 3032 3422 2022 4d61  ay 2024" "Ma
 | ||
| .br
 | ||
| 00000018: 6e75 616c 2070 6167 6520 666f  nual page fo
 | ||
| .br
 | ||
| 00000024: 7220 7878 6422 0a2e 5c22 0a2e  r xxd"..\\"..
 | ||
| .br
 | ||
| 00000030: 5c22 2032 3173 7420 4d61 7920  \\" 21st May 
 | ||
| .br
 | ||
| 0000003c: 3139 3936 0a2e 5c22 204d 616e  1996..\\" Man
 | ||
| .br
 | ||
| 00000048: 2070 6167 6520 6175 7468 6f72   page author
 | ||
| .br
 | ||
| 00000054: 3a0a 2e5c 2220 2020 2054 6f6e  :..\\"    Ton
 | ||
| .br
 | ||
| 00000060: 7920 4e75 6765 6e74 203c 746f  y Nugent <to
 | ||
| .br
 | ||
| 0000006c: 6e79 4073 6374 6e75 6765 6e2e  ny@sctnugen.
 | ||
| .PP
 | ||
| .br
 | ||
| Показать дату из файла
 | ||
| .B xxd.1
 | ||
| .br
 | ||
| (этот пример для справочника xxd.1 на английском языке, для русского языка будет
 | ||
| немного другая команда, например, для UTF-8 \[em] \flxxd \-s 0x50 \-l 13 \-c 13 xxd.1\fR):
 | ||
| .PP
 | ||
| \fI% xxd \-s 0x33 \-l 13 \-c 13 xxd.1\fR
 | ||
| .br
 | ||
| 00000033: 3231 7374 204d 6179 2031 3939 36  21st May 1996
 | ||
| .PP
 | ||
| .br
 | ||
| Скопировать
 | ||
| .B входной_файл
 | ||
| в
 | ||
| .B выходной_файл
 | ||
| с добавлением 100 байт со значением 0x00 в начало файла:
 | ||
| .br
 | ||
| \fI% xxd входной_файл | xxd \-r \-s 100 \> выходной_файл\fR
 | ||
| .br
 | ||
| 
 | ||
| .br
 | ||
| Заменить дату в файле
 | ||
| .B xxd.1
 | ||
| .br
 | ||
| (этот пример для справочника xxd.1 на английском языке, для русского языка будут
 | ||
| немного другие команды):
 | ||
| .PP
 | ||
| \fI% echo "0000034: 3574 68" | xxd \-r \- xxd.1\fR
 | ||
| .br
 | ||
| \fI% xxd \-s 0x33 \-l 13 \-c 13 xxd.1\fR
 | ||
| .br
 | ||
| 00000033: 3235 7468 204d 6179 2031 3939 36  25th May 1996
 | ||
| .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
 | ||
| 00000000: 0000 0000 0000 0000 0000 0000  ............
 | ||
| .br
 | ||
| *
 | ||
| .br
 | ||
| 0000fffc: 0000 0000 41                   ....A
 | ||
| .PP
 | ||
| Создать 1-байтный файл, содержащий символ 'A'.
 | ||
| Число после аргументов '\-r \-s' добавляется к номерам строк, найденным в файле,
 | ||
| иначе говоря, предшествующие байты пропускаются:
 | ||
| .PP
 | ||
| \fI% echo '010000: 41' | xxd \-r \-s \-0x10000 > file\fR
 | ||
| .PP
 | ||
| Программу xxd можно использовать в качестве фильтра в редакторе, например в 
 | ||
| .B vim(1)
 | ||
| , чтобы создать шестнадцатеричное представление области между
 | ||
| закладками 'a' и 'z':
 | ||
| .br
 | ||
| \fI:'a,'z!xxd\fR
 | ||
| .PP
 | ||
| Можно использовать программу xxd в качестве фильтра в редакторе, например в 
 | ||
| .B vim(1)
 | ||
| , для восстановления данных из шестнадцатеричного представления
 | ||
| между закладками 'a' и 'z':
 | ||
| .br
 | ||
| \fI:'a,'z!xxd \-r\fR
 | ||
| .PP
 | ||
| Можно использовать программу xxd в качестве фильтра в редакторе, например в
 | ||
| .B vim(1)
 | ||
| , для восстановления данных из единственной строки
 | ||
| шестнадцатеричного представления. Поместите курсор в соответствующую строку
 | ||
| и наберите
 | ||
| .br
 | ||
| \fI!!xxd \-r\fR
 | ||
| .PP
 | ||
| Чтобы прочитать единственный символ из канала связи:
 | ||
| .br
 | ||
| \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 от 2024-05.
 | ||
| .SH АВТОР
 | ||
| .br
 | ||
| (c) Юрген Вайгерт (Juergen Weigert), 1990-1997
 | ||
| .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
 |