linux/unix man用法

最近开始学习linux c编程,需要用到很多库函数和c标准库函数,发现原来man命令还可以用来查询函数原型。

比如输入man lseek可以获取函数lseek的原型和所属头文件。

有些函数名既是linux命令又是系统调用,如mkdir,可以输入man 2 mkdir获取该函数原型。只输入man mkdir获取的是命令mkdir的帮助。

对于库函数可以输入man 3 <库函数名>  获得帮助信息。man 3 opendir

对于系统开发经常需要查询函数还是非常方便的,另外在vim中可以用shift + k查询。

以下转自:http://blog.csdn.net/sunyubo458/article/details/5935248

在unix下面做开发,查看man手册是非常必要,也是非常需要的。如何更快速的使用man?

当然,平时有不会的命令,或者记不住命令的参数时,就会man一下,可是在unix man手册里有这样一个现象,比如你想查看一下read()这个C库函数的功能和参数以及用法。man read其结果呢?只会出shell的read命令的相关帮助信息,没有出现read()库函数的相关内容。

为何?

那是因为man的搜索顺序是根据man.cf中的设置来进行的。当man找到一个匹配时,就不再往下找了。所以当你想查看一下read()函数而不是想了解 read命令的使用时,光使用man read 是肯定不行。在我用的机子环境:

Machine hardware: sun4u

OS version: 5.8

Processor type: sparc

Hardware: SUNW,Ultra-250下.

这时使用man -s 2 read, 就强制man只搜索section 2中的文件(注意了:根据不同版本的unix可能不一样哦)

问题来了,什么是section?

Unix的man page(不用想太多了,man page 就是所说的参考手册页)是按照节(section)来组织的.当我们使用man ls的时候,会看到ls(1),这个括号中的1就表示ls的man page位于section 1。section通常是由一个主section名和一个可选的次section名组成.主section名通常是 一个数字,次section名通常是一个或多个字母组成. Solaris中各 section 所对应的内容:

1: User Commands and Utilities

2: System Calls

3: C Library Functions

4: File formats

5: Headers,tables and macros

6: Games and demos

7: Device and Network Interfaces

8: Maintance and Accounting commands

9: Device driver interfaces

使用-s参数就是要指写在哪一个session里找。要记住了,不同的版本,数字可能不一样,就是这样的方法了,试一下数字就可了,格式如:man -s 2 read.

附:man指令的其他相关资料

Linux系统提供了大量命令和许多实用工具软件。一些常用命令和实用软件的信息,我们可以使用系统提供的联机帮助手册获取。在 Linux联机帮助手册上,几乎每个命令都有说明。因此,当用户对于Linux上的一个命令不会用或是不太了解时,就请使用联机帮助命令。

Linux系统的联机手册中有大量的可用信息,根据其内容分成若干节。

1. 章节说明:

1 一般使用者的命令

2 系统调用的命令

3 C语言函数库的命令

4 有关驱动程序和系统设备的解释

5 配置文件的解释

6 游戏程序的命令

7 其他的软件或是程序的命令

8 有关系统维护的命令

n shell内部命令章节号

2. man 命令

这个命令格式化并显示在线的手册页。通常使用者只要在命令 man 后,输入想要获取的命令的名称(例如 ls ),man 就会列出一份完整的说明,其内容包括命令语法、各选项的意义以及相关命令等。

该命令的一般形式为∶man [选项] 命令名称

命令中主要选项的含义分别为∶

-M 路径 指定搜索 man 手册页的路径

-S 章节列表 指定所要查看的章节列表

-a 显示所有章节

章节号 指定所要查看的章节号

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

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

领域 名称 说明

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

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

3 例程, 即库函数。

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

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

6 游戏, 不用解释啦!

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

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

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

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

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

l 本地文档, 与本特定系统有关的。

例如:man ls就会有LS(1)

(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)man的配置文件/etc/man.config

如果你不想每次man cmd都要用-M指定路径,那么可以通过修改配置文件,添加内容如

MANPATH /home/mysql/man

man在各领域的搜索次序可以通过修改

MANSECT 1:8:2:3:4:5:6:7:9:tcl:n:l:p:o

实现,一般不推荐修改。

linux/unix man用法,布布扣,bubuko.com

时间: 2024-10-11 00:05:51

linux/unix man用法的相关文章

linux/unix lsof用法

