man 命令
基本介绍
man(manual)用于查看 Linux 系统中命令、函数、配置文件、系统调用等的联机手册页(man page)。它是学习和查阅命令用法最权威、最直接的参考工具,几乎所有 Linux 发行版都默认安装。
资料合集:https://pan.quark.cn/s/6fe3007c3e95、https://pan.quark.cn/s/561de99256a5、https://pan.quark.cn/s/985f55b13d94、https://pan.quark.cn/s/d0fb20abd19a
语法
man [选项] [章节] 命令名
- 不指定章节时,man 会从第一个包含该名称的章节开始查找。
- 指定章节时,直接定位到对应章节的手册页。
手册页章节
Linux 手册分为以下章节,用数字表示:
| 1 | 用户命令(可执行程序或 Shell 命令) |
| 2 | 系统调用(内核提供的函数) |
| 3 | 库函数(C 语言库函数) |
| 4 | 特殊文件(通常位于 /dev) |
| 5 | 文件格式和约定(如配置文件格式) |
| 6 | 游戏 |
| 7 | 约定、协议和杂项(如字符集、标准文件层次结构) |
| 8 | 系统管理命令(通常需要 root 权限) |
| 9 | 内核相关接口(非标准) |
章节号对于区分同名条目非常重要。例如 printf 在章节 1(命令)和章节 3(C 库函数)中都有手册页:
man 1 printf # 查看 printf 命令
man 3 printf # 查看 C 库函数 printf
常用选项
- -f 名称:等价于 whatis,显示名称的简短描述。
- -k 关键词:等价于 apropos,按关键词搜索手册页的名称和描述。
- -a:显示所有匹配章节的手册页,而非仅第一个。
- -w 名称:不显示手册内容,只输出手册页文件的路径。
- -l 文件:直接从本地文件读取手册页(用于测试或查看未安装的手册)。
- -L 语言:指定手册页的语言/区域设置。
- -P 分页器:指定使用的分页器(如 less、more),覆盖默认设置。
- -r:使用 less 的原始格式输出手册(保留格式化标记)。
- -7:以 ASCII 字符集显示。
- –html:以 HTML 格式在浏览器中打开手册页(需要 groff 支持)。
- –help:显示帮助信息。
- –version:显示版本信息。
手册页结构
标准手册页通常包含以下部分:
| NAME | 命令名称及简短描述 |
| SYNOPSIS | 命令语法概要 |
| DESCRIPTION | 命令的详细描述 |
| OPTIONS | 所有选项的说明 |
| ARGUMENTS | 命令参数说明 |
| EXAMPLES | 使用示例 |
| FILES | 相关文件列表 |
| ENVIRONMENT | 相关环境变量 |
| DIAGNOSTICS | 诊断信息 |
| EXIT STATUS | 退出状态码说明 |
| RETURN VALUE | 返回值(函数类手册) |
| ERRORS | 错误条件说明 |
| NOTES | 补充说明 |
| BUGS | 已知问题 |
| SEE ALSO | 相关命令或函数 |
| HISTORY | 历史变更 |
| AUTHOR | 作者信息 |
| COPYRIGHT | 版权信息 |
使用示例
1. 查看命令手册
man ls
显示 ls 命令的完整手册页。
2. 指定章节查看
man 5 crontab
查看 crontab 的文件格式说明(章节 5),而非命令本身(章节 1)。
3. 查看所有章节
man -a printf
依次显示 printf 在所有章节中的手册页,每按 q 退出一个后显示下一个。
4. 搜索手册页
man -k "copy files"
搜索描述中包含 “copy files” 的手册页。等价于 apropos "copy files"。
5. 显示简短描述
man -f ls
显示 ls 的简短描述。等价于 whatis ls。
输出示例:
ls (1) – list directory contents
6. 查看手册页文件路径
man -w ls
输出示例:
/usr/share/man/man1/ls.1.gz
7. 使用指定分页器
man -P more ls
使用 more 而非默认的 less 作为分页器。
8. 从本地文件读取
man -l ./mycommand.1
直接查看本地手册页文件,无需安装到系统目录。
9. 以 HTML 格式查看
man –html ls
将手册页转换为 HTML 并在浏览器中打开。
分页器中的常用操作
man 默认使用 less 作为分页器,以下是最常用的操作键:
| 空格 / f | 向下翻页 |
| b | 向上翻页 |
| Enter / j | 向下滚动一行 |
| k | 向上滚动一行 |
| g | 跳到开头 |
| G | 跳到末尾 |
| /关键词 | 向下搜索关键词 |
| ?关键词 | 向上搜索关键词 |
| n | 重复上次搜索(同方向) |
| N | 重复上次搜索(反方向) |
| q | 退出手册页 |
| h | 显示帮助 |
查看内建命令的手册
Shell 内建命令(如 cd、echo、source)不在 man 的标准章节中,而是记录在 Shell 自身的手册里:
man bash # 然后在手册内搜索 /cd
help cd # 使用 Bash 内建帮助
对于内建命令,help 命令通常更快捷。
更新手册数据库
man -k 和 apropos 依赖于预建的索引数据库。如果搜索结果不完整或报错,可手动更新:
sudo mandb # 大多数现代 Linux 发行版
sudo makewhatis # 旧版系统
注意事项
- 手册页内容以 groff(或 nroff)格式编写,存储在 /usr/share/man 下,通常经过 gzip 压缩。
- 不同发行版的同一条目手册内容可能略有差异(如选项、默认行为)。
- 手册页由各软件包提供,安装软件时通常会同时安装对应的手册页。
- 手册页可能不是最新版本的文档,对于快速迭代的项目,建议同时参考官方在线文档。
- 某些命令的手册页可能在特定章节中,例如 man 8 mount(系统管理命令)。
- 可通过 man man 查看 man 命令自身的手册,获取完整选项列表。
- 在容器或精简系统中,手册页可能未安装,可通过包管理器安装,如 apt install manpages-dev(开发手册)或 dnf install man-pages。
相关命令
- info:GNU info 系统,提供比 man 更详尽的超文本文档(如 info coreutils)。
- help:查看 Shell 内建命令的帮助。
- tldr:社区维护的简化命令示例工具,提供更直观的示例。
- whatis:显示命令的简短描述(等价于 man -f)。
- apropos:按关键词搜索手册页(等价于 man -k)。
- mandb:更新手册页索引数据库。
- groff / nroff:手册页的排版工具。
总结
man 是查阅 Linux 命令、函数和配置文件文档的标准工具。通过指定章节号可以精确定位同名条目,通过 -k 可按关键词搜索,通过 -f 可快速查看简短描述。熟练使用 man 并掌握 less 分页器的搜索和导航操作,是高效使用 Linux 的基础技能。




