1.命令简介

man(manual) 命令用于查看命令帮助、配置文件帮助和编程帮助等信息。

Linux 提供了丰富的命令以及帮助手册,当需要了解某个命令的作用及用法时,可以使用 man 查看一下其帮助手册,同时也可以使用 man man 查看 man 命令的使用方法。当需要了解与编程相关的系统调用以及库函数的用法时,也可以通过 man 查看接口的帮助手册。此外,系统相关的配置文件的介绍也可以通过 man 来查看。

man 可以查询不同类型的帮助手册,当目标存在多个不同类型的帮助手册时,我们可以指定要查找的手册类型,也可以不指定,此时 man 会搜索所有类型的帮助手册,但是只会按照预定义的顺序展示第一个。预定义的顺序可以使用环境变量 $MANSECT 或配置文件 /usr/local/etc/man_db.conf 中的 SECTION 指令指定,默认为:

1 8 3 2 5 4 9 6 7

帮助手册分为多种类型,即不同的 section,主要有:

1    可执行程序或 Shell 命令
1p  可执行程序或 Shell 命令(POSIX 版)
2   系统调用(内核提供的函数)
3   库调用(程序库中的函数)
4   特殊文件(通常在/dev中找到)
5   文件格式和约定,如 /etc/passwd
6   游戏
7   杂项(包括宏包和约定),例如 man(7)、groff(7)
8   系统管理命令(通常只针对 root 用户)
9   内核相关文件[非标准]

帮助手册约定内容包括:

NAME         名称
SYNOPSIS        简介
CONFIGURATION   配置
DESCRIPTION     描述
OPTIONS         选项
EXIT STATUS     退出码
RETURN VALUE    返回值
ERRORS          错误
ENVIRONMENT     环境变量
FILES           相关文件
VERSIONS        版本
CONFORMING TO   遵循的规则
NOTES           注意事项
BUGS            缺陷
EXAMPLE         示例
AUTHORS         作者
COPYRIGHT       版权
SEE ALSO        拓展阅读
HISTORY         维护历史

在表现形式上,手册遵循如下规则:

粗体内容:重点关键词
斜体内容:待替换内容。因为终端渲染问题,一般使用下划线或彩色文本替代斜体
[-abc]:中括号内的选项或内容是可选的
-a|-b:被 | 分隔的选项是多选一,不能一起使用
...:三个点号表示重复

2.命令格式

man [OPTION]... [[SECTION] PAGE]...

man 可以不跟任何选项与参数,会输出如下提示信息:

What manual page do you want?

3.选项说明

阅读下面的选项说明,需要注意以下几点:
(1)没有参数的选项可以重复出现,有参数的选项如果重复出现,后面选项的参数将会覆盖前面的参数;
(2)长选项的必填参数对于短选项也是必须的。

