Difference between revisions of "Man page (简体中文)"

From ArchWiki
Jump to navigation Jump to search
(使用本地手册页: Moved to Official repo.)
(update interlanguage links)
(Tag: wiki-scripts)
 
(15 intermediate revisions by 6 users not shown)
Line 1: Line 1:
[[Category:简体中文]]
 
 
[[Category:Software (简体中文)]]
 
[[Category:Software (简体中文)]]
[[en:Man Page]]
+
[[ar:Man page]]
[[ko:Man Page]]
+
[[en:Man page]]
[[ru:Man Page]]
+
[[es:Man page]]
{{Article summary start|摘要}}
+
[[id:Man page]]
{{Article summary text|如何在Linux获取帮助?什么是man页?如何使用它?}}
+
[[ja:Man ページ]]
<!--
+
[[ko:Man page]]
{{Article summary heading|Related}}
+
[[pt:Man page]]
{{Article summary wiki|}}
+
[[ru:Man page]]
-->
+
{{Related articles start (简体中文)}}
{{Article summary end}}
+
{{Related|Color output in console#man}}
 
+
{{Related articles end}}
 
'''man手册页'''(manual pages,“手册”),是类UNIX系统最重要的手册工具。多数类UNIX都预装了它,这也包括Arch。使用man手册页的命令是:{{ic|man}}。
 
'''man手册页'''(manual pages,“手册”),是类UNIX系统最重要的手册工具。多数类UNIX都预装了它,这也包括Arch。使用man手册页的命令是:{{ic|man}}。
  
Line 58: Line 57:
 
==搜索手册页==
 
==搜索手册页==
 
如果用户压根儿不知道要查阅的手册的名称,该怎么办呢?没事,通过 {{ic|-k}} 或者 {{ic|--apropos}} 参数就可以按给定关键词搜索相关手册。例如,要查阅有关密码的手册(“password”):
 
如果用户压根儿不知道要查阅的手册的名称,该怎么办呢?没事,通过 {{ic|-k}} 或者 {{ic|--apropos}} 参数就可以按给定关键词搜索相关手册。例如,要查阅有关密码的手册(“password”):
 +
 +
关键词搜索特性是从一个专用的缓存生成的。默认情况下你没有这个缓存,所以无论你搜什么,都会提示你''nothing appropriate''。你可以通过下面的命令来生成这个缓存:
 +
# mandb
 +
每当你安装新的manpage之后都需要运行这个命令,缓存才会更新。
 +
 +
现在你可以开始搜索了。
 +
例如,要查阅有关密码的手册(“password”):
  
 
  $ man -k password
 
  $ man -k password
Line 71: Line 77:
 
关键字可以使用正则表达式。
 
关键字可以使用正则表达式。
  
==彩色显示==
+
如果你想全文搜索的话,你可以用{{ic|-K}}选项:
对很多人来说,彩色手册页比黑白的更加易于大脑消化吸收。
+
  $ man -K password
 
 
有两种常用的实现man手册页彩色显示的方法:使用 {{ic|most}} 或 {{ic|less}} (一“多”一“少”)。前者更加易于配置,但后者功能更强大。
 
 
 
===方法一:使用most===
 
首先通过[[pacman (简体中文)|pacman]]安装{{Pkg|most}}:
 
# pacman -S most
 
该工具类似{{ic|less}}和{{ic|more}},支持彩色化文本。
 
 
 
编辑文件{{ic|/etc/man_db.conf}},去掉pager项的注释并修改为:
 
  DEFINE    pager    most -s
 
然后测试一下吧。
 
 
 
通过修改{{ic|~/.mostrc}}(不存在的话请自行创建)或全局配置文件可以调整配色。例如:
 
% Color settings
 
color normal lightgray black
 
color status yellow blue
 
color underline yellow black
 
color overstrike brightblue black
 
以下示例配置{{ic|more}}的使用类似{{ic|less}}的快捷键:
 
% less-like keybindings
 
unsetkey "^K"
 
unsetkey "g"
 
unsetkey "G"
 
unsetkey ":"
 
 
setkey next_file ":n"
 
setkey find_file ":e"
 
setkey next_file ":p"
 
setkey toggle_options ":o"
 
setkey toggle_case ":c"
 
setkey delete_file ":d"
 
setkey exit ":q"
 
 
setkey bob "g"
 
setkey eob "G"
 
setkey down "e"
 
setkey down "E"
 
setkey down "j"
 
setkey down "^N"
 
setkey up "y"
 
setkey up "^Y"
 
setkey up "k"
 
setkey up "^P"
 
setkey up "^K"
 
setkey page_down "f"
 
setkey page_down "^F"
 
setkey page_up "b"
 
setkey page_up "^B"
 
setkey other_window "z"
 
setkey other_window "w"
 
setkey search_backward "?"
 
setkey bob "p"
 
setkey goto_mark "'"
 
setkey find_file "E"
 
setkey edit "v"
 
 
 
===方法二:使用less===
 
:<small>''来源: [http://nion.modprobe.de/blog/archives/572-less-colors-for-man-pages.html nion's blog - less colors for man pages]''</small>
 
 
 
此外,还可以使用{{ic|less}}彩色输出man手册页。{{ic|less}}提供更多功能,但需要更复杂的配置,适用于高级用户。
 
 
 
将以下内容加入shell配置文件(如[[Bash]]的是{{ic|~/.bashrc}}):
 
<pre>
 
man() {
 
env \
 
LESS_TERMCAP_mb=$(printf "\e[1;37m") \
 
LESS_TERMCAP_md=$(printf "\e[1;37m") \
 
LESS_TERMCAP_me=$(printf "\e[0m") \
 
LESS_TERMCAP_se=$(printf "\e[0m") \
 
LESS_TERMCAP_so=$(printf "\e[1;47;30m") \
 
LESS_TERMCAP_ue=$(printf "\e[0m") \
 
LESS_TERMCAP_us=$(printf "\e[0;36m") \
 
man "$@"
 
}
 
</pre>
 
 
 
要调整颜色,参见:[[Wikipedia:ANSI escape code]] for reference.
 
  
 
==使用浏览器阅读手册页==
 
==使用浏览器阅读手册页==
Line 158: Line 87:
  
 
===使用本地手册页===
 
===使用本地手册页===
首先,从[[Official Repositories (简体中文)|官方软件仓库]]安装软件包{{Pkg|man2html}}。
+
首先,从[[Official repositories (简体中文)|官方软件仓库]]安装软件包{{Pkg|man2html}}。
  
 
然后使用它转换man手册页:
 
然后使用它转换man手册页:
Line 173: Line 102:
 
===使用在线手册页===
 
===使用在线手册页===
 
许多网站提供在线man手册页,详细列表参见:[[Wikipedia:Man_page#Repositories_of_manual_pages]]。
 
许多网站提供在线man手册页,详细列表参见:[[Wikipedia:Man_page#Repositories_of_manual_pages]]。
 +
*[http://man7.org/linux/man-pages/index.html Man7.org.] Upstream for Arch Linux's {{pkg|man-pages}}.
 
*[http://manpages.debian.net/ ''Debian GNU/Linux man pages'']
 
*[http://manpages.debian.net/ ''Debian GNU/Linux man pages'']
 
*[http://leaf.dragonflybsd.org/cgi/web-man ''DragonFlyBSD manual pages'']
 
*[http://leaf.dragonflybsd.org/cgi/web-man ''DragonFlyBSD manual pages'']
Line 180: Line 110:
 
*[http://linux.die.net/man/ ''Linux man pages at die.net'']
 
*[http://linux.die.net/man/ ''Linux man pages at die.net'']
 
* [http://www.kernel.org/doc/man-pages/ The Linux man-pages project at kernel.org]
 
* [http://www.kernel.org/doc/man-pages/ The Linux man-pages project at kernel.org]
*[http://man-wiki.net/index.php/Main_Page Man-Wiki: ''Linux / Solaris / UNIX / BSD'']
 
 
*[http://netbsd.gw.com/cgi-bin/man-cgi ''NetBSD manual pages'']
 
*[http://netbsd.gw.com/cgi-bin/man-cgi ''NetBSD manual pages'']
 
*[http://developer.apple.com/documentation/Darwin/Reference/ManPages/index.html ''Mac OS X Manual Pages'']
 
*[http://developer.apple.com/documentation/Darwin/Reference/ManPages/index.html ''Mac OS X Manual Pages'']
Line 192: Line 121:
 
*[http://www.unix.com/man-page/OpenSolaris/1/man/ ''The UNIX and Linux Forums Man Page Repository'']
 
*[http://www.unix.com/man-page/OpenSolaris/1/man/ ''The UNIX and Linux Forums Man Page Repository'']
 
*[http://manpages.ubuntu.com/ ''Ubuntu Manpage Repository'']
 
*[http://manpages.ubuntu.com/ ''Ubuntu Manpage Repository'']
 
==中文man手册页==
 
AUR中有简体、繁体中文的man手册页软件包:{{AUR|manpages-zh}},提供了部分man手册的中文版本。
 
 
由于中文翻译计划已经停滞,内容可能跟不上英文版本更新。
 

Latest revision as of 06:34, 21 August 2017

man手册页(manual pages,“手册”),是类UNIX系统最重要的手册工具。多数类UNIX都预装了它,这也包括Arch。使用man手册页的命令是:man

man手册页被设计成“自足”的文档库,即论述相关问题时无法通过类似超链接的东西引向其他手册页。GNU正努力改变原始的man手册页格式。

阅读手册页

通过以下命令阅读man手册页:

$ man 手册名

man手册页分为下面几个部分:

  1. 普通命令
  2. 内核提供的系统调用
  3. 库调用(C库函数)
  4. 特殊文件(大多在/dev目录下)和设备
  5. 文件格式规范
  6. 游戏
  7. 杂项(及其规范)
  8. 系统管理命令(通常需要root权限)和守护进程

man手册页通过名称和所属分类标识。有些不同分类的man手册页名字可能相同,比如 man(1) 和 man(7),这时需要额外指明分类以访问需要的手册。例如:

$ man 5 passwd

会显示有关文件/etc/passwd,而非命令 passwd,的内容。

通过whatis命令,可以只显示需要的man手册页的简要信息。如果只是想获取对命令 ls 的简要说明,使用以下命令:

$ whatis ls

然后会得到输出:“list directory contents.”(“列目录内容”)。

格式

所有man手册页都按照以下标准格式组织:

  • NAME - 手册叙述对象名称,及简要描述。
  • SYNOPSIS - 命令参数格式,或者函数调用格式等。
  • DESCRIPTION - 对叙述对象更加详细的描述。
  • EXAMPLES - 由浅入深的使用示例。
  • OPTIONS - 命令行或者函数调用参数的意义。
  • EXIT STATUS - 不同返回(退出)代码的含义。
  • FILES - 与叙述对象相关的文件。
  • BUGS - 已知的bug。
  • SEE ALSO - 相关内容列表。
  • AUTHOR, HISTORY, COPYRIGHT, LICENSE, WARRANTY - 历史、版权、编者信息。

搜索手册页

如果用户压根儿不知道要查阅的手册的名称,该怎么办呢?没事,通过 -k 或者 --apropos 参数就可以按给定关键词搜索相关手册。例如,要查阅有关密码的手册(“password”):

关键词搜索特性是从一个专用的缓存生成的。默认情况下你没有这个缓存,所以无论你搜什么,都会提示你nothing appropriate。你可以通过下面的命令来生成这个缓存:

# mandb

每当你安装新的manpage之后都需要运行这个命令,缓存才会更新。

现在你可以开始搜索了。 例如,要查阅有关密码的手册(“password”):

$ man -k password

或者:

$ man --apropos password

还可以直接使用 apropos 命令:

$ apropos password

关键字可以使用正则表达式。

如果你想全文搜索的话,你可以用-K选项:

$ man -K password

使用浏览器阅读手册页

还可以通过LynxFirefox之类的浏览器阅读man手册页。由于使用浏览器,手册页可以支持超链接。

此外,KDE用户可以直接在Konqueror使用以下地址访问man手册:

man:<name>

使用本地手册页

首先,从官方软件仓库安装软件包man2html

然后使用它转换man手册页:

$ man free | man2html -compress -cgiurl man$section/$title.$section$subsection.html > ~/man/free.html

此外,man2html还可以把man页转换为便于打印的文本文件:

$ man free | man2html -bare > ~/free.txt

Arch提供的man也具有浏览器阅读功能:

$ man -H free

BROWSER环境变量决定使用的浏览器。也可以使用 man -Hlynx(H后无空格)这样的形式手动设置浏览器。

使用在线手册页

许多网站提供在线man手册页,详细列表参见:Wikipedia:Man_page#Repositories_of_manual_pages