当前位置: 首页 > article >正文

man使用

man 应该更好地结合下面两命令来使用
which 命令(或函数)
whereis 命令(或函数)
$ ls /usr/share/man | grep man man0p man1 man1p man2 man3 man3p man4 man5 man6 man7 man8 man9 mann 实际的章节号显示的很标准,但是注意这里有一个mann和几个man#p文件夹。下表列举了上面man目录,以及其中包含了什么:
man目录描述
man0p和其他有目录名中有p的目录一样,这个p表示POSIX。在这个目录下的手册页描述各种POSIX头文件的功能。
man1这一章节介绍标准命令。大部分程序将其手册页放在这里。因此,这一章节将会是最大的。
man1p这一章节描述POSIX版本的命令。因为这里只描述基本的命令,因此会比man1小很多。
man2这一章节描述Linux内核系统调用。
man3这一章节描述标准的c函数库。
man4这一章节描述特殊的设备。这些设备通常是面向内核的,不过Xorg-X11在这里也有一项。
man5这一章节描述一些特定文件的结构以及程序将使用哪些文件。读者们可能对以下参考比较熟悉,man 5 portage是对portage文件结构的一些描述,还有man 5 make.conf是对make.conf文件结构的描述。
man6这一章节介绍游戏和一些特殊玩具。
man7这一章节描述一些标准和一些杂项。标准包括比如字符集,SQL语句,ISO标准以及正则表达式。
man8这一章节描述管理员命令(通常由root用户执行的那些命令)。
man9这一章节很少。应该是包含内核一些部分的文档。
mann

这一章节主要包含Tcl/Tk的一些文档。n表示新的(new)。

 

找出对man中的章节的描述,我们可以使用man 章节号 intro

代码 2.1: 使用man intro找到章节号的描述

$ man 3 intro
(为了适合这个文档,我们稍微修改了一下输出)
INTRO(3)               Linux Programmer's Manual                INTRO(3)
NAME
intro - Introduction to library functions
DESCRIPTION
This chapter describes all library functions excluding the library
functions described in chapter 2, which implement system calls.
There are various function groups which can be identified by a
letter which is appended to the chapter number:
....

代码 2.2: 使用man -K查找字符串

$ man -K sleep
/usr/share/man/man0p/time.h.0p.gz? [ynq] n
/usr/share/man/man0p/unistd.h.0p.gz? [ynq] n
/usr/share/man/man2/alarm.2.gz? [ynq] n
/usr/share/man/man2/pause.2.gz? [ynq] n
/usr/share/man/man2/futex.2.gz? [ynq] n
/usr/share/man/man2/nanosleep.2.gz? [ynq] y
/usr/share/man/man2/semop.2.gz? [ynq] q

 

查看手册页

查看手册页有两种方法。方法一,man [手册页名字]。方法二,man [章节] [手册页名字]。我们以bc为例子。我们可以查看到第一篇关于bc的手册页(章节号将会是1,因为这是章节号最小的包含bc命令的章节):

代码 2.3: 查看默认手册页

$ man bc
bc(1)                                            bc(1)
NAME
bc - An arbitrary precision calculator language
...

然而,如果我们要找POSIX版的呢?那么我可以用第二种形式:

代码 2.4: 查看特定章节中的手册页

$ man 1p bc
BC(P)        POSIX Programmer's Manual           BC(P)
NAME
bc - arbitrary-precision arithmetic language
...

手册页显示如上。现在我们查看到了手册页,接下来是怎么在上面工作。下一章介绍如何浏览和搜索。

浏览和搜索手册页

浏览手册页非常简单。使用向上和向下键一行一行翻阅。使用向上翻页和向下翻页键一页一页翻阅。注意,使用这样的浏览指令是假设环境变量PAGER设成了默认的less。less还有其他一些浏览命令。不过方向键一般足够了。

代码 2.5: 另外的less浏览键

  e  ^E  j  ^N  CR  *  前进一行(或N行)
y  ^Y  k  ^K  ^P  *  后退一行(或N行)
f  ^F  ^V  SPACE  *  前进一个窗口(或N行)
b  ^B  ESC-v      *  后退一个窗口(或N行)
z                 *  前进一个窗口(将窗口设置到N)
w                 *  后退一个窗口(将窗口设置到N)
ESC-SPACE         *  前进一个窗口,在文件末尾不停止
d  ^D             *  前进半个窗口(将这半个窗口设置到N)
u  ^U             *  后退半个窗口(将这半个窗口设置到N)
ESC-)  RightArrow *  向左半个屏幕宽(或N个位置)
ESC-(  LeftArrow  *  向右半个屏幕宽(或N个位置)
F                    一直前进,像"tail -f"一样

搜索更加有趣。最基本的搜索指令是 /字符串?字符串。第一个版本向前搜索,第二个版本向后搜索。这里的字符串是正则表达式字符串,在nman 7 regex中有描述。我们以搜索emerge-D为例,首先找出emerge的手册页:

代码 2.6: 找出emerge的手册页

$ man emerge

然后,在屏幕上,按/就能显示出向前搜索的提示。我们输入搜索字符串:

代码 2.7: 显示向前搜索提示

     gracefully handles updating installed packages to newer releases as well.
It handles both source and binary packages, and it can be used to create
binary packages for distribution.
EBUILDS, TBZ2S, CLASSES AND DEPENDENCIES
//-D

注意: /符号使用来换码-符号。/一般用作正则表达式的一部分。

这将搜索手册页,然后将锁定到被搜索的项:

代码 2.8: 向前搜索结果

  --deep (-D)
When used in conjunction with --update, this flag forces emerge to consider the entire
dependency tree of packages, instead of checking only the immediate dependencies of
the packages.  As an example, this catches updates in libraries that are not directly
listed in the  dependencies of a package.

如果你你搜索到结果之后还想再继续搜索同样的字符串,只要再次按/键,然后回车(即,不要再输入搜索字符串)就可以了。这将默认搜索上一次使用的搜索字符串。现在已经找到我们搜索的选项的手册页,上面解释了选项含义。再比如man 5 portage手册页。上面列了使用到的文件并解释了其用途。向前搜索几次就能找到结果,不过也有一个简单的方法来处理这个问题。用第二个搜索方法向后搜索。我们用这个方法查找package.unmask的描述。首先显示man 5 portage手册页:

代码 2.9: 显示man 5 portage手册页

$ man 5 portage

然后按SHIFT+g,将把你带到手册页末尾:

代码 2.10: 按SHIFT+g之后到达手册页末尾

SEE ALSO
emerge(1), ebuild(1), ebuild(5), make.conf(5)
Portage 2.0.51        Jan 2004            PORTAGE(5)
lines 418-442/442 (END)

现在,我们继续用?字符串方法向后搜索选项。首先按?键显示出搜索提示,然后输入package.unmask回车,我们这样查询:

代码 2.11: 指定我们的搜索

SEE ALSO
emerge(1), ebuild(1), ebuild(5), make.conf(5)
Portage 2.0.51        Jan 2004           PORTAGE(5)
?package.unmask

然后按回车显示出搜索结果:

代码 2.12: 我们的搜索结果

  package.unmask
Just like package.mask above, except here you list packages you want to unmask.
Useful for overriding the global  package.mask  file (see below).  Note that
this does not override packages that are masked via KEYWORDS.
...

搜索完成!注意,和使用/一样,用?搜索时,不输入搜索字符串会默认用上一次搜索字符串。

结论

这一章总结man指导。希望这篇指导点亮手册页浏览的一线曙光,并给有经验的用户一点新的提示。喜欢用其他方法浏览手册页的用户也可以用以下工具:

  • app-text/man2html - 一个将手册页转成html的程序
  • app-text/tkman - 一个基于tk的手册页浏览器

KDE的网页浏览器Konqueror也能用来浏览手册页。只要在地址条上输入man:

 

 

 

 

 

 

 

 

 

 

 

 

http://www.lryc.cn/news/2415919.html

相关文章:

  • 人生哲理
  • 百度历年算法大盘点
  • MSDTC不能启动的几个解决方法
  • QQ连连看6.0 逆向分析
  • 解决mfc71u.dll文件找不到
  • 求索溪新规划题解
  • 灰鸽子病毒——网络神偷之后应用最广的反弹端口***
  • 应用程序正常初始化(0xc015002)失败解决方法
  • 富爸爸大预言
  • 中国金融集成电路(IC)卡规范
  • 微软更新,错误号: 0x80072EE2的解决方法
  • 启动应用程序出现mfc42.dll缺少问题解决
  • 收集的一些好的网址[持续更新]
  • .net core partial view的一些心得
  • 腾讯QQ、淘宝旺旺、微软MSN、谷歌Gtalk 在线客服代码
  • virtual judge 出现连接超时 解决办法
  • ZJOI 2008 Antbuster 巨型模拟
  • 二进制安全之木马程序简介
  • KALI使用代理、爬行和爬虫
  • 手机破解论坛有哪些/手机软件破解论坛哪个好-零基础攻防指南
  • 表单与输入控件
  • 治霾水炮:治霾水炮
  • docker安装单机es和kibana以及基础练习
  • 国内有哪些好的刷题网站?
  • 电脑店PE+CDlinux+360系统急救盘+Ubuntu+fedora+backtrack 下 (by 星空武哥)
  • 服务器数据恢复—RAID阵列热备盘上线失败导致Raid崩溃,文件系统不可用的数据恢复案例...
  • Linux常用命令_(文件权限)
  • 鼠标录制器哪个好用,5款热门鼠标连点器软件分享(收藏)
  • WebService——SOAP详解
  • 6个免费的音乐下载网站,一键下载MP3歌曲