linux下man手册的安装和使用 [转]

目录

man相关说明

基本介绍

手册内容

基本查看

工作流程简述

未指定章节时查找顺序

查看man手册的查找路径

安装man手册

软件包安装

源码安装

安装中文语言包手册

环境变量配置

man手册的使用

查找指定章节手册

查找手册所在位置

查找包含关键字的手册

查看所有手册


Linux提供了丰富的帮助手册,当你需要查看某个命令的参数时不必到处上网查找,只要man一下即可。 
Linux 的man手册共有以下几个章节:

man相关说明

基本介绍

通过 man man  可以看到相关说明。

 实际上man命令并非仅仅能查看命令或者函数的介绍,在linux中,有丰富的帮助手册信息,并且每一个手册都有一个编号。编号和对应内容如下:

编号代表内容
1可执行程序或shell命令,如ls
2系统调用,如chdir
3库函数,如printf
4设备或特殊文件,如tty
5配置文件格式或约定
6游戏
7杂项
8管理命令,通常只有root用户可以使用
9内核例程
n内置命令,如cd

对于内置命令,还可以使用help命令查看帮助手册,例如:
help cd

判断命令是什么类型可使用type命令,例如:
type cd 
cd is a shell builtin

手册内容

多数手册包含以下几部分内容:

NAME 功能的简单描述
SYNOPSIS 语法格式
DESCRIPTION 描述
OPTIONS 选项
ERRORS 描述出错场景,这在排查错误时很有帮助
NOTES 注意事项
FILES 相关文件,例如对于man命令的FILES部分内容显示了它的配置文件位置等信息
EXAMPLES 使用示例,会提供一些简单的示例
BUGS 存在的bug,当遇到奇怪的问题时,不妨看看当前命令是否有已知的bug

基本查看

手册的查看和less查看文本类似,可以参考《文本查看篇》或查看less命令的使用,这里介绍基本操作:

空格 向下翻页
Home 回到第一页
End 跳到最后一页
/string 向前搜索string字符串
?string 向后搜索string字符串
n 下一个匹配字符
N 上一个匹配字符
q 退出

工作流程简述

1.搜索$PATH环境变量指定路径。

2.搜索/etc/manpath.config文件中MANPATH中指定的路径。

3.使用指定的解压工具进行解压处理。

4.使用文本查看命令显示手册内容。

配置文件的位置可通过查看man man FILES部分内容找到:

未指定章节时查找顺序

简单说明一下manpath.config中的SECTION,它指定了优先输出的手册顺序。例如:

SECTION 1 n l 8 3 2 3posix 3pm 3perl 5 4 9 6 7
这里它最先显示的是1,即shell命令的帮助手册,其次是n,即内置命令的帮助手册。以此类推。当然,前提是这些手册都有。

查看man手册的查找路径

也可以通过manpath命令查看man手册所在路径:
manpath
/usr/local/man:/usr/local/share/man:/usr/share/man:/usr/lib/jvm/java-8-oracle/man
 





安装man手册

软件包安装

man手册

yum install -y man man-db man-pages

yum list installed |grep -i man

man中文安装包

yum -y install manpages-zh

如果查不到manpages-zh中文包,则可以使用如下命令搜索

yum list |grep man.*zh

man-pages-zh-CN.noarch 1.5.2-4.el7 @base

由此可以找到以上安装包,如果找不到,执行 yum -y update 更新安装包。

执行安装命令

sudo yum install man-pages-zh-CN.noarch

源码安装

源码从这里下载

Index of /pub/linux/docs/man-pages/

下载后解压缩,从终端进入解压后的文件夹,输入命令:

sudo make install

这个命令是把man安装到/user/man目录下面的,这样就已经成功的安装了man

但是如果你不想安装, 我们可以直接在解压后的目录使用

假设解压后文件夹路径是:/home/man,如果不想安装,可以用:

man –M /home/man + 所查询的命令

解释:man -M 路径 定义一组查找man手册页的目录。如果没有指定此参数,系统环境变量 MANPATH将使用。 如果查无到此环境变量,则按默认 /etc/man.config 文件中指定的查找。一个空的 MANPATH 子字 符串表示使用默认清单。

