Linux | man 手册使用详解

注:本文为 “Linux man 手册” 相关知识点合辑

略作重排,未整理去重。


man 手册介绍

概述

man 是系统的手册分页程序,用于显示指定程序、工具或函数的手册页。默认按预定顺序搜索所有可用章节,显示第一个匹配页面。用户可指定章节号限制搜索范围。

手册构成

man 手册通常包含以下章节:

章节名称解释
NAME命令名称和简短介绍
SYNOPSIS语法和使用方法
CONFIGURATION配置信息
DESCRIPTION命令描述
OPTIONS命令选项
EXIT STATUS退出状态
RETURN VALUE返回值
ERRORS错误信息
ENVIRONMENT环境变量
FILES相关文件
VERSIONS版本信息
CONFORMING TO遵循标准
NOTES其他资料
BUGSBUG 提交方式
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 跳至上一个匹配项。
  • 退出搜索模式EscCtrl + C 退出搜索,返回正常阅读模式。

其他说明

  • whatis <command / keyword> 等价于 man -f <command / keyword>
  • apropos <command / keyword> 等价于 man -k <command / keyword>
  • 使用 whatisapropos 命令前,需以 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

覆盖默认顺序

可通过以下方式修改默认搜索顺序:

  1. 环境变量:设置 MANSECT,如 export MANSECT="3:2:1"
  2. 命令行选项:使用 -S--sections,如 man -S 3:2:1 printf
  3. 配置文件:在 /etc/manpath.config 中使用 SECTION 指令

退出状态

  • 0:成功
  • 1:用法、语法或配置文件错误
  • 2:操作错误
  • 3:子进程返回非零状态码
  • 16:至少一个页面/关键词不存在或不匹配

Linux 中 man 手册的安装以及使用详解

小道克已于 2023-03-14 05:44:33 修改

man 手册是什么

manmanual 的简称,中文可称为手册。man 手册是 Linux 系统提供的一种帮助手册。

man 手册用途

当需要查看某个命令的具体参数和使用方法时,无需在网上搜索,只需使用 man 命令,即可查询出所需命令的具体参数及使用方法。

man 手册安装

首先输入 man 并回车,若出现下列错误,请参阅解决方案:

在这里插入图片描述

若出现以下所示内容:

在这里插入图片描述

则可继续进行下一步操作。

在命令行中输入以下命令来安装 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) 表示该命令所属的 sectionman 手册分为以下 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 为例:

img

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:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值