在红帽企业Linux中获取帮助

阅读手册页

Linux手册页简介

​ 本地系统上通常可用的文档来源之一是系统手册页或man page。软件包随附这些页面来提供文档,您可以使用man命令从命令行访问这些文档。页面存储在/usr/share/man 目录的子目录中。

​ man page 源自过去的Linux程序员手册,该手册篇幅很长,足以划分多个章节。每个章节包含有特定主题信息。

章节 内容类型 描述
1 用户命令 可执行命令和shell程序
2 系统调用 从用户空间调用的内核例程
3 库函数 有程序库提供
4 特殊文件 例如设备文件
5 文件格式 用于许多配置文件和结构
6 游戏和屏保 过去的趣味程序章节
7 惯例、标准和其他 协议、文件系统
8 系统管理和特权命令 维护任务
9 Linux内核API 内部内核调用

​ 为区分不同章节中相同的主题名称,man page参考中在主题后附上章节编号(用括号括起)。例如:passwd(1)介绍更改密码的命令,而passwd(5)说明用于存储本地用户账户的/etc/passwd配置文件相关格式。

​ 若要读取具体的man page,请使用man topic命令。man page一次显示一屏内容。man命令按照字母数字顺序搜索手册章节。例如:man passwd默认情况下只显示passwd(1)。要显示特定章节中的man page主题,您可以使用man section topic 命令。例如:man 5 passwd会显示passwd(5)。

​ 常见的系统管理主题在第一章(用户命令)、第五章(文件格式)和第八章(管理命令)中。采用特定故障排除工具的管理员页可以使用第二章(系统调用)。剩余的章节供内核开发等人员参考或用于高级管理。

阅览和搜索 Man Page

​ 高校的搜索主题并在man page中导航是一项非常重要的管理技能。您可以使用GUI管理goon根据来配置常见系统资源,但使用命令行界面依然更为高效。更有效的在命令行中找到所需man page信息。

​ 下表列出在查看man page时基本的导航命令:

命令 结果
Spacebar(空格) 向前(向下)滚动一屏
PageDown(下键) 向前(向下)滚动一屏
Pageup(上键) 向后(向上)滚动一屏
D 向前(向下)滚动半屏
U 向后(向上)滚动半屏
/string 在man page中搜索string内容
N 在man page中重复向前(向下)搜索
Shift+N 在man page中重复向后(向上)搜索
G 转到man page的开头
shift+G 转到man page的末尾
Q 退出man,并返回命令行

阅读Man Page

​ man page将各个主题划分为几个部分。大多数主题共享相同的标题,并以相同的顺序显示。通常,主题不包含所有标题,因为并非所有标题都使用所有主题。

​ 常见的标题如下:

标题 描述
NAME 主题名称。通常是命令或文件名。简短的描述
SYNOPSIS 命令语法概要
DESCRIPTION 提供对主题的基本理解和描述
OPTIONS 命令执行选项说明
EXAMPLES 有关如何使用命令、功能或文件的示例
FILES 与man page相关的文件和目录的列表。
SEE ALSO 相关的信息,通常是其他man page 主题。
BUGS 软件中已知错误。
AUTHOR 有关草鱼撰写该主题的人员信息。

根据关键字搜索man page

​ 使用man命令 -k(小写)选项(等同于apropos选项)可在man page的标题和描述中搜索关键字。关键字搜索的结果中显示与关键字匹配的man page 主题和章节编号列表。例如以下命令可搜索含词语passwd的man page。

注意:关键字搜索依赖于mandb(8)命令生成的索引,该命令必须以root身份允许。在安装含有man page软件包是,man-db-cache-update访问会自动允许mandb命令,如果您通过man -k 无法搜索相应标题,则可能需要您手动执行一个mandb。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[root@foundation0 ~]# man -k passwd
chgpasswd (8) - update group passwords in batch mode
chpasswd (8) - update passwords in batch mode
fgetpwent_r (3) - get passwd file entry reentrantly
getpwent_r (3) - get passwd file entry reentrantly
gpasswd (1) - administer /etc/group and /etc/gshadow
grub2-mkpasswd-pbkdf2 (1) - Generate a PBKDF2 password hash.
htpasswd (1) - Manage user files for basic authentication
lpasswd (1) - Change group or user password
openssl-passwd (1ossl) - compute password hashes
pam_localuser (8) - require users to be listed in /etc/passwd
passwd (1) - update user's authentication tokens
passwd (1ossl) - OpenSSL application commands
passwd (5) - password file
passwd2des (3) - RFS password encryption
pwhistory_helper (8) - Helper binary that transfers password hashes from passwd or shadow to opasswd
saslpasswd2 (8) - set a user's sasl password
smbpasswd (5) - The Samba encrypted password file
vncpasswd (1) - change the VNC password
[root@foundation0 ~]#