安装中文语言包手册

在安装之前,运行locale 命令来查看自己的语言环境是什么,主要有影响的是LC_ALL,LC_CTYPE 和 LANG 变量的值。

如果语言环境是 zh_CN.UTF-8,可以运行make u8 && makeinstall-u8;如果语言环境是GB2312,GBK 或者 GB18030,可以运行 make gb && makeinstall-gb;

或者,可以下载对应的rpm包来安装,同样简单。对于zh_CN.UTF-8,应当安装man-pages-zh_CN-1.x,对于 GB2312,GBK,GB18030,应当安装 man-pages-zh_CN-gb-1.x。请参阅讨论版上关于不同发行版的系统与其默认中文编码的说明。





环境变量配置

我们前面安装了中英文的man包, 可以通过设置中英文显示语言来设定其显示

如果希望终端显示为中文, 则可以通过设置LANG和LANGUAGE变量来更新语言环境

在~/.bashrc中设置

# chinese
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh"

英文则设定

# english
LANG="en_US.UTF-8"
LANGUAGE="en_US:en"

但是中文翻译的不太好, 我们多数情况下还是希望使用英文的, 而更改环境变量的方式总是很麻烦, 有什么方式可以一劳永逸呢.

首先差找到我们的man手册安装在哪里

可以使用sudo find / -name man查找

我的man手册安装在了/usr/share/man下

man手册安装在了/usr/share/man

其中zh_开头的就是中文包的man手册,

zh_CN简体中文

zh_HK香港繁体

zh_TW台湾繁体

我们可以使用-M选项指定man手册

比如使用

man -M /usr/share/man/zh_CN/ 2 read

就可以使用中文手册查看read系统调用

下面我们为其添加一个别名cman, 这样我们可以很方便的使用中文的man手册

在~/.bashrc中添加

alias cman='man -M /usr/share/man/zh_CN'

这样以来我们的man是英文的, 而cman则是一个中文的man手册

中英文man手册



man手册的使用

我们输入 man ls,它会在最左上角显示“LS(1)”,在这里,“LS”表示手册名称,而“(1)”表示该手册位于第一节章(对应编号, 每个编号对应一个章节)

同样,我们输入“man ifconfig”它会在最左上角显示“IFCONFIG(8)”。

但是有些名称可能对应很多章节的信息,因此可以这样输入命令:“man [章节号] 手册名称”, 来指定某个章节比如我们前面的man 2 read就是查看第2章节(系统调用)中的read

而我们可以使用-f选项来查看命令所在的章节

man -f选项

查找指定章节手册

一般的命令或者库函数的帮助手册都很好查看,但是如果你想查看write函数的帮助手册,使用下面的命令是看不到的:
man write

因为它既是一个用户命令也是一个系统调用名称,按照前面所设置的顺序,它会优先显示用户命令的帮助手册。因此,如果我们想直接查看作为系统调用的write的帮助手册,直接使用下面的方式即可:
man 2 write  #2表明从系统调用手册中查找

查找手册所在位置

 如果仅仅是想查看手册在什么位置,可使用-w (where)参数,例如:

man -w ls
/usr/share/man/man1/ls.1.gz

查找包含关键字的手册

 有时候我们需要查看包含某些关键字的手册,但是又不知道具体是那个手册,这个时候可以使用下面的方式:
man -k touch  #查找包含touch关键字的手册(模糊匹配)
git-merge-tree (1)   - Show three-way merge without touching index
synaptics (4)        - touchpad input driver
syndaemon (1)        - a program that monitors keyboard activity and disables...
touch (1)            - change file timestamps

man -K XX 存在多个查找时,操作如下所示:

 

查看所有手册

-a, --all
              By default, man will exit after displaying the most suitable manual page it finds.  Using this option forces man to display all the manual pages with names that match the search criteria.

使用-a参数即可,它会展示所有相关手册
man -a open

# man -aw ip
/usr/share/man/man8/ip.8.gz
/usr/share/man/man7/ip.7.gz

# man -a ip

# man -aWw git diff
/usr/share/man/man1/git-diff.1.gz

# man -a git diff

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值