Linux(centOS 6)中的 man 指令

man指令概述

man命令是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。

如果后面的参数包含斜杠(/),则man将其解释为文件规范,以便您可以执行man ./foo.5,甚至man /cd/foo/bar.1.gz。(也就是会显示文件帮助,譬如文件内容格式等说明信息或文件内容)

手册原文写的是“格式化并显示联机手册页”

man指令语法

man [选项] 参数

man指令选项

-a
# 默认情况下,man将在显示它找到的第一个手册页面后退出。使用此选项将强制man显示与名称匹配的所有手册页,而不仅仅是第一个。
# 简言之,他会给你展示所有有关的手册页,而不是仅搜索到的第一个。
-B 指定的浏览器路径
# 指定在HTML文件上使用哪个浏览器。(前面说过man可以尝试打开任何文件)此选项将重写浏览器环境变量。
# 默认情况下,man使用/usr/bin/less-is
-C 配置文件名
# 指定要使用的配置文件;默认为/etc/man.config
-c
# 重新格式化源手册页。即使存在最新版本的目录页,也会重新格式化(回归预置的旧版本)。
# 用于修复手册
-D
# 显示手册页并打印调试信息。
-d
# 不显示手册页打印调试信息。
-F 或 --preformat
# 仅格式化,不显示
# 对指令无效
-f
# 等价于whatis指令,显示给定关键字的简短描述信息。
-H htmlpager
# 指定将HTML文件呈现为文本。此选项覆盖HTMLPAGER环境变量。默认情况下,man使用/bin/cat
-h 或 --help
# 显示该指令的简单帮助。(万用参数)
-K
# 在全部手册页中搜索指定的字符串。
# 手册里给出了很贴心的警告:“这可能很慢!(举个例子,在我的机器上,每500个手册页大约需要一分钟。)”
-k(小写)
# 相当于apropos,在一些特定的包含系统命令的简短描述的数据库文件里查找关键字,然后把结果送到标准输出。
-M [搜索路径]
# 指定要搜索手册页的目录。用冒号分隔目录。空列表与不指定 -m 相同。
-m 系统名称
# 根据指定的系统名称指定一组备用的联机手册。
-P pager
# 指定要使用的pager。此选项重写MANPAGER环境变量,后者反过来重写pager变量。默认情况下,man使用/usr/bin/less-is。
-p(小写) 顺序串
# 指定要在nroff或troff之前运行的预处理程序的顺序。并不是所有的安装都有完整的预处理程序。一些预处理器和用于指定它们的字母是:eqn  (e),  grap  (g), pic (p), tbl (t), vgrind (v), refer (r)。此选项重写MANROFFSEQ环境变量。
# nroff和troff是将文本文件格式化为打印机所需的格式的UNIX命令。
-S(大写)  List
 # List是一个用冒号隔开的要搜索的手册的列表。此选项重写MANSECT环境变量。
-t 
# 使用/usr/bin/groff-tps-mandoc格式化手册页面,将输出传递给stdout。默认的输出格式/usr/bin/groff-tps-mandoc是Postscript
# 有关选择替代格式的方法,请参阅/usr/bin/groff-tps-mandoc的手册页。
-v, -V 或 --version
# 打印版本信息,并退出(万用指令)
-W
# 类似-w,但是打印文件名为每行一个,没有其他信息。
-w 或 --path
# 不实际显示手册页,但打印要格式化或显示的文件的位置。如果没有给出参数:显示(在stdout上)由man搜索手册页的目录列表。
# 如果manpath的是man的一个链接, 那么 "manpath" 就相当于"man --path".

有关pager变量请参见下面执行结果中的手册

man指令的执行结果

  • 这里执行
man man
  • 结果如下:
    会打开一个全新的浏览界面,显示如下:
man(1)         # 这里左右都有一个"man(1)",表示这是“man”手册的第(1)章节                                                  man(1)

NAME           # 这一栏介绍指令的由来及作用简介
       man - format and display the on-line manual pages

SYNOPSIS       # 这一栏介绍的语法
       man  [-acdDfFhkKtvVwW]  [--path] [-m system] [-p string] [-C config_file] [-M pathlist] [-P pager]
       [-B browser] [-H htmlpager] [-S section_list] [section] name ...

DESCRIPTION   # 指令的详细描述
       man formats and displays the on-line manual pages.  If you specify section, man only looks in that
       section  of the manual.  name is normally the name of the manual page, which is typically the name
       of a command, function, or file.  However, if name contains a slash (/) then man interprets it  as
       a file specification, so that you can do man ./foo.5 or even man /cd/foo/bar.1.gz.

       See below for a description of where man looks for the manual page files.

MANUAL SECTIONS         # 这是一个手册目录,介绍的是手册的标准部分的内容。
       The standard sections of the manual include:

       1      User Commands

       2      System Calls

       3      C Library Functions

       4      Devices and Special Files

       5      File Formats and Conventions

       6      Games et. Al.

       7      Miscellanea

       8      System Administration tools and Daemons

       Distributions customize the manual section to their specifics, which often include additional sec-
       tions.

