linux基础45——man

Linux的man命令用于查阅命令、系统调用、库函数等的帮助文档。通过man可以查看不同section的手册,如命令(1)、系统调用(2)、库函数(3)等。man命令支持多种选项进行搜索和格式化输出,如按名称、正则表达式搜索,或指定手册类型。日常使用中,通常直接输入`man命令名`即可查看对应帮助。交互式浏览手册时,可以使用less命令的导航快捷键进行翻页和搜索。
摘要由CSDN通过智能技术生成

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=LOCALE
 man 通常通过调用 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, --ditroff
 groff 将运行 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 命令为例。

[root@192 ~]# man -w man
/usr/share/man/zh_CN/man1/man.1.gz
[root@192 ~]# 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值