当前位置: 首页 > 工具软件 > EMAN > 使用案例 >

Linux下的man命令

常小白
2023-12-01


一、man是什么?

man所代表的的是英文单词manual,也就是帮助手册的意思,Linux中的man手册就是提供给用户在有不明白的命令或者函数的时候,去查询它的功能、使用方法、头文件以及所需参数的帮助手册。


二、man命令的使用

1.通过man man查看man手册

man man命令可以查看man手册的内容(部分如下):

MAN(1)                                                                Manual pager utils                                                               MAN(1)

NAME
       man - an interface to the on-line reference manuals
       
SYNOPSIS
       man  [-C  file]  [-d]  [-D]  [--warnings[=warnings]]  [-R  encoding]  [-L  locale]  [-m  system[,...]]  [-M  path]  [-S  list]  [-e extension] [-i|-I]
       [--regex|--wildcard] [--names-only] [-a] [-u] [--no-subpages] [-P pager] [-r prompt] [-7] [-E encoding]  [--no-hyphenation]  [--no-justification]  [-p
       string] [-t] [-T[device]] [-H[browser]] [-X[dpi]] [-Z] [[section] page[.section] ...] ...
       man -k [apropos options] regexp ...
       man -K [-w|-W] [-S list] [-i|-I] [--regex] [section] term ...
       man -f [whatis options] page ...
       man  -l  [-C file] [-d] [-D] [--warnings[=warnings]] [-R encoding] [-L locale] [-P pager] [-r prompt] [-7] [-E encoding] [-p string] [-t] [-T[device]]
       [-H[browser]] [-X[dpi]] [-Z] file ...
       man -w|-W [-C file] [-d] [-D] page ...
       man -c [-C file] [-d] [-D] page ...
       man [-?V]

2.通过man来进行查询

在我们查看man手册中可以发现如下man手册的分类:

1   Executable programs or shell commands//可执行程序和shell命令
2   System calls (functions provided by the kernel)//系统调用函数
3   Library calls (functions within program libraries)//库调用函数
4   Special files (usually found in /dev)//设备或特殊文件
5   File formats and conventions eg /etc/passwd//文件格式和规则
6   Games//游戏及其他
 7   Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7)//宏、包及其他杂项
8   System administration commands (usually only for root)//系统管理员相关的命令
9   Kernel routines [Non standard]//跟kernel内核有关的文件

其中我们常用前3个手册,第1手册中是用来存放可执行程序和shell命令的;第2个手册用来存放系统调用函数的,这些函数由内核提供;第3个手册是用来存放库调用函数的,这些函数由第三方库来提供。

那么我们如何区分我们要查的函数是属于系统调用还是库函数呢?

我们可以首先对此函数调用man -k来看看它属于哪些手册,有的也可能同时属于多个手册,举例:

:~$ man -k printf
Printf (3o)          - Formatted output functions.
asprintf (3)         - print to allocated string
caca_conio_cprintf (3caca) - The libcaca public header.
caca_conio_printf (3caca) - The libcaca public header.
caca_printf (3caca)  - These functions provide low-level character printing routines and higher level graphics functions.
caca_vprintf (3caca) - These functions provide low-level character printing routines and higher level graphics functions.
dprintf (3)          - formatted output conversion
fprintf (3)          - formatted output conversion
fwprintf (3)         - formatted wide-character output conversion
printf (1)           - format and print data
printf (3)           - formatted output conversion
set_matchpathcon_printf (3) - set flags controlling the operation of matchpathcon or matchpathcon_index and configure the behaviour of validity checking and er...
snprintf (3)         - formatted output conversion
sprintf (3)          - formatted output conversion
Stdlib.Printf (3o)   - no description
swprintf (3)         - formatted wide-character output conversion
vasprintf (3)        - print to allocated string
vdprintf (3)         - formatted output conversion
vfprintf (3)         - formatted output conversion
vfwprintf (3)        - formatted wide-character output conversion
vprintf (3)          - formatted output conversion
vsnprintf (3)        - formatted output conversion
vsprintf (3)         - formatted output conversion
vswprintf (3)        - formatted wide-character output conversion
vwprintf (3)         - formatted wide-character output conversion
wprintf (3)          - formatted wide-character output conversion

可以见得printf在1手册和3手册里都有,而通过我们自己的分析可以判断想要查询的是哪一个(不确定,也可以对应手册都试一下来做判断)。
举例(查询printf库函数):

:~$ man 3 printf

我们可以在手册中具体得到printf库函数的头文件和参数等:

 #include <stdio.h>

       int printf(const char *format, ...);

四、 总结

以上就是今天要讲的内容,本文简要介绍了man手册和man命令,讲解了man命令的使用方法,希望通过本章可以让才开始使用Linux的小伙伴学到man这个方便的工具,并在之后的学习中充分用到此工具。

 类似资料: