Linux下man帮助命令使用全解析

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

所有的手册页都属于一个特定的领域,用一个字符来表示。

Linux下最通用的领域及其名称及说明如下:

领域 名称 说明

1 用户命令, 可由任何人启动的。

2 系统调用, 即由内核提供的函数。

3 例程, 即库函数。

4 设备, 即/dev目录下的特殊文件。

5 文件格式描述, 例如/etc/passwd。

6 游戏, 不用解释啦!

7 杂项, 例如宏命令包、惯例等。

8 系统管理员工具, 只能由root启动。

9 其他(Linux特定的), 用来存放内核例行程序的文档。

n 新文档, 可能要移到更适合的领域。

o 老文档, 可能会在一段期限内保留。

l 本地文档, 与本特定系统有关的。
2.man的一些常用参数和用法

代码如下:

man -a cmd

打开所有领域内的同名帮助,例如 man fam ,你首先会进入一个fam(1M)的命令版fam帮助,你再按q键

就会进入FAM(3X),库函数版的帮助

代码如下:

man -aw cmd

显示所有cmd的所有手册文件的路径,如 man -aw fam 就是

代码如下:

/usr/share/man/man1/fam.1m.gz

/usr/share/man/man3/fam.3x.gz
man 领域代号 cmd

直接指定特定领域内搜索手册页,如 man 3 fam 直接进入库函数版的帮助

代码如下:
man -M cmd

指定手册文件的搜索路径,如 man -M /home/mysql/man mysql 显示的就是你安装的mysql的帮助,

而不是系统自带的旧版mysql的帮助

代码如下:
man cmd| col -b > cmd.txt

把man手册信息输出到文本文件

LANG=语言代号

代码如下:
man -w cmd
man 特定语言manpage文件的路径

查看特定语言版本的手册页

例如,要查看mplayer的中文man

代码如下:
shell> LANG=zh
shell> man -w mplayer
/usr/share/man/zh/man1/mplayer.1.gz

新开一个shell窗口(或在原窗口 shell> LANG=en_US.UTF-8)

代码如下:
shell> man /usr/share/man/zh/man1/mplayer.1.gz

3.ubuntu默认是没有安装c语言的库函数man手册的

(1).添加库函数手册
ubuntu默认是没有安装c语言的库函数man手册的,所以你在man perror 和sendto之类的函数时会显示没有相关文档的问题,这个问题让我郁闷了我好久。解决方法:

代码如下:
sudo apt-get install manpages-dev

(2).让man显示中文
ubuntu源里面已经包含了中文的man包,所以不用从其他地方down了,直接

代码如下:
sudo apt-get install manpages-zh

但是这样man默认显示的还不是中文,还需要以下两步
a.把中文man包转换成utf8格式的
新建一个脚本文件

代码如下:
gedit t.sh

把下面内容添加进去

代码如下:
#!/bin/bashcd  /usr/share/man/zh_CN/for k in *docd $kfor i in *.gzdo j=`echo ${i%.gz}`  gunzip $i iconv -f gb18030 -t utf8 $j >tmp mv tmp $j gzip $jdonecd  ..done

然后

代码如下:
sudo ./t

b.修改man默认的语言

代码如下:
sudo gedit /etc/manpath.config

把里面的所有的 /usr/share/man 改成 /usr/share/man/zh_CN
保存后退出,然后你再试一下man ls
(3).让没有中文帮助的显示英文
做完上面第二部还不够,这时你再man 一下一些c语言函数(不要用printf,socket之类比较有名的函数,这些已经有中文帮助了)的时候就会发现竟然没有帮助,而刚才明明在第一步已经安装了啊。这是因为你上面  把/usr/share/man 改成  /usr/share/man/zh_CN的操作使man只在中文帮助中搜索,如果没有就直接放弃,因此还需要以下操作,才能让man在没有中文帮助的时候自动显示英文的帮助,如果英文的也没有,哪就真的没有了。

代码如下:
sudo gedit /etc/manpath.config

然后搜索你刚才改过的地方,然后在其后面添加同样的一行,只是后面的目录还用原来的/usr/share/man,比如在修改后的

代码如下:
MANPATH_MAP /bin          /usr/share/man/zh_CN

再添加一行

代码如下:
MANPATH_MAP /bin          /usr/share/man

如果发现安装过的系统中缺少很多手册页。
用以下命令搞定了

代码如下:
sudo apt-get install manpages
sudo apt-get install manpages-de
sudo apt-get install manpages-de-dev
sudo apt-get install manpages-dev

时间: 2024-10-29 04:59:30

Linux下man帮助命令使用全解析的相关文章

怎么样称得上是Linux下优秀的命令行计算器

