man命令简介
简介:man一般用于外部命令的常用选项查询,man帮助命令会去读取/usr/share/doc下的命令文件,如果命令在此目录下没有安装帮助文件,那么默认是不能查看帮助信息的,但是可以通过修改man配置文件下(/etc/man.conf)的变量来添加指定路径下安装的帮助文档
命令章节
man 查看一个命令或关机字是章节的,每个章节的信息都有所不同
man 章节一般分为以下几个章节,每个章节都有其对应的章节号
如果不记得,可以通过man 1 man 来查看man每个章节的对应信息
MANUAL SECTIONS
The standard sections of the manual include:
1 User Commands 用户命令 (/bin,/usr/bin,/usr/local/bin)
2 System Calls 系统调用
3 C Library Functions C 库调用
4 Devices and Special Files 特殊文件(一般为设备文件)
5 File Formats and Conventions 文件格式以及配置目录
6 Games et. Al. 游戏
7 Miscellanea 杂项
8 System Administration tools and Deamons 管道命令(/sbin,/usr/sbin,/usr/local/sbin)
man文档格式及内容各标题
COMMAND [option] ... <xxx>
<> : 必选
[] : 可选
| : 多选一
{} : 分组
NAME : 命令名称以及功能简介
SYNOPSIS: 用法所有和可用的选项
DESCRIPTION: 命令详细说明,可能有结束一部分选项的意义
OPTION: 命令每个选项的组哟作用及意义
EXAMPLESs: 部分使用参照
SEE ALSO: 另外参照
注意:一般man帮助无法显示一些选项的具体使用格式,可以是用info命令去根据man命令实现找好的选项或者选项介绍的关键字去查询更显现的命令格式以及案例
如何知道命令文档具体在哪个man 章节中 ?
有一个问题,既然man手册分章节,那么命令的帮助文档可能只有很少的或不明确的章节,这是需要whatis [command] 或者 man -f [command] 来查看此命令帮助信息都分布在man文档的具体哪个章节
man 命令使用格式
指定章节号
man [num] [command]
man [指定章节号] [要查看的命令]
指定选项
-a [keyword] 列出包含关键字所有帮助
-k [keyword] 列出包含此关机字的章节列表
例如
man 1 ls 查看ls命令的的的帮助文档
进入文档后可以使用一些快捷键来查看
space,Ctrl+v,Ctrl+f,Ctrl+f: 都是想文件尾部翻屏幕
b,Ctrl+b:想文本首部翻一屏
d,Ctrl+d:向文件尾部翻半屏幕
u,Ctrl+u:向文本首部翻半屏
q:退出文档
#:跳转到第#行
1G:回到文件首部类似vim
G: 翻至文件尾部
/string : 以指定关键字从当前光标位置向尾部来搜索
?string: 以指定关键字从当前光标想文件首部来搜索
注意:man默认使用less来查看命令,如果一直翻屏幕到最后一行,可能无法再次使用向上翻屏
使用了根据关键字可以通过快捷键来逐个搜索
搜索快捷键使用:
/string 向后模式时
n : 下一个
N : 上一个
?string 向前模式
n : 下一个
N : 上一个
举例:
查看passwd 命令的帮助
1、先查看passwd 是一个什么命令,以及其有关帮助文件都在哪个章节
[root@mzf ~]# man -f passwd
passwd (1) - update user's authentication tokens
passwd (5) - password file
passwd [sslpasswd] (1ssl) - compute password hashes
[root@mzf ~]# whatis passwd
passwd (1) - update user's authentication tokens
passwd (5) - password file
passwd [sslpasswd] (1ssl) - compute password hashes
解释:有上面可以得知passwd适用于修改用户口令,也就是修改密码的命令,(1)表示为第一章节,结束passwd 如何修改用户口令,(5) 表示个password 也就是用户密码有关的配置文件介绍(大概有/etc/passwd,/etc/shaow等文件),前面讲到man -f [commadn] 作用同等于 whatis [command]
2、这里我们要去使用passwd修改密码,就查看第一章节,默认也是显示章节数最小的
[root@mzf ~]# man 1 passwd
PASSWD(1) User utilities PASSWD(1)
NAME
passwd - update user’s authentication tokens
SYNOPSIS
passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warn-
days] [-i inactivedays] [-S] [--stdin] [username]
DESCRIPTION
The passwd utility is used to update user’s authentication token(s).
解释:这里的(1)表示当前所在第一章节,并列出了一些常用选项,从命令格式可以看出
passwd 可以直接输入来修改当前用户的密码,那么下面我们直接输入passwd来修改密码
3、修改密码
[root@mzf ~]# passwd
Changing password for user root.
New password:
BAD PASSWORD: it is too simplistic/systematic
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.
注意:这里我输入了123456过于简单,所有提示了我输入的密码过于简单,我再次输入表示仍然修改为这个密码,那么系统又是如何知道密码太过简单呢,遵循linux一切皆文件,以及系统配置全用特定的文本文件,那么我想应该是有特定的文件默认定义了一大部分关键字的字典文件
4、查看当前系统的密码字典文件
[root@mzf ~]# ls -l /usr/share/dict/words
lrwxrwxrwx. 1 root root 11 Jul 20 17:09 /usr/share/dict/words -> linux.words
提示:这里发现自动文件是一个软连接文件,类似于windows里的快捷方式,
那么我直接查看原始文件/usr/share/dict/linux.words
[root@mzf ~]# cat /usr/share/dict/linux.words
提示:这里会不停的输出字典里保存的关键字,因为太长,所有我就不列出显示内容,这里我使用Ctrl+C 来终止读取命令
5、搜索和字符’wang’ 有关的字典
[root@mzf ~]# grep wang /usr/share/dict/linux.words | head -n 10
twangling
twangs
twangy
twingle-twangle
wang
wanga
wangala
wangan
wangans
wangateur
注意:因为有很多,这里我之取前10行,head命令具体也可以通过man来查看
根据关键字来查看关键字所包含的man章节
[root@mzf ~]# man -k password
chage (1) - change user password expiry information
chpasswd (8) - update passwords in batch mode
cracklib-check (8) - Check passwords using libcrack2
create-cracklib-dict (8) - Check passwords using libcrack2
crypt (3) - password and data encryption
crypt_r [crypt] (3) - password and data encryption
endpwent [getpwent] (3) - get password file entry
endspent [getspnam] (3) - get shadow password file entry
fgetpwent (3) - get password file entry
fgetspent [getspnam] (3) - get shadow password file entry
fgetspent_r [getspnam] (3) - get shadow password file entry
getpass (3) - get a password
getpw (3) - Re-construct password line entry
getpwent (3) - get password file entry
getpwnam (3) - get password file entry
注意:这里会列出所有内容中包含关键字为password(密码)的man章节列表,左边为相关命令右边为命令的作用以及章节行,因为过多,这里我列出一部分,这里显示和密码相关的所有man章节,够详细吧,选择一个章节进行查看 man [章节号] [列出的命令]
注意:这里只是简介一些使用方法,如果man 手册不够你需要的内容,那么info是一个不错的选择,man和info可以配合使用。下篇我会举例说明