​ man -K(大写)选项可在全文页面中搜索关键字,而补仅仅是在标题和描述中搜索。全文搜索使用更多的系统资源,耗费更长的时间。

​ 使用全文页面搜索时,man 命令显示含有匹配项的第一页。按Q退出第一页,man命令则可显示下一页。

​ 在本示例中,man显示每个匹配项,同时允许您查看或跳过每个匹配项。man page页按Q退出,Ctrl+D(跳过该匹配项),Ctrl+c(退出匹配)

1
2
3
4
5
6
7
8
9
10
[root@foundation0 ~]# man -K passwd
--Man-- next: cut(1p) [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]

--Man-- next: logname(1p) [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]

--Man-- next: sort(1p) [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]

--Man-- next: xargs(1) [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]
^C
[root@foundation0 ~]#

模拟操作练习

​ 请根据下列要求完成用户创建,以及用户密码修改

  • 查询su命令使用方法,将当前shell(kiosk)用户切换为root用户。
  • 查询useradd命令使用方法,使用该命令创建一个名为redhat01的用户。
  • 查询passwd命令使用方法,使用该命令为redhat01用户更新密码。

模拟练习讲解

​ 根据题目已知,我们首先要使用man page查询关于su命令的一个使用方法,并且使用su命令将我们从kiosk用户切换到root用户的shell提示符。

​ 方式一:通过man -k 来查找su的page页,但这样会找出很多有关su的page页,在我们已知我们要查找su的用户命令时,不推荐使用

1
2
3
4
5
6
7
8
9
10
[kiosk@foundation0 ~]$ man -k su
.....忽略.....
strspn (3) - get length of a prefix substring
strspn (3p) - get length of a substring
strstr (3) - locate a substring
strstr (3p) - find a substring
su (1) - run a command with substitute user and group ID
Sub::Exporter (3pm) - a sophisticated exporter for custom-
.....忽略.....
[kiosk@foundation0 ~]$ man 1 su

​ 方式二:已知我们要找su的用户命令,用户命令的编号是 (1),就可以直接使用,man 1 su 或者 man su,man su在没有指定page编号时,默认是打开序号(1)的用户命令页。

1
[kiosk@foundation0 ~]$ man su

​ 打开page页后,即可开始阅读su命令相关文档了。name命令的名称,synopsis命令使用的语法格式,description命令详细作用、功能描述,options命令可使用的选项即描述。可从他的语法格式中看出,该命令是试用【su [选项] [-] [用户名作为参数]】 ,方括号内表示选填项。

image-20250310104018905

1
2
3
4
5
6
[kiosk@foundation0 ~]$ su - root
Password:
Last login: Fri Mar 7 17:46:32 CST 2025 on pts/0
Last failed login: Mon Mar 10 14:34:10 CST 2025 on pts/0
There was 1 failed login attempt since the last successful login.
[root@foundation0 ~]#

​ 成功切换到root后,继续查看useradd命令是如何使用。

1
2
[root@foundation0 ~]# man useradd
[root@foundation0 ~]# useradd redhat01

​ 更新redhat01用的密码

1
2
3
4
5
6
7
8
[root@foundation0 ~]# man passwd
[root@foundation0 ~]# passwd redhat01
Changing password for user redhat01.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@foundation0 ~]#

​ 您可以使用man命令-t选项,将你man page写入到你的文档文件中,并使用file命令验证识别文件类型为document文档。例如下方示例。

1
2
3
4
[root@foundation0 ~]# man -t passwd > passwd.ps
[root@foundation0 ~]# file passwd.ps
passwd.ps: PostScript document text conforming DSC level 3.0
[root@foundation0 ~]#

​ 最后您可以通过evince命令,调用操作系统的文档工具打开该文档进行可视化阅览。

image-20250310161829513