注:本文为 “Linux man 手册” 相关知识点合辑。
略作重排,未整理去重。
man 手册介绍
概述
man 是系统的手册分页程序,用于显示指定程序、工具或函数的手册页。默认按预定顺序搜索所有可用章节,显示第一个匹配页面。用户可指定章节号限制搜索范围。
手册构成
man 手册通常包含以下章节:
| 章节名称 | 解释 |
|---|---|
| NAME | 命令名称和简短介绍 |
| SYNOPSIS | 语法和使用方法 |
| CONFIGURATION | 配置信息 |
| DESCRIPTION | 命令描述 |
| OPTIONS | 命令选项 |
| EXIT STATUS | 退出状态 |
| RETURN VALUE | 返回值 |
| ERRORS | 错误信息 |
| ENVIRONMENT | 环境变量 |
| FILES | 相关文件 |
| VERSIONS | 版本信息 |
| CONFORMING TO | 遵循标准 |
| NOTES | 其他资料 |
| BUGS | BUG 提交方式 |
| EXAMPLE | 示例用法 |
| AUTHORS | 作者信息 |
| SEE ALSO | 相关命令 |
此外,还有 COPYRIGHT(版权信息)、COLOPHON(出版信息)等章节。
man 编号
man 支持 9 个数字编号,用于区分不同类型的手册:
| 数字 | 说明 |
|---|---|
| 1 | 可执行程序或 Shell 命令 |
| 2 | 系统调用(内核提供的函数) |
| 3 | 库调用 |
| 4 | 特殊文件(通常位于 /dev 目录) |
| 5 | 文件格式和约定(比如 /etc/passwd) |
| 6 | 游戏 |
| 7 | 杂项(包括宏包和一些约定)Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7) |
| 8 | 系统管理命令(通常是 root 用户执行的命令) |
| 9 | 内核相关的文件 Kernel routines [Non standard] |
快捷键
打开 man 手册后,按 h 键可进入帮助界面查看快捷键说明:
- j:下移一行
- k:上移一行
- g:跳至第一行
- G:跳至最后一行
- f:向下翻页
- b:向上翻页
- /:向下搜索,搭配 n 跳至下一个匹配项
- ?:向上搜索,搭配 n 跳至上一个匹配项
man 命令常用操作
查看和搜索手册页
- 查看特定软件包的手册页,并使用
grep过滤关键字:
man <package> | grep <keyword>
- 在系统手册页中搜索包含关键字的描述:
man -k <keyword>
- 搜索与关键字相关的命令名称和描述:
apropos <keyword>
- 显示指定命令的简要描述:
whatis <command>
手册页中的搜索操作
- 向前搜索:
/进入搜索模式,输入文本后按回车开始搜索;n跳至下一个匹配项。 - 向后搜索:
?进入反向搜索模式,输入文本后按回车开始搜索;N跳至上一个匹配项。 - 退出搜索模式:
Esc或Ctrl + C退出搜索,返回正常阅读模式。
其他说明
whatis <command / keyword>等价于man -f <command / keyword>apropos <command / keyword>等价于man -k <command / keyword>- 使用
whatis和apropos命令前,需以root身份运行makewhatis创建数据库。
man 命令语法
命令格式
- man [ man 选项 ] [[ 章节 ] 页 …] …
- man -k [ apropos 选项 ] 正则表达式 …
- man -K [ man 选项 ] [ 章节 ] 关键词 …
- man -f [ whatis 选项 ] 页 …
- man -l [ man 选项 ] 文件 …
- man -w | -W [ man 选项 ] page …
示例
- 显示
ls命令的手册页:
man ls
- 显示章节 7 中的
man宏包手册页:
man man.7
- 显示所有可用的
intro手册页:
man -a intro
- 将
bash的手册页格式化为 PostScript 并打印:
man -t bash | lpr -Pps
- 搜索包含关键词
printf的手册页概述:
man -k printf
- 显示
smail的简短说明:
man -f smail
选项
常规选项
- -C 文件:指定用户配置文件,替代默认的
~/.manpath - -d:打印调试信息
- -D:恢复默认行为,忽略
$MANOPT中的设置 - –warnings[= 警告 ]:启用 groff 的警告,检查手册页源文件完整性
搜索选项
- -f, –whatis:显示手册页简短说明
- -k, –apropos:搜索关键词对应的手册页概述
- -K, –global-apropos:在所有手册中搜索文本
- -l, –local-file:格式化并显示本地手册文件
- -w, –where:打印手册页源文件位置
- -W, –where-cat:打印预格式化 cat 文件位置
格式化选项
- -P 分页程序:指定输出分页程序,默认为 pager
- -r 提示:设置分页程序的提示消息
- -7, –ascii:在 7 位编码终端中,使用 latin1 设备以 ascii 显示
- -E 编码:生成指定字符编码的输出
环境变量
- MANPATH:手册页搜索路径
- MANROFFOPT:为格式化工具添加额外命令行参数
- MANROFFSEQ:指定预处理程序集合
- MANSECT:指定搜索的手册章节顺序
- MANPAGER, PAGER:指定显示手册页的程序
- MANLESS:设置 less 分页程序的默认提示字符串
- BROWSER:指定用于显示 HTML 输出的浏览器
默认章节搜索顺序
系统默认 man 搜索顺序查看:
man man
或
manpath
覆盖默认顺序
可通过以下方式修改默认搜索顺序:
- 环境变量:设置
MANSECT,如export MANSECT="3:2:1" - 命令行选项:使用
-S或--sections,如man -S 3:2:1 printf - 配置文件:在
/etc/manpath.config中使用SECTION指令
退出状态
- 0:成功
- 1:用法、语法或配置文件错误
- 2:操作错误
- 3:子进程返回非零状态码
- 16:至少一个页面/关键词不存在或不匹配
Linux 中 man 手册的安装以及使用详解
小道克已于 2023-03-14 05:44:33 修改
man 手册是什么
man 是 manual 的简称,中文可称为手册。man 手册是 Linux 系统提供的一种帮助手册。
man 手册用途
当需要查看某个命令的具体参数和使用方法时,无需在网上搜索,只需使用 man 命令,即可查询出所需命令的具体参数及使用方法。
man 手册安装
首先输入 man 并回车,若出现下列错误,请参阅解决方案:
- This system has been minimized by removing packages and content that are not required on a system
https://blog.youkuaiyun.com/qq_46140800/article/details/114967350

