在Linux系统上获取命令帮助信息和划分man文档

使用历史命令
history 打完以后前面会有顺序号的比如
1 cd
2 ls
3 pwd
如果需要重新执行cd命令则可以执行 !3 命令

命令补全功能 比如你要执行history命令 可以打上histo+键

命令帮助信息、man
man history

例如查 wait 这个命令,
[root@jcwkyl /]# man -k wait
部分输出如下:
wait                  (1p)  - await process completion
wait                  (2)  - wait for process to change state
wait                  (3p)  - wait for a child process to stop or terminate
wait3 [wait4]         (2)  - wait for process to change state, BSD style
wait4                (2)  - wait for process to change state, BSD style
wait [builtins ]      (1)  - bash built-in commands, see bash(1)
waitid                (3p)  - wait for a child process to change state
waitpid [wait]       (2)  - wait for process to change state
waitpid [wait]       (3p)  - wait for a child process to stop or terminate
上述命令 man –k 等同于 apropos 命令。会看到输出的第行分三部分,最中间的部分就表示这个命令在哪一类。例如:
wait                  (2)  - wait for process to change state
就表示这个一个系统调用。因为分类 2 是系统调用的分类。
man 文档分为 9 大类 :

Section The human readable name
   1    User commands that may be started by everyone.
   2    System calls, that is, functions provided by the kernel.
   3    Subroutines, that is, library functions.
   4    Devices, that is, special files in the /dev directory.
   5    File format descriptions, e.g. /etc/passwd .
   6    Games, self-explanatory.
   7    Miscellaneous, e.g. macro packages, conventions.
   8    System administration tools that only root can execute.
   9    Another (Linux specific) place for kernel routine documentation.
   n     (Deprecated) New documentation, that may be moved to a more appropriate section.
   o     (Deprecated) Old documentation, that may be kept for a grace period.
   l     (Deprecated) Local documentation referring to this particular system.
 
了解这些,在看一个命令的 man 文档的 see also 部分时就能猜到这个命令大概是哪一类的,是一个 bash 命令,还是一个系统调用,还是其它,等等,心里会有个数。
曾经自己在 linux 下写一个 socket 程序,因为记不太清楚 sockaddr_in 数据结构的定义,但是又 man 不到,最后在 linuxforum 论坛上找到了答案:应该用 man 7 ip 来看。

上一篇:Linux系统编程(19)——正则表达式在sed和awk中的使用


下一篇:linux系统时间获取方式