Man手册简介
man手册是Unix和类Unix操作系统中的命令行工具,用于提供关于特定命令、函数和文件的帮助文档。它通常包含命令的语法、选项、参数、示例以及其他相关信息。man手册可以通过在终端输入"man"命令,后跟要查看的命令或函数名称来访问。man手册按照章节划分,每个章节包含不同类型的信息,如命令、库函数、设备驱动程序等。
Linux 的man手册共有以下几个章节:
章节 | 名称 | 描述 |
---|---|---|
1 | Standard commands(标准命令) | Executable programs or shell commands, 普通的命令 |
2 | System calls(系统调用) | System calls (functions provided by the kernel)系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件) |
3 | Libraryfunctions(库函数) | Library calls (functions within program libraries), 库函数,如printf,fread |
4 | Specialdevices(设备说明) | Special files (usually found in /dev), 特殊文件,也就是/dev下的各种设备文件 |
5 | File formats(文件格式) | File formats and conventions eg /etc/passwd, 指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义 |
6 | Games andtoys(游戏和娱乐) | 给游戏留的,由各个游戏自己定义 |
7 | Miscellaneous(杂项) | Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7),附件还有一些变量,比如向environ这种全局变量在这里就有说明 |
8 | AdministrativeCommands(管理员命令) | System administration commands (usually only for root), 系统管理用的命令,这些命令只能由root使用,如ifconfig |
9 | Kernel routines [Non standard] |
Man手册的安装
说明: 本文用的操作系统是CentOS。
执行以下命令:
yum install man
yum install man-pages-zh-CN.noarch
说明: 如果安装失败,则执行yum -y update
更新安装包。
环境变量配置
我们前面安装了中英文的man包, 可以通过设置中英文显示语言来设定其显示。
-
如果你的终端是英文,则会显示英文的man手册。
-
如果你的终端是中文,则会显示中文的man手册。
所以可以通过设置中英文来设置其显示,可以在~/.bashrc
中设置。
如果希望终端是英文:
# english
LANG="en_US.UTF-8"
LANGUAGE="en_US:en"
如果希望终端是中文:
# chinese
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh"
但是中文翻译的不太好, 我们多数情况下还是希望使用英文的, 而更改环境变量的方式总是很麻烦, 有什么方式可以一劳永逸呢。
我们可以使用-M选项指定man手册,比如使用man -M /usr/share/man/zh_CN/ 2 read
就可以使用中文手册查看read系统调用。
下面有两种配置方案:
-
如果你希望终端是中文的,那么需要在
~/.bashrc
中添加以下代码:# chinese LANG="zh_CN.UTF-8" LANGUAGE="zh_CN:zh" alias eman='man -M /usr/share/man/'
那么使用man指令可以查看中文man手册,使用eman指令可以查看英文man手册。
-
如果你希望终端是英文的,那么需要在
~/.bashrc
中添加以下代码:# english LANG="en_US.UTF-8" LANGUAGE="en_US:en" alias cman='man -M /usr/share/man/zh_CN/'
那么使用man指令可以查看英文man手册,使用cman指令可以查看中文man手册。
我使用的是方案1,下图为效果图:
注意: 这里还有一个问题,你会发现你如果
man 2 getpid
,会找不到这个系统调用,缘由就在于系统中没有安装彻底联机手册,解决方案:在命令行输入如下命令:yum install man-pages
便可。
Man手册的使用
-
可以使用
man 手册名称
,但是对于有些名称可能存在于多个章节。 -
当名称存在于多个章节时,使用命令
man 章节号 手册名称
来指定某个章节。我们可以使用
man -f 手册名称
来查看命令所在章节。