若出现以下所示内容:

则可继续进行下一步操作。
在命令行中输入以下命令来安装 man 手册:
apt-get install man-db

输入 y 进行安装,等待安装完成。
接下来检查是否安装完成,输入命令:
man echo
// 此处查询的是 echo 命令,作为测试,可使用不同的命令进行。

如图所示,若查询到 echo 命令的具体参数,则表示安装成功。
man 手册的安装至此结束。
man 手册如何使用
以下通过举例进行讲解:
首先敲击命令:
man mkdir
# man 命令的名称
查看关于 mkdir 命令的参数及使用方法:
MKDIR (1) User Commands MKDIR (1)
NAME
mkdir - make directories
SYNOPSIS
mkdir [OPTION]... DIRECTORY...
DESCRIPTION
Create the DIRECTORY (ies), if they do not already exist.
Mandatory arguments to long options are mandatory for short options too.
-m, --mode=MODE
set file mode (as in chmod), not a=rwx - umask
-p, --parents
no error if existing, make parent directories as needed
-v, --verbose
print a message for each created directory
-Z set SELinux security context of each created directory to the default type
--context [=CTX]
like -Z, or if CTX is specified then set the SELinux or SMACK security context to CTX
--help display this help and exit
--version
output version information and exit
AUTHOR
Written by David MacKenzie.
REPORTING BUGS
GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report mkdir translation bugs to <https://translationproject.org/team/>
COPYRIGHT
Copyright (C) 2018 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
SEE ALSO
mkdir (2)
Full documentation at: <https://www.gnu.org/software/coreutils/mkdir>
or available locally via: info '(coreutils) mkdir invocation'
man 手册的目录结构:
| 名称 | 含义 |
|---|---|
NAME | 命令名称 |
SYNOPSIS | 命令语法(摘要) |
DESCRIPTION | 命令的详细描述 |
AUTHOR | 命令的作者 |
REPORTING BUGS | 报告错误的途径 |
COPYRIGHT | 版权信息 |
SEE ALSO | 相关文档或命令 |
通常在查询命令时,关注的是第二项和第三项。
section
手册内容通常分为多个部分,左上角的 (1) 表示该命令所属的 section。man 手册分为以下 9 个 section:
section 序号 | 含义 |
|---|---|
| 1 | 可执行文件或 Shell 命令 |
| 2 | 系统调用(内核函数) |
| 3 | 库函数 |
| 4 | 特殊文件(通常在 /dev) |
| 5 | 文件格式(如 /etc/passwd) |
| 6 | 游戏 |
| 7 | 杂项(包括宏包) |
| 8 | 系统管理员命令(通常为 root 用户) |
| 9 | 内核例程(非标准例程) |
如需查看 section 的具体内容,可以使用命令:
man man
如上图所示,mkdir 命令是在可执行文件这个section 的。需要知道的是,如果没有指定 man 在哪个section 中查找,man 将会按照默认的顺序查找这些section 中的命令,只返回含有该命令的第一个文档;如果指定了section ,则只会在指定section 中寻找该命令。所以有时候直接使用 man 而不指定section ,可能不会找到想要的文档。
如果需要指定查询某个 section 中的命令,可以使用以下格式:
man [section] [command]
例如:
man 5 passwd

这里指定 section 序号 为 5,所以会在第五section 中寻找符合要求的文档。
分析具体结构
依旧以 mkdir 为例:

1、NAME 部分(名称)
mkdir 是命令的名称,含义为:make directories,中文意思是:创建目录。
2、SYNOPSIS 部分(摘要,命令语法)
mkdir [OPTION]... DIRECTORY...
“OPTIONS” 左右有 “[” 和 “]”,表示这些参数不是必须的,但可以使用。对应的 DIRECTORY 两边没有 “[]”,表示这是必须要加的参数。
另外,它们后面都有 “…”,表示这些参数可以重复使用多次。
3、DESCRIPTION 部分(描述)
Create the DIRECTORY (ies), if they do not already exist.
如果目录不存在,则创建目录。
文档中有几个具体的运行命令,此处不再一一列举。
4、AUTHOR
命令的作者。
5、REPORTING BUGS(已报告的错误)
GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report mkdir translation bugs to <https://translationproject.org/team/>
分别是在线帮助以及报告错误的网址。
6、COPYRIGHT(版权)
Copyright (C) 2018 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
7、SEE ALSO(查看相关信息的位置)
mkdir (2)
Full documentation at: <https://www.gnu.org/software/coreutils/mkdir>
or available locally via: info '(coreutils) mkdir invocation'
在section 2 中也有相关的文档。
man 手册页的基本操作
此处仅介绍了两个命令,如需使用更多命令,可以使用命令:
man man
来查看更多 man 命令的参数。
1. 查找信息
如果已经进入文档页面,那么可以使用 “/” 键进行正则表达式的搜索。
如果不知道要打开的文档的名称,可以使用命令:
man -k
例如 man -k mkdir

2. 退出 man 手册
按下键盘上的 “q” 键即可退出 man 手册。
via:
- Linux 中 man 手册的安装以及使用详解 - 优快云 博客 小道克已于 2023-03-14 05:44:33 修改
https://blog.youkuaiyun.com/qq_46140800/article/details/114966124
476

被折叠的 条评论
为什么被折叠?



