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

From ArchWiki
Jump to navigation Jump to search
(update interlanguage links)
(Tag: wiki-scripts)
 
(26 intermediate revisions by 8 users not shown)
Line 1: Line 1:
[[Category:简体中文]]
+
[[Category:Software (简体中文)]]
[[Category:Utilities (简体中文)]]
+
[[ar:Man page]]
[[Category:HOWTOs (简体中文)]]
+
[[en:Man page]]
{{i18n|Man Page}}
+
[[es:Man page]]
 
+
[[id:Man page]]
{{Article summary start|摘要}}
+
[[ja:Man ページ]]
{{Article summary text|如何在Linux获取帮助?什么是man页?如何使用它?}}
+
[[ko:Man page]]
<!--
+
[[pt:Man page]]
{{Article summary heading|Related}}
+
[[ru:Man page]]
{{Article summary wiki|}}
+
{{Related articles start (简体中文)}}
-->
+
{{Related|Color output in console#man}}
{{Article summary end}}
+
{{Related articles end}}
 
+
'''man手册页'''(manual pages,“手册”),是类UNIX系统最重要的手册工具。多数类UNIX都预装了它,这也包括Arch。使用man手册页的命令是:{{ic|man}}。
'''man手册页'''(manual pages,“手册”),是类UNIX系统最重要的手册工具。多数类UNIX都预装了它,这也包括Arch。使用man手册页的命令是:{{Codeline|man}}。
 
  
 
man手册页被设计成“自足”的文档库,即论述相关问题时无法通过类似超链接的东西引向其他手册页。GNU正努力改变原始的man手册页格式。
 
man手册页被设计成“自足”的文档库,即论述相关问题时无法通过类似超链接的东西引向其他手册页。GNU正努力改变原始的man手册页格式。
Line 35: Line 34:
 
  $ man 5 passwd
 
  $ man 5 passwd
  
会显示有关文件{{Codeline|/etc/passwd}},而非命令 {{Codeline|passwd}},的内容。
+
会显示有关文件{{ic|/etc/passwd}},而非命令 {{ic|passwd}},的内容。
  
通过{{Codeline|whatis}}命令,可以只显示需要的man手册页的简要信息。如果只是想获取对命令 ls 的简要说明,使用以下命令:
+
通过{{ic|whatis}}命令,可以只显示需要的man手册页的简要信息。如果只是想获取对命令 ls 的简要说明,使用以下命令:
  
 
  $ whatis ls
 
  $ whatis ls
Line 57: Line 56:
  
 
==搜索手册页==
 
==搜索手册页==
Whilst the {{Codeline|man}} utility allows users to display man pages, a problem arises when one knows not the exact name of the desired manual page in the first place! Fortunately, the {{Codeline|-k}} or {{Codeline|--apropos}} options can be used to search the manual page descriptions for instances of a given keyword. For example, to search for man pages related to "password":
+
如果用户压根儿不知道要查阅的手册的名称,该怎么办呢?没事,通过 {{ic|-k}} 或者 {{ic|--apropos}} 参数就可以按给定关键词搜索相关手册。例如,要查阅有关密码的手册(“password”):
 +
 
 +
关键词搜索特性是从一个专用的缓存生成的。默认情况下你没有这个缓存,所以无论你搜什么,都会提示你''nothing appropriate''。你可以通过下面的命令来生成这个缓存:
 +
# mandb
 +
每当你安装新的manpage之后都需要运行这个命令,缓存才会更新。
 +
 
 +
现在你可以开始搜索了。
 +
例如,要查阅有关密码的手册(“password”):
  
 
  $ man -k password
 
  $ man -k password
  
or:
+
或者:
  
 
  $ man --apropos password
 
  $ man --apropos password
  
This is equivalent to calling the {{Codeline|apropos}} command:
+
还可以直接使用 {{ic|apropos}} 命令:
  
 
  $ apropos password
 
  $ apropos password
  
The given keyword is interpreted as a regular expression by default.
+
关键字可以使用正则表达式。
  
==彩色显示==
+
如果你想全文搜索的话,你可以用{{ic|-K}}选项:
For some users, color-enabled man pages allow for a clearer presentation and easier digestion of the content. Given that users new to Linux are prone to spend a considerable amount of time familiarizing themselves with basic userspace tools, setting up a comfortable environment is a necessity to most.
+
$ man -K password
  
There are two prevalent methods for achieving colored man pages: using {{Codeline|most}}, or opting for {{Codeline|less}}. The former is simpler to configure, at the expense of the advanced functionality that is native to {{Codeline|less}}.
+
==使用浏览器阅读手册页==
 +
还可以通过[[lynx (简体中文)|Lynx]]或[[Firefox (简体中文)|Firefox]]之类的浏览器阅读man手册页。由于使用浏览器,手册页可以支持超链接。
  
===方法一:使用most===
+
此外,[[KDE]]用户可以直接在Konqueror使用以下地址访问man手册:
Install {{package Official|most}} using [[pacman]]:
 
# pacman -S most
 
This is similar to {{Codeline|less}} and {{Codeline|more}}, yet allows rendering colored text in an easier way.
 
 
 
Edit {{Filename|/etc/man_db.conf}}, uncomment the pager definition and change it to:
 
DEFINE    pager    most -s
 
Test the new setup by typing:
 
$ man whatever_man_page
 
 
 
Modifying the color values requires editing {{Filename|~/.mostrc}} (creating the file if it is not present) or editing {{Filename|/etc/most.conf}} for system-wide changes. Example {{Filename|~/.mostrc}}:
 
% Color settings
 
color normal lightgray black
 
color status yellow blue
 
color underline yellow black
 
color overstrike brightblue black
 
Another example showing keybindings similar to {{Codeline|less}} (jump to line is set to 'J'):
 
% 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>''Source: [http://nion.modprobe.de/blog/archives/572-less-colors-for-man-pages.html nion's blog - less colors for man pages]''</small>
 
 
 
Alternatively, getting an approximate coloured result in manual pages with {{Codeline|less}} is also a possibility. This method has the advantage that {{Codeline|less}} has a bigger feature set than {{Codeline|most}}, and that might be the preference for advanced users.
 
 
 
Add the following to a shell configuration file. For [[Bash]] it would be {{Filename|~/.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>
 
 
 
To customize the colors, see [[Wikipedia:ANSI escape code]] for reference.
 
 
 
==使用浏览器阅读手册页==
 
Instead of the standard interface, using browsers such as [[lynx]] and [[Firefox]] to view man pages allows users to reap info pages' main benefit: hyperlinked text.
 
Additionally, [[KDE]] users can read man pages in Konqueror using:
 
 
  man:<name>
 
  man:<name>
  
===Using Local Man Pages===
+
===使用本地手册页===
First, install {{package AUR|man2html}} from the [[AUR]].
+
首先,从[[Official repositories (简体中文)|官方软件仓库]]安装软件包{{Pkg|man2html}}
  
Now, convert a man page:
+
然后使用它转换man手册页:
 
  $ man free | man2html -compress -cgiurl man$section/$title.$section$subsection.html > ~/man/free.html
 
  $ man free | man2html -compress -cgiurl man$section/$title.$section$subsection.html > ~/man/free.html
  
Another use for {{codeline|man2html}} is exporting to raw, printer-friendly text:
+
此外,{{ic|man2html}}还可以把man页转换为便于打印的文本文件:
 
  $ man free | man2html -bare > ~/free.txt
 
  $ man free | man2html -bare > ~/free.txt
  
The GNU implementation of man in the Arch repositories also has the ability to do this on its own:
+
Arch提供的man也具有浏览器阅读功能:
 
  $ man -H free
 
  $ man -H free
  
This will read your <code>BROWSER</code> environment variable to determine the browser. You can override this by passing the binary to the -H option.
+
由{{ic|BROWSER}}环境变量决定使用的浏览器。也可以使用 {{ic|man -Hlynx}}(H后无空格)这样的形式手动设置浏览器。
  
 
===使用在线手册页===
 
===使用在线手册页===
There are several online databases of man pages, many of them listed on [[Wikipedia:Man_page#Repositories_of_manual_pages]], including:
+
许多网站提供在线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'']

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