软硬件开发技术笔记
保持专注,拒绝内耗
linux man帮助命令介绍
2022-03-14 22:42

温故知新,任何一个初学linux的教程,都会介绍man的使用,以前感觉作用不大
偶尔在别人的博文中看到man的介绍,才正儿八经的看了下man的使用,记录一下
通过几个例子介绍下不同类别的帮助信息

安装说明

操作系统默认带有man命令,但是内容显示的比较少,需要安装补充内容

[root@home-dev8 ~]# yum install man-pages -y

部分帮助信息有中文版本,可以通过安装下面的包获取中文帮助信息

[root@home-dev8 ~]# yum install man-pages-zh-CN -y

# 临时设置为中文环境,否则即使有中文帮助文档,也不会显示
[root@home-dev8 ~]# LANG=zh_CN.UTF-8  

参数说明

man的参数有很多,不过大部分不常用,最常用的方法就是

# man [section numbers] [page]

其中[section numbers]可能的选项有:

1:Executable programs or shell commands                                           使用者在shell中可以操作的指令或可执行程序
2:System calls (functions provided by the kernel)                                 系统调用、函数、库
3:Library calls (functions within program libraries)                              程序库调用
4:Special files (usually found in /dev)                                           设备
5:File formats and conventions eg /etc/passwd                                     文件格式
6:Games                                                                           游戏
7:Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7) 杂项,网络协定、ASCII code等等的说明
8:System administration commands (usually only for root)                          系统指令
9:Kernel routines [Non standard]                                                  内核内部指令

[section numbers]不是必须的,当使用man一个命令或者库时,默认显示第一个类别显示,如果第一个类别不是期望的,则需要指定该参数用于获取指定类别的帮助说明

举个例子

read可以有以下解释:

1: bash shell 命令行的read内置函数,可以用于读取文件
2. 系统调用 read函数,定义在#include <unistd.h>,原型为ssize_t read(int fd, void *buf, size_t count);
3. POSIX read函数,定义在#include <unistd.h>,原型为ssize_t read(int fd, void *buf, size_t count);

则使用man的方式:

# 默认仅显示read在1类别的帮助信息
[root@home-dev8 ~]# man read

# 指定显示read在bash shell命令行的内置函数说明
[root@home-dev8 ~]# man 1 read

# 指定显示read在系统调用中的帮助信息
[root@home-dev8 ~]# man 2 read

# 指定显示read在POSIX调用中的帮助信息
[root@home-dev8 ~]# man 3 read

# 如果不知道read有哪几种帮助,可以使用-a参数,顺序显示所有存在的帮助信息
[root@home-dev8 ~]# man -a read

其他例子

# 查看bash命令mkdir
[root@home-dev8 ~]# man 1 mkdir

# 查看系统调用open
[root@home-dev8 ~]# man 2 open

# 查看库函数printf
[root@home-dev8 ~]# man 3 printf

# 查看设备/dev/zero
[root@home-dev8 ~]# man 4 zero

# 查看文件/etc/passwd
[root@home-dev8 ~]# man 5 passwd

# 查看网络协议tcp
[root@home-dev8 ~]# man 7 tcp

# 查看root命令sudo
[root@home-dev8 ~]# man 8 sudo

# 没有找到9例子


# 查看所有系统调用
[root@home-dev8 ~]# man 2 syscalls
分类
mac
1篇
4篇
c
1篇
4篇
2篇
1篇
搜索