Linux manpages-ru
Добавляем русские MAN страницы в Debian (Ubuntu)
Первое, старые но официальные
# apt-get install manpages-ru
Второе
датируются 2015 г.
$ sudo echo "deb http://manpages.stupin.su/repo/ jessie main" >> /etc/apt/sources.list
более старые, датируются 2010 г.$ sudo echo "deb http://manpages.ylsoftware.com/debian/ all main" >> /etc/apt/sources.list
# apt-get update
# apt-get install manpages-ylsw-ru
Указание в переменной MANOPT локализацию
export MANOPT="-L ru"
Непосредственно указать перед просмотром
man -Lru ascii
Вырор секции
man -s 7 ascii
Третье, судя по датам самые новые
# Делаем резервную копию старых man-ов
tar -cf ru-backup.tar /usr/share/man/ru
# Заходим в каталог
mkdir -p ~/src/man-pages-ru/
cd ~/src/man-pages-ru/
Скачиваем архив с http://sourceforge.net/projects/man-pages-ru/
и переносим в папку
mv ~/Download/man-pages-ru_xxxxxxx.tar.bz2 ~/src/man-pages-ru/
# Распаковываем архив с новыми man-ами
tar -jxf man-pages-ru_xxxxxxx.tar.bz2
# Переходим в каталог, в который был распакован архив
cd man-pages-ru_xxxxxxx
# Удаляем файлы лицензии и readme, которые нам не нужны
rm License README
# Производим (рекурсивно) компрессию всех файлов
gzip -r ./*
# Копируем (рекурсивно, с правами администратора) все файлы в /usr/share/man/ru. При этом существующие файлы заменяются новыми
sudo cp -r ./* /usr/share/man/ru/
# После этого можно удалить каталог, в который мы распаковывали архив:
# переходим на уровень выше
cd ../
# и удаляем каталог
rm -rf man-pages-ru_xxxxxxx
После, лично у меня были не правильно выставлены права на ru-man после сжатия
Исправление:
find /usr/share/man/ru -type f -exec chmod 644 {} \;
После ручного добавление ФАЙЛОВ, нужно обновить базу man
$ mandb
mandb - create or update the manual page index caches
# mandb --help
Использование: mandb [ПАРАМЕТР...] [MANPATH]
-c, --create создать dbs с нуля, а не
обновлять
-C, --config-file=ФАЙЛ использовать указанный
пользовательских файл
настроек
-d, --debug показывать сообщения
отладки
-f, --filename=ИМЯ-ФАЙЛА
обновить запись только для
этого файла
-p, --no-purge не вычищать устаревшие
записи из dbs
-q, --quiet не выводить сообщения, за
исключением 'фиктивных'
предупреждений
-s, --no-straycats не искать или добавлять
побочные cat в dbs
-t, --test проверить справочные
страницы на правильность
-u, --user-db создать только
пользовательские базы
данных
-?, --help показать эту справку
--usage показать короткую справку
по использованию
-V, --version показать номер версии
программы
Обязательные или необязательные аргументы
к длинным именам параметров остаются
таковыми и к соответствующим коротким
параметрам.
Четвертое, хоть русские man и добавили, но переводов очень мало в совокупности
Будем использовать интерактивный перевод, интернет обязателен
Command-line translator using Google Translate, Bing Translator, Yandex.Translate, etc.
From Git (Recommended)
$ git clone https://github.com/soimort/translate-shell
$ cd translate-shell/
$ make
$ sudo make install
trans -list-engines
echo "good\morning" | xargs | trans -b :ru -e google
echo "good\morning" | xargs | trans -b :ru -e yandex
echo "good\morning" | xargs | trans -b :ru -e bing
Пример перевода man страницы
$ man ssh | col -bfx | trans -b -engine bing :ru
$ man -P cat ssh | trans -b -engine bing :ru
$ whatis ssh | trans -b -engine bing :ru
apropos [-M path] [-s section] keyword
whatis [-M path] [-s section] keyword
# man -s 7 -k 'ascii'
ascii (7) - набор символов ASCII, представленный восьмеричным, д...
utf-8 (7) - ASCII-совместимая многобайтовая юникодная кодировка
utf8 (7) - ASCII-совместимая многобайтовая юникодная кодировка
# whatis -s 7 ascii
ascii (7) - набор символов ASCII, представленный восьмеричным, д...
# apropos -s 7 ascii
ascii (7) - набор символов ASCII, представленный восьмеричным, д...
utf-8 (7) - ASCII-совместимая многобайтовая юникодная кодировка
utf8 (7) - ASCII-совместимая многобайтовая юникодная кодировка
# apropos --help
Использование: apropos [ПАРАМЕТР...] КЛЮЧ...
Language: ru
-d, --debug показывать сообщения
отладки
-v, --verbose выводить подробные
предупреждающие сообщения
-e, --exact искать точное совпадения
каждого ключа
-r, --regex считать каждый ключ
регулярным выражением
-w, --wildcard ключ(и) содержит групповые
символы
-a, --and требуется совпадение всех
ключей
-l, --long не обрезать вывод по ширине
терминала
-C, --config-file=ФАЙЛ использовать указанный
пользовательских файл
настроек
-L, --locale=ЛОКАЛЬ задать локаль для этого
поиска
-m, --systems=СИСТЕМА использовать справочные
страницы от других систем
-M, --manpath=ПУТЬ установить путь поиска
справочных страниц в
значение ПУТЬ
-s, --sections=СПИСОК, --section=СПИСОК
искать только в этих
секциях (разделяются
двоеточиями)
-?, --help показать эту справку
--usage показать короткую справку
по использованию
-V, --version показать номер версии
программы
Обязательные или необязательные аргументы
к длинным именам параметров остаются
таковыми и к соответствующим коротким
параметрам.
Параметр --regex включён по умолчанию.
Об ошибках сообщай по адресу cjwatson@debian.org.
# whatis ssh
ssh (1) - OpenSSH SSH client (remote login program)
# whatis ssh | trans -b :ru -e bing
SSH (1) - OpenSSH SSH-клиент (программа удаленного входа)
# whatis --help
Использование: whatis [ПАРАМЕТР...] КЛЮЧ...
-d, --debug показывать сообщения
отладки
-v, --verbose выводить подробные
предупреждающие сообщения
-r, --regex считать каждый ключ
регулярным выражением
-w, --wildcard ключ(и) содержит групповые
символы
-l, --long не обрезать вывод по ширине
терминала
-C, --config-file=ФАЙЛ использовать указанный
пользовательских файл
настроек
-L, --locale=ЛОКАЛЬ задать локаль для этого
поиска
-m, --systems=СИСТЕМА использовать справочные
страницы от других систем
-M, --manpath=ПУТЬ установить путь поиска
справочных страниц в
значение ПУТЬ
-s, --sections=СПИСОК, --section=СПИСОК
искать только в этих
секциях (разделяются
двоеточиями)
-?, --help показать эту справку
--usage показать короткую справку
по использованию
-V, --version показать номер версии
программы
Обязательные или необязательные аргументы
к длинным именам параметров остаются
таковыми и к соответствующим коротким
параметрам.
Output manpage as plaintext using cat as pager:
And redirect its stdout into a file:
Example: man -P cat ssh > man_ssh.txt
man ssh > ssh.txt
To get an ASCII man page file, without the annoying backspace/underscore attempts at underlining, and weird sequences to do bolding:
man ssh | col -b > ssh.txt
The correct way to output a man page into a plain text file
man ssh | col -b > ssh.txt
man ssh | col -bfx > ssh.txt
man ssh | col -bx > ssh.txt
col -b removes backspaces.
col -bx also replaces tabs with spaces which is my strong preference.
If I want the text to be formatted to a width of my preference while reading, then I change the command to this:
MANWIDTH=10000 man ssh | col -bx > ssh.txt
Man pages are usually troff pre-processed files, and you can get to the plain text with,
groff -t -e -mandoc -Tascii manpage.1 | col -bx > manpage.txt
groff is a wrapper for troff.
zcat /usr/share/man/man1/man.1.gz | groff -mandoc -Thtml
zcat $(man -w $PAGE) | groff -mandoc -Thtml
посмотреть в чистом виде ман
gunzip -c /usr/share/man/man1/free.1.gz
zcat /usr/share/man/man1/free.1.gz
gzip -c -d < %s > %s
zcat < %s > %s
man ssh | strip-headers | col -bx > ssh.txt
groff -t -e -mandoc -Tps manpage.1 > manpage.ps
grog /usr/man/man7/signal.7
groff -t -man /usr/man/man7/signal.7
groff -man -Thtml
man -P cat ls
groff -mandoc -Thmtl
man -Tps ls > man_ls.ps
# man -Thmtl ls
groff: can't find `DESC' file
groff:fatal error: invalid device `hmtl'
man: команда завершилась с кодом 3: /usr/lib/man-db/zsoelim | /usr/lib/man-db/manconv -f UTF-8:KOI8-R -t UTF-8//IGNORE | preconv -e UTF-8 | tbl | groff -mandoc -Thmtl
# col --help
usage: col [-bfhpx] [-l nline]
# troff --help
usage: troff -abcivzCERU -wname -Wname -dcs -ffam -mname -nnum -olist
-rcn -Tname -Fdir -Idir -Mdir [files...]
# grog --help
usage: grog [option]... [--] [filespec]...
"filespec" is either the name of an existing, readable file or "-" for
standard input. If no `filespec' is specified, standard input is
assumed automatically. All arguments after a `--' are regarded as file
names, even if they start with a `-' character.
`option' is either a `groff' option or one of these:
-h|--help print this uasge message and exit
-v|--version print version information and exit
-C compatibility mode
--ligatures include options `-P-y -PU' for internal font, which
preserverses the ligatures like `fi'
--run run the checked-out groff command
--warnings display more warnings to standard error
All other options should be `groff' 1-character options. These are then
appended to the generated `groff' command line. The `-m' options will
be checked by `grog'.
# preconv --help
usage: preconv [ option ] [ files ]
-d show debugging messages
-D encoding specify default encoding
-e encoding specify input encoding
-h print this message
-r don't add .lf requests
-v print version number
The default encoding is `UTF-8'.
# /usr/lib/man-db/manconv --help
Использование: manconv [ПАРАМЕТР...]
-f КОДИРОВКА[:...] -t КОДИРОВКА
[ИМЯ-ФАЙЛА]
-d, --debug показывать сообщения
отладки
-f, --from-code=КОДИРОВКА[:...]
возможные кодировки
исходного текста
-q, --quiet выводить некоторые
предупреждения
-t, --to-code=КОДИРОВКА
кодировка вывода
-?, --help показать эту справку
--usage показать короткую справку
по использованию
-V, --version показать номер версии
программы
Обязательные или необязательные аргументы
к длинным именам параметров остаются
таковыми и к соответствующим коротким
параметрам.
Об ошибках сообщай по адресу cjwatson@debian.org.
# /usr/lib/man-db/zsoelim --help
Использование: zsoelim [ПАРАМЕТР...] ФАЙЛ...
-d, --debug показывать сообщения
отладки
-C, --compatible для совместимости
(игнорируется)
-?, --help показать эту справку
--usage показать короткую справку
по использованию
-V, --version показать номер версии
программы
Об ошибках сообщай по адресу cjwatson@debian.org.
# tbl --help
usage: tbl [ -vC ] [ files... ]
man groff
# groff -help
usage: groff [-abceghijklpstvzCEGNRSUVXZ] [-dcs] [-ffam] [-mname] [-nnum]
[-olist] [-rcn] [-wname] [-Darg] [-Fdir] [-Idir] [-Karg] [-Larg]
[-Mdir] [-Parg] [-Tdev] [-Wname] [files...]
-h print this message
-v print version number
-e preprocess with eqn
-g preprocess with grn
-j preprocess with chem
-k preprocess with preconv
-p preprocess with pic
-s preprocess with soelim
-t preprocess with tbl
-G preprocess with grap
-J preprocess with gideal
-R preprocess with refer
-a produce ASCII description of output
-b print backtraces with errors or warnings
-c disable color output
-dcs define a string c as s
-ffam use fam as the default font family
-i read standard input after named input files
-l spool the output
-mname read macros tmac.name
-nnum number first page n
-olist output only pages in list
-rcn define a number register c as n
-wname enable warning name
-z suppress formatted output
-C enable compatibility mode
-Darg use arg as default input encoding. Implies -k
-E inhibit all errors
-Fdir search dir for device directories
-Idir search dir for soelim, troff, and grops. Implies -s
-Karg use arg as input encoding. Implies -k
-Larg pass arg to the spooler
-Mdir search dir for macro files
-N don't allow newlines within eqn delimiters
-Parg pass arg to the postprocessor
-S enable safer mode (the default)
-Tdev use device dev
-U enable unsafe mode
-V print commands on stdout instead of running them
-Wname inhibit warning name
-X use X11 previewer rather than usual postprocessor
-Z don't postprocess
-T, --troff-device[=DEVICE]
-T dev Set output device to dev. For this device, troff generates the intermediate output; see groff_out(5).
Then groff calls a postprocessor to convert troff's intermediate output to its final format. Real devices in groff are
dvi TeX DVI format (postprocessor is grodvi).
html
xhtml HTML and XHTML output (preprocessors are soelim and pre-grohtml, postprocessor is
post-grohtml).
lbp Canon CAPSL printers (LBP-4 and LBP-8 series laser printers; postprocessor is grolbp).
lj4 HP LaserJet4 compatible (or other PCL5 compatible) printers (postprocessor is grolj4).
ps PostScript output (postprocessor is grops).
pdf Portable Document Format (PDF) output (postprocessor is gropdf).
For the following TTY output devices (postprocessor is always grotty), -T selects the output encoding:
ascii 7bit ASCII.
cp1047 Latin-1 character set for EBCDIC hosts.
latin1 ISO 8859-1.
utf8 Unicode character set in UTF-8 encoding. This mode has the most useful fonts for TTY
mode, so it is the best mode for TTY output.
The following arguments select gxditview as the ‘postprocessor’ (it is rather a viewing program):
X75 75dpi resolution, 10pt document base font.
X75-12 75dpi resolution, 12pt document base font.
X100 100dpi resolution, 10pt document base font.
X100-12
100dpi resolution, 12pt document base font.
The default device is ps.
Macro Packages
Macro packages can be included by option -m. The groff system implements and extends all classical macro packages in a compatible way and adds some packages of its own. Actually, the following macro packages come with groff:
man The traditional man page format; see groff_man(7). It can be specified on the command line as -man or -m man.
mandoc The general package for man pages; it automatically recognizes whether the documents uses the man or the mdoc format and branches to the corresponding macro package. It can be specified on the command line as -mandoc or -m mandoc.
mdoc The BSD-style man page format; see groff_mdoc(7). It can be specified on the command line as -mdoc or -m mdoc.
me The classical me document format; see groff_me(7). It can be specified on the command line as -me or -m me.
mm The classical mm document format; see groff_mm(7). It can be specified on the command line as -mm or -m mm.
ms The classical ms document format; see groff_ms(7). It can be specified on the command line as -ms or -m ms.
www HTML-like macros for inclusion in arbitrary groff documents; see groff_www(7).
Details on the naming of macro files and their placement can be found in groff_tmac(5); this man page also
documents some other, minor auxiliary macro packages not mentioned here.
ronn - convert markdown files to manpages
ronn [format...] file...
ronn -m|--man file...
ronn -S|--server file...
ronn --pipe file
ronn < file
# reman --help
USAGE: reman [input_file [output_file]
or : reman - [output_file]
generic format processor
# desman --help
USAGE: desman [input_file [output_file]
or : desman - [output_file]
man page format processor
# apt install debian-goodies
# debman --help
Usage: debman [options] [-- man(1) options] <man page name> ...
Options should be exactly one of:
-f package.deb read pages from package.deb archive
-p package download .deb for package and read pages
from there
# rman --help
rman
[-f <ASCII|roff|TkMan|Tk|Sections|HTML|XML|MIME|LaTeX|LaTeX2e|RTF|pod>]
[-S(ource of man page passed in)] [-F(ormatted man page passed in)]
[-r <man reference printf string>] [-l <title printf string>]
[-V(olume) <colon-separated list>] [-U(RLs as hyperlinks)]
[-b (show subsections)] [-k(eep head/foot)]
[-n(ame of man page) <string>] [-s(ection) <string>]
[-p(aragraph mode toggle)] [-t(abstops spacing) <number>]
[-N(ormalize spacing, changebars)] [-y (zap hyphens toggle)]
[-K (declare that page has no breaks)]
[-d(iff) <file> (diff of old page source to incorporate)]
[-M(essage) <text> (included verbatim at end of Name section)]
[-R(ebus words for TkMan)] [-C (enable Tcl/Tk formatting)]
[-o (no op)] [-O <arg> (no op with arg)]
[-q(uiet--don't report warnings)] [-h(elp)] [-v(ersion)]
[<filename>]
п.с. Очень много утилит\скриптов для работы man страницами, только толку мало, очень скудная информация в русскоязычном сегменте
Комментарии
Отправить комментарий