OPTIONS                 # 这里是选项的用法及说明
       -C  config_file
              Specify  the  configuration  file  to  use;  the default is /etc/man.config.  (See man.con-
              fig(5).)

       -M  path
              Specify the list of directories to search for man pages.   Separate  the  directories  with
              colons.  An empty list is the same as not specifying -M at all.  See SEARCH PATH FOR MANUAL

       -P  pager
              Specify which pager to use.  This option overrides the MANPAGER environment variable, which
              in turn overrides the PAGER variable.  By default, man uses /usr/bin/less -is.

       -B     Specify  which browser to use on HTML files.  This option overrides the BROWSER environment
              variable. By default, man uses /usr/bin/less-is,

       -H     Specify a command that renders HTML files as text.  This  option  overrides  the  HTMLPAGER
              environment variable. By default, man uses /bin/cat,

       -S  section_list
              List  is  a  colon  separated list of manual sections to search.  This option overrides the
              MANSECT environment variable.

       -a     By default, man will exit after displaying the first manual  page  it  finds.   Using  this
              option forces man to display all the manual pages that match name, not just the first.

       -c     Reformat  the  source man page, even when an up-to-date cat page exists.  This can be mean-
              ingful if the cat page was formatted for a screen with a different number of columns, or if
              the preformatted page is corrupted.

       -d     Don’t actually display the man pages, but do print gobs of debugging information.

       -D     Both display and print debugging info.

       -f     Equivalent to whatis.

       -F or --preformat
              Format only - do not display.

       -h or --help
              Print a help message and exit.

       -v, -V or --version
              Print version information and exit.

       -k     Equivalent to apropos.

       -K     Search for the specified string in *all* man pages. Warning: this is probably very slow! It
              helps to specify a section.  (Just to give a rough idea, on my machine this takes  about  a
              minute per 500 man pages.)

       -m  system
              Specify an alternate set of man pages to search based on the system name given.

       -p  string
              Specify  the sequence of preprocessors to run before nroff or troff.  Not all installations
              will have a full set of preprocessors.  Some of the preprocessors and the letters  used  to
              designate  them  are:  eqn  (e),  grap  (g), pic (p), tbl (t), vgrind (v), refer (r).  This
              option overrides the MANROFFSEQ environment variable.

       -t     Use /usr/bin/groff -Tps -mandoc to format the manual page, passing the  output  to  stdout.
              The default output format of /usr/bin/groff -Tps -mandoc is Postscript, refer to the manual
              page of /usr/bin/groff -Tps -mandoc for ways to pick an alternate format.

       Depending on the selected format and the availability of printing devices, the output may need  to
       be passed through some filter or another before being printed.

       -w or --path
              Don’t  actually display the man pages, but do print the location(s) of the files that would
              be formatted or displayed. If no argument is given: display (on stdout) the list of  direc-
              tories  that  is searched by man for man pages. If manpath is a link to man, then "manpath"
              is equivalent to "man --path".

       -W     Like -w, but print file names one per line, without additional information.  This is useful
              in shell commands like man -aW man | xargs ls -l

# 从这里开始,将对各条指令的执行的结果、原理、库、设备文件等进行描述,不同指令各不相同

CAT PAGES
       Man will try to save the formatted man pages, in order to save formatting time the next time these
       pages are needed.  Traditionally, formatted versions of pages in DIR/manX are saved  in  DIR/catX,
       but  other mappings from man dir to cat dir can be specified in /etc/man.config.  No cat pages are
       saved when the required cat directory does not exist.  No cat pages are saved when they  are  for-
       matted  for  a line length different from 80.  No cat pages are saved when man.config contains the
       line NOCACHE.

       It is possible to make man suid to a user man. Then, if a cat directory has  owner  man  and  mode
       0755 (only writable by man), and the cat files have owner man and mode 0644 or 0444 (only writable
       by man, or not writable at all), no ordinary user can change the cat pages or put other  files  in
       the  cat  directory.  If  man  is not made suid, then a cat directory should have mode 0777 if all
       users should be able to leave cat pages there.

       The option -c forces reformatting a page, even if a recent cat page exists.

HTML PAGES
       Man will find HTML pages if they live in directories named as expected to be ".html", thus a valid
       name for an HTML version of the ls(1) man page would be /usr/share/man/htmlman1/ls.1.html.

