善用 Linux man-pages

Linux man-pages 提供与 Linux kernel 以及 GNU C library 提供的 user-space API 有关的详细资讯,其主要分为 8 个章节,主题如下:

1. User commands (Programs)
2. System calls
3. Library calls
4. Special files (devices)
5. File formats and configuration files
6. Games
7. Overview, conventions, and miscellaneous
8. System management commands

实际案例

Unix-like 的作业系统几乎都内建了 Programmer's Manual,它可以帮助我们查找 C 语言函式的定义。
若我想知道 sem_init() 的定义,便可以直接在终端机输入以下命令:

man sem_init

上图 SEM_INIT(3) 之中的数字 3 表示 sem_init() 属於函式库呼叫,并且详述了它被实作於哪一个函式库以及使用方式 (呼叫函式时应传入的参数以及应用场景等)。

安装

如果你无法在 Linux 作业系统查阅 Man pages ,请使用以下命令安装:

$ sudo apt-get install manpages # 涵盖 GNU/Linux 的基本操作
$ sudo apt-get install manpages-dev # GNU/Linux 的相关 API
$ sudo apt-get install manpages-posix # POSIX 所定义公用程序的方法
$ sudo apt-get install manpages-posix-dev # POSIX 的标头档以及函式库呼叫的方法

小技巧

1. 开启符合关键字的 man page:

man -a keyword

2. 列出符合关键字的档案路径,并询问是否要开启该档案:

man -K keyword

3. 列出所在章节/查询指定章节
pritf 为例,在输入命令时加入 -aw 参数,man page 就会回传 pritf 所在的章节。

man -aw printf
/usr/share/man/man1/printf.1
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/share/man/man1/printf.1
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/share/man/man3/printf.3

查询结果显示它会出现在 man page 当中的第一章和第三章,若我们想要查询的是 Library call,则可以在查询目标之前加入指定章节:

man 3 printf

若你觉得麻烦不想分开查阅,也可以在命令加入 -a 参数一次查看所有内容:

man -a printf

Reference


<<:  第 13 集:Bootstrap 客制化 Sass 环境

>>:  day13 Kotlin coroutine channel操作

Day10 PHP数据类型--基本类型之数字与布尔型

这是今天要介绍的详细一点的数据类型: 整型(int/integer) 浮点型(float) 布尔型(...

Vue.js指令介绍&基本指令(Directives)(DAY26)

What is Vue Directives? 指令的功能通常用在JavaScript表达式的值改变...

Day23:Hot Flow - StateFlow

State Flow 是从 Shared Flow 继承而来的,跟 Shared Flow 不同的地...

3.移转 Aras PLM大小事-Agile 汇出 Part & BOM (1)

第3话 Agile 汇出 Part & BOM(1) 想要汇出Agile的Part与BOM,...

离职倒数8天:佩服外表不起眼的商品,还有对包装华丽的东西起疑。

开始有自己的盈利事业後,我看世界角度最大的改变之一,是开始佩服外表不起眼的商品,还有对包装华丽的东西...