注:本文为 “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.csdn.net/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 手册的安装以及使用详解 - CSDN 博客 小道克已于 2023-03-14 05:44:33 修改
https://blog.csdn.net/qq_46140800/article/details/114966124