SEARCH PATH FOR MANUAL PAGES
       man  uses a sophisticated method of finding manual page files, based on the invocation options and
       environment variables, the /etc/man.config configuration file, and some built in  conventions  and
       heuristics.

       First  of all, when the name argument to man contains a slash (/), man assumes it is a file speci-
       fication itself, and there is no searching involved.

       But in the normal case where name doesn’t contain a slash, man searches a variety  of  directories
       for a file that could be a manual page for the topic named.

       If  you specify the -M pathlist option, pathlist is a colon-separated list of the directories that
       man searches.

       If you don’t specify -M but set the MANPATH environment variable, the value of  that  variable  is
       the list of the directories that man searches.

       If  you  don’t  specify  an  explicit path list with -M or MANPATH, man develops its own path list
       based on the contents of the configuration file /etc/man.config.  The MANPATH  statements  in  the
       configuration file identify particular directories to include in the search path.

       Furthermore,  the  MANPATH_MAP  statements add to the search path depending on your command search
       path (i.e. your PATH environment variable).  For each directory that may be in the command  search
       path,  a  MANPATH_MAP  statement specifies a directory that should be added to the search path for
       manual page files.  man looks at the PATH variable and adds the corresponding directories  to  the
       manual  page  file search path.  Thus, with the proper use of MANPATH_MAP, when you issue the com-
       mand man xyz, you get a manual page for the program that would run if you issued the command  xyz.

       In  addition,  for each directory in the command search path (we’ll call it a "command directory")
       for which you do not have a MANPATH_MAP statement, man  automatically  looks  for  a  manual  page
       directory  "nearby"  namely  as  a  subdirectory  in the command directory itself or in the parent
       directory of the command directory.

       You  can  disable  the  automatic  "nearby"  searches  by  including  a  NOAUTOPATH  statement  in
       /etc/man.config.

       In  each directory in the search path as described above, man searches for a file named topic.sec-
       tion, with an optional suffix on the section number and possibly  a  compression  suffix.   If  it
       doesn’t  find  such  a file, it then looks in any subdirectories named manN or catN where N is the
       manual section number.  If the file is in a catN subdirectory, man assumes it is a formatted  man-
       ual page file (cat page).  Otherwise, man assumes it is unformatted.  In either case, if the file-
       name has a known compression suffix (like .gz), man assumes it is gzipped.

       If you want to see where (or if) man would find the manual page for a particular  topic,  use  the
       --path (-w) option.

ENVIRONMENT         # 这里是一些可选设置项的效果描述,也就是环境变量
       MANPATH
              If  MANPATH  is set, man uses it as the path to search for manual page files.  It overrides
              the configuration file and the automatic search path, but is overridden by the  -M  invoca-
              tion option.  See SEARCH PATH FOR MANUAL PAGES.

       MANPL  If  MANPL  is set, its value is used as the display page length.  Otherwise, the entire man
              page will occupy one (long) page.

       MANROFFSEQ
              If MANROFFSEQ is set, its value is used to determine the set of  preprocessors  run  before
              running  nroff  or troff.  By default, pages are passed through the tbl preprocessor before
              nroff.

       MANSECT
              If MANSECT is set, its value is used to determine which manual sections to search.

       MANWIDTH
              If MANWIDTH is set, its value is used as the width manpages should be displayed.  Otherwise
              the pages may be displayed over the whole width of your screen.

       MANPAGER
              If  MANPAGER is set, its value is used as the name of the program to use to display the man
              page.  If not, then PAGER is used. If that has no value either, /usr/bin/less -is is  used.

       BROWSER
              The  name  of  a  browser  to  use  for  displaying  HTML  manual pages.  If it is not set,
              /usr/bin/less -is is used.

       HTMLPAGER
              The command to use for rendering HTML manual pages as text.  If it is not set, /bin/cat  is
              used.

       LANG   If  LANG  is  set, its value defines the name of the subdirectory where man first looks for
              man pages. Thus, the command ‘LANG=dk man 1 foo’ will cause man to look  for  the  foo  man
              page in .../dk/man1/foo.1, and if it cannot find such a file, then in .../man1/foo.1, where
              ... is a directory on the search path.

       NLSPATH, LC_MESSAGES, LANG
              The environment variables NLSPATH and LC_MESSAGES (or LANG when the latter does not  exist)
              play  a  role  in locating the message catalog.  (But the English messages are compiled in,
              and for English no catalog is required.)  Note that programs like col(1) called by man also
              use e.g. LC_CTYPE.

       PATH   PATH  helps  determine  the  search path for manual page files.  See SEARCH PATH FOR MANUAL
              PAGES.

       SYSTEM SYSTEM is used to get the default alternate system name (for use with the -m option).

BUGS              # 使用时可能遇到的问题及解决方案
       The -t option only works if a troff-like program is installed.
       If you see blinking \255 or <AD> instead of hyphens, put ‘LESSCHARSET=latin1’ in your environment.

TIPS              # 小贴士
       If you add the line

        (global-set-key [(f1)] (lambda () (interactive) (manual-entry (current-word))))

       to  your  .emacs file, then hitting F1 will give you the man page for the library call at the cur-
       rent cursor position.

       To get a plain text version of a man page, without backspaces and underscores, try

         # man foo | col -b > foo.mantxt

AUTHOR           # 指令的最早提倡者(发明者)
       John W. Eaton was the original author of man.  Zeyd M. Ben-Halim released  man  1.2,  and  Andries
       Brouwer  followed  up with versions 1.3 thru 1.5p.  Federico Lucifredi <flucifredi@acm.org> is the
       current maintainer.

SEE ALSO    # 类似关联文档
       apropos(1), whatis(1), less(1), groff(1), man.config(5).

                              September 19, 2005                        man(1)

使用按键q可以退出该界面。

文章存在不足,如果大佬们发现问题,请指正,感谢

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值