一般选项:
-C, --config-file=FILE使用指定的用户配置文件而不是默认的 ~/.manpath
-d, --debug打印 debug 信息
-D, --default此选项通常作为第一个选项,将 man 的行为重置为默认行为。它的用途是重置那些可能已经在 $MANOPT 中设置的选项。在 -D 后面的选项会正常生效
--warnings[=WARNINGS]启动来自 groff 的告警。groff 是 GNU 版 troff,是文字排版工具主要操作模式:
-f, --whatis等同于 whatis 命令,显示手册页中的简短说明(如果可用),详见 whatis(1)
-k, --apropos等同于 apropos 命令,按照关键字搜索手册页中的简短描述并显示任何匹配,详见 apropos(1)
-K, --global-apropos在所有手册页中搜索文本。这是蛮力搜索,可能需要一些时间,如果可以,应该指定一个 section 来减少需要搜索的手册页数量
-l, --local-file激活本地模式。格式化和显示本地手册文件,而不是通过搜索系统的手册集
-w, --where, --path, --location不显示手册页内容,输出手册的位置
-W, --where-cat, --location-cat不显示手册页内容,输出 cat 文件的位置
-c, --catman此选项不用于一般用途,只能由管理员命令 catman 使用
-R encoding, --recode=encoding以指定编码输出手册内容寻找手册页:
-L, --locale=LOCALEman 通常通过调用 C 函数setlocale(3)来确定当前的语言环境,该函数询问各种环境变量,可能包括 $LC_MESSAGES 和 $LANG。该选项可以临时改变 man 的语言环境
-m, --systems=SYSTEM[,...]访问其他系统的手册页集,可指定多个不同的系统
-M, --manpath=path指定手册页的路径。该选项将会覆盖环境变量 $MANPATH 且使 man 忽略选项 -m 选项
-S, -s, --sections=LIST指定 man 搜索的手册页类型列表,使用冒号或逗号分隔,man 将按照给定的顺序进行搜索。该选项将覆盖环境变量 $MANSECT
-e , --extension=SUB-EXTENSION将搜索限制在扩展类型为 SUB-EXTENSION 的手册页之内
-i, --ignore-case搜索手册页时忽略大小写(默认)
-I, --match-case搜索手册页时大小写敏感
--regex以正则表达式搜索手册页并显示所有匹配的手册页
--wildcard以通配符搜索手册页并显示所有匹配的手册页
--names-only当使用选项 --regex 或 --wildcard 时,只搜索手册页的 NAME 部分,不搜索 DESCRIPTION 部分
-a, --all显示所有匹配的手册页而不是仅显示第一个匹配的手册页
-u, --update该选项导致 man 对其数据库缓存执行 inode 级别的一致性检查,以确保它们是文件系统的准确表示。只有安装了设置了 setuid 位的 man 才会产生有用的效果
--no-subpages出线成对的手册页名时,第二个手册页名作为单独的手册页名,而是不第一个手册页的子手册页。比如有些命令存在子命令,例如 git控制格式化输出:
-P, --pager=PAGER指定浏览手册页的工具,man 默认使用 less -s。该选项覆盖 $MANPAGER 环境变量,后者又覆盖 $PAGER 环境变量。它不与 -f 或 -k 连用
-r, --prompt=PROMPT如果使用 less 作为手册页的浏览工具,man 将尝试设置其提示和一些合理的选项。默认提示为 Manual page name(sec) line x
-7, --ascii使用 ASCII 字符浏览手册页
-E, --encoding=ENCODING使用指定编码输出手册也内容
--no-hyphenation, --nh换行处不使用连字符
--no-justification, --nj不调整字距离以铺满整行
-p, --preprocessor=STRING指定在 nroff 或 troff/groff 之前运行的预处理程序的顺序
-t, --troff使用 groff -mandoc 将手册页格式化为标准输出。给定 -H、-T 或 -Z 不需要此选项
-T, --troff-device[=DEVICE]此选项用于更改 groff(或 troff)的输出设备,使其适合于默认设备之外的设备
-H, --html[=BROWSER]此选项将导致 groff 生成 HTML 输出,并将在 web 浏览器中显示该输出
-X, --gxditview[=DPI]使用 gxditview 程序在图形窗口中显示 groff 的输出。DPI(点/英寸)可能是 75、75-12、100 或 100-12,默认为 75
-Z, --ditroffgroff 将运行 troff,然后使用适当的后处理器生成适合所选设备的输出。如果 groff 表示 groff -mandoc,那么 该选项将抑制 groff 使用后处理器获取帮助:
-?, --help输出帮助并推出
--usage打印一个简短的用法并退出
-V, --version输出版本并退出

实际上,日常使用 man 时很少会用到 man 的选项,最常用的是指定手册类型和手册名:

man SECTION PAGE

4.交互式命令

由于 man 默认使用 less 作为手册的浏览工具,这里给出 less 常用的浏览导航交互式命令。如果忘记命令,可以键入 h 或 H 查看命令的帮助信息。

ENTER 向前滚动一行
y 向后滚动一行d 向前滚动半屏
u 向后滚动半屏f 向前滚动一屏
b 向后滚动一屏g 跳转到文件首行
G 跳转到文件末行/PATTERN 向前搜索指定内容
n 跳转到下一个匹配项
N 跳转到前一个匹配项h 显示帮助信息
q 退出

5.常用示例

(1)查看用户命令 man 的帮助手册。

man man# 或
man 1 man

如果想查看 POSIX 版本的命令帮助手册,指定 SECTION 为 1p 即可。

man 1p man

(2)查看系统调用 read 的帮助手册。

man 2 read

(3)查看库函数 printf 的帮助手册。

man 3 printf

(4)查看特殊的设备文件 tty 的帮助手册。

man 4 tty

(5)查看用户信息文件 /etc/passwd 格式说明。

man 5 passwd

(6)查看用于格式化手册的宏。

man 7 man

(7)查看系统管理命令 mount。

man 8 mount

(8)查看手册的地址而不是手册内容,以 man 命令为例。

man -w man
/usr/share/man/man1/man.1.gz

参考文献

man(1) manual
GNU troff (Groff) — a GNU project
Linux 命令(89)—— less 命令