怎么样称得上是Linux下优秀的命令行计算器 每个现代的Linux桌面发行版都预装着一个带有图形界面的计算器程序.不过如果你的工作区中全是命令行窗口,那么你一定会在其中的一个命令行窗口中处理一些数字相关的问题.或许你在寻找一款基于命令行的计算器程序.如果是这样的话,GNU bc("basic calculator"的缩写)会是你不二的选择.当然Linux下有很多基于命令行的计算器应用,我认为GNU bc是功能最强大和最有用的. 在GNU时代之前,bc实际上是一个著名的精密计算语言.它的

linux 下的yum命令详解_Linux

yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载.安装.yum提供了查找.安装.删除某一个.一组甚至全部软件包的命令,而且命令简洁而又好记. yum的命令形式一般是如下:yum [options] [command] [package ...] 其中的[opt

Linux下通过script 命令记录(数据库)操作步骤

对DBA而言,经常碰到升级数据库或是apply patch,以及有些时候需要运行大量的脚本.对于这些操作我们希望现在在屏幕同时又输出的文件以备后续查询过程中曾经丢失的步骤或错误.Linux下的script命令就是解决这个问题的好帮手   1.script命令描述   复制代码 代码如下: script命令会记录所有的操作到文件同时在屏幕上输出,直到终止登陆的会话,或使用CRTL+D,或使用exit退出则停止记录. 这个命令对于数据库的升级或是重要设置的情形下使用可以用于后续查询操作成功或失败.

如何通过c语言实现Linux下的top命令来获取cpu利用率?

问题描述 如何通过c语言实现Linux下的top命令来获取cpu利用率? 如何通过c语言实现Linux下的top命令来获取cpu利用率?我下载了好几个版本的procps但是在Ubuntu下编译里面的top.c时都出错,求各位大神帮忙解答. 解决方案 linux下用top命令查看cpu利用率超过100%linux下用top命令查看cpu利用率超过100%LINUX下查看CPU使用率的 top 命令 解决方案二: #include <stdio.h>#include <unistd.h>

试试Linux下的ip命令,ifconfig已经过时了

试试Linux下的ip命令,ifconfig已经过时了 linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者.使用ip命令,只需一个命令,你就能很轻松地执行一些网络管理任务.ifconfig是net-tools中已被废弃使用的一个命令,许多年前就已经没有维护了.iproute2套件里提供了许多增强功能的命令,ip命令即是其中之一. Net tools vs Iproute2 要安装ip,请点击这里下载iproute2套装工具 .不过,大多数Linux发行版已经预装了ipr

关于linux下的cp命令 如何把文件拷贝到任意文件夹下

问题描述 关于linux下的cp命令 如何把文件拷贝到任意文件夹下 比如将etc下的hosts文件拷贝:cp /etc/hosts ~ 该文件就会被拷贝至用户文件夹下 可是如果想在etc下再拷贝一份 应该怎么操作 这样的命令:cp /etc/hosts ~/etc/host.new 会被显示无效 是不是只能把文件拷贝到/Users/下的用户文件夹里 解决方案 应该是不可以的,man cp可以看到: Copy SOURCE to DEST, or multiple SOURCE(s) to DIR

Linux下使用blkid命令查询设备及文件系统信息的方法

在Linux下可以使用blkid命令对查询设备上所采用文件系统类型进行查询.blkid主要用来对系统的块设备(包括交换分区)所使用的文件系统类型.LABEL.UUID等信息进行查询.要使用这个命令必须安装e2fsprogs软件包. 直接使用blkid可列出当前系统中所以已挂载文件系统的类型.默认情况下 lsblk 会将块设备输出为树状格式:NAME -- 设备的名称MAJ:MIN -- Linux 操作系统中的每个设备都以一个文件表示,对块(磁盘)设备来说,这里用主次设备编号来描述设备.RM -

浅谈Linux下通过find命令进行rm文件删除的小技巧_Linux

我们经常会通过find命令进行批量操作,如:批量删除旧文件.批量修改.基于时间的文件统计.基于文件大小的文件统计等,在这些操作当中,由于rm删除操作会导致目录结构变化,如果要通过find结合rm的操作写成脚本,就会遇到一些麻烦,本文通过一个例子为大家进行介绍. 系统环境: SUSE Linux Enterprise Server 11 或 Red Hat Enterprise Linux 问题症状: 客户现场有一个自动化的脚本,有以下的find语句,每天运行以删除某个目录下7天以前的文件或目录,

实例详解Linux下的Make命令_Linux

前言 无论是在linux 还是在Unix环境 中,make都是一个非常重要的编译命令.不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或make install.利用make工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和 makefile工具就可以简洁明快地理顺各个源文件之间纷繁复杂的相互关系.而且如此多的源文件,如果每次都要键入gcc命令进行编译的话,那对程序员 来说简直就是一场灾难.而make工具则可自动完成编译