使用 lsof 查找打开的文件 通过查看打开的文件,了解更多关于系统的信息.了解应用程序打开了哪些文件或者哪个应用程序打开了特定的文件,作为系统管理员,这将使得您能够作出更好的决策.例如,您不应该卸载具有打开文件的文件系统.使用 lsof,您可以检查打开的文件,并根据需要在卸载之前中止相应的进程.同样地,如果您发现了一个未知的文件,那么可以找出到底是哪个应用程序打开了这个文件. 在 UNIX® 环境中,文件无处不在,这便产生了一句格言:“任何事物都是文件”.通过文件不仅仅可以访问常规数据,通常还

Linux/Unix shell 自动发送AWR report(二)

观察Oracle数据库性能,Oracle自带的awr 功能为我们提供了一个近乎完美的解决方案,通过awr特性我们可以随时从数据库提取awr报告.不过awrrpt.sql脚本执行时需要我们提供一些交互信息,因此可以将其整合到shell脚本中来实现自动产生指定时段的awr报告并发送给相关人员.本文对Linux/Unix shell 自动发送AWR report的功能进行了完善和补充. 1.shell脚本 [python] view plain copy print? [email protected

编写Linux/Unix守护进程

原文: http://www.cnblogs.com/haimingwey/archive/2012/04/25/2470190.html 守护进程在Linux/Unix系统中有着广泛的应用.有时,开发人员也想把自己的程序变成守护进程.在创建一个守护进程的时候,要接触到子进程.进程组.会晤期.信号机制.文件.目录和控制终端等多个概念.因此守护进程还是比较复杂的,在这里详细地讨论Linux/Unix的守护进程的编写,总结出八条经验,并给出应用范例. 编程要点 1.屏蔽一些有关控制终端操作的信号.防

Linux/UNIX进程间的通信(1)

进程间的通信(1) 进程间的通信IPC(InterProcessCommunication )主要有以下不同形式: 半双工管道和FIFO:全双工管道和命名全双工管道:消息队列,信号量和共享存储:套接字和STREAMS 管道 pipe函数 当从一个进程连接到另一个进程时,我们使用术语管道.我们通常是把一个进程的输出通过管道连接到另一个进程的输入. 管道是由调用pipe函数创建的: #include<unistd.h> int pipe(intpipefd[2]); 经由参数pipefd返回两个文

Linux chmod的用法总结

指令名称 : chmod 使用权限 : 所有使用者 使用方式 : chmod [-cfvR] [--help] [--version] mode file... 说明 : Linux/Unix 的档案存取权限分为三级 : 档案拥有者.群组.其他.利用 chmod 可以藉以控制档案如何被他人所存取. 参数格式 : mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中 u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group

六、Linux/UNIX操作命令积累【kill、netstat、df、du】

在使用Linux/UNIX下,经常会使用文本界面去设置系统或操作系统,作者本人在工作的过程也在不断接触这方面的命令,所以为此特酝酿.准备.开始了本文的编写.本文主要记录自己平时遇到的一些Linux/UNIX下操作命令,记录与整理一下,一可加深印象,二可记录分享.希望各位看官,对于不合适的或有歧义的地方,给予指明与说明,以便共同学习与提高. [转载使用,请注明出处:http://blog.csdn.net/mahoking] 023 kill命令:查看进程及杀死进程 查看进程使用ps命令,本例演示

linux之sed用法

sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法sed命令行格式为:         sed [-nefri] 'command' 输入文本 常用选项:        -n∶使用安静(silent)模式.在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上.但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来.        -e∶直接在

Linux/Unix shell sql 之间传递变量

灵活结合Linux/Unix Shell 与SQL 之间的变量传输,极大程度的提高了DBA的工作效率,本文针对Linux/Unix shell sql 之间传递变量给出几个简单的示例以供参考. Linux/Unix 下调用SQL,RAMN 请参考:Linux/Unix shell 脚本中调用SQL,RMAN脚本 一.示例 [python] view plain copy print? 1.shell变量接受sql返回值之方式一 [email protected]:~> more ./retval

Linux/Unix shell 监控Oracle告警日志(monitor alter log file)

使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日志的监控,以及数据库的备份,AWR report的自动邮件等.本文给出Linux 下使用 shell 脚本来监控 Oracle 告警日志(monitor alter log file). Linux Shell的相关参考:        Linux/Unix shell 脚本中调用SQL,RMAN脚本        Linux/Unix shell sql 之间传递变量