Linux 命令(0)—— man 命令相关推荐

  1. Linux 运维常用命令 find、awk、sed、grep、vi、ps、lsof、rpm

    先用一个脚本,模拟创建 14 个测试文件: #!/bin/bash for ((i=1;i<=10;i++)); do if [ $i -lt 3 ] thentouch /home/mysql ...

  2. linux 命令删除命令,Linux 命令之删除命令

    在Linux下删除文件用rm命令,具体用法如下: rm [选项] 文件 选项说明: -f -force 忽略不存在的文件,强制删除,无任何提示 -i --interactive 进行交互式地删除 -r ...

  3. Linux下视频截取命令

    比如你有一个视频,然后你对其中某一段感兴趣,你想把他截取下来,并且不希望画面变差,(当然你也不想花钱买视频编辑软件),可以在Linux下使用如下命令: ffmpeg -ss 00:00:05 -t 0 ...

  4. Linux常用20条命令

    Linux常用20条命令 假装这里有个标题 1.cd 2.ls 3.grep 4.find 5.cp 6.mv 7.rm 8.ps 9.kill 10.kill all 11.file 12.tar ...

  5. VMware里的linux系统里的命令行里会有bee的声音,要如何关掉

    VMware里的linux系统里的命令行里会有bee的声音,要如何关掉 取消bell报警声的方法:登陆linux系统vi /etc/inputrc找到set bell-style none 将前面的# ...

  6. Linux常用性能检测命令

    一.uptime     Uptime命令的显示结果包括服务器已经运行了多长时间,有多少登陆用户和对服务器性能的总体评估(load average).load average值分别记录了上个1分钟,5 ...

  7. 执行远程linux命令,linux shell 远程执行命令

    经常要部署多台服务器上面的应用,如果一个个机器的登录太麻烦. 所有就想到编写一个脚本来部署不同的服务器 前提条件: 配置ssh免登陆 如果不会的请参加我的另外一篇文章 http://blog.csdn ...

  8. 小猿圈Linux学习-Linux种搜索的命令

    做Linux工程师的每天都不能少的工作就是搜索文件,这是他们的日常活动,很繁琐很枯燥,所以我们就需要知道一些搜索的命令,这些命令更高效更快捷,今天小猿圈就给大家分享4个可以搜索的Linux命令.. 方 ...

  9. Linux 打包及压缩命令使用方法总结

    欢迎关注方志朋的博客,回复"666"获面试宝典 来源:https://tanjuntao.github.io/ 1. 概览 在这篇文章中,我将总结 Linux 系统下面常见的几种压 ...

  10. Linux之文件权限命令

    Linux之文件权限命令 1. chmod命令的介绍 命令 说明 chmod 修改文件权限 chmod修改文件权限有两种方式: 字母法 数字法 2. chmod 字母法的使用 角色说明: 角色 说明 ...

最新文章

  1. 在Developerkit开发板上运行blink例程
  2. 【图文】Excel中vlookup函数的使用方法
  3. Winform Textbox实现滚动条始终在最下面
  4. sql注入攻击与防御第二版读书笔记二——SQL盲注利用
  5. Mac终端Terminal使用
  6. 平安性格测试题及答案_面试要求做性格测试,该怎么做?
  7. java8源代码_java8 源码解读
  8. 计算机桌面图标变成腾讯图标,桌面图标变成了未知图标
  9. 存储过程编写经验和优化措施 1
  10. php while 自增,PHP 布尔值的自增与自减的实现方法
  11. darknet 的python接口使用
  12. 【pyhive】本地使用pyhive连接hive数据库踩的坑
  13. 估值模型不适用_揭开市盈率估值法的真正面纱 | 实战案例系列
  14. Windows服务器IE浏览器无法下载文件解决方法
  15. 垃圾场恶臭环境监测系统方案
  16. 全面认识数据指标体系
  17. 干货分享 | 最新机器学习视频教程与数据集下载(持续更新......)
  18. for循环占用的指令周期问题
  19. C++入门——仿真小球自由落体运动和抛物线运动
  20. PostgreSQL的ON CONFLICT

热门文章

  1. 芬兰称议员的邮件账户遭黑客访问
  2. Google Maps 补丁绕过、得双倍奖金这么简单?我陷入了自我怀疑
  3. MITRE 发布 2020 CWE Top 25 榜单
  4. 超燃!奇安信首度对外公开内部网络攻防演习纪实片
  5. vue 监听state 任意值变化、监听mutations actions
  6. AngularJS判断checkbox/复选框是否选中并实时显示
  7. Linux入门之VIM快捷使用
  8. Scroll View 控件以Thumbnail的方式显示一个目录的全部图片,相似图片浏览器
  9. Linux高性能server规划——多线程编程(在)
  10. Ubuntu 13.10 用sogou拼音替换ibus-转