探索 man

1 探究 man 的一些工作

2 man 的语法(sections)

3 MANUAL SECTIONS

··············

# man man

1 探究 man 的一些工作

从 DESCRIPTION 开始看……

# find / -name "*.5.gz"

刚好画面有个暂停,终止查找,随便找一个试试。

# mkdir /dinglicom/tmp/d

# cd /dinglicom/tmp

# cp /usr/share/man/overrides/man5/ssh_config.5.gz d/

# man ssh_config        (这个现示系统的路径下不是当前目录里的)

# man d/ssh_config.5.gz        (这个是当前目录下 d/ 中的内容)

# cp d/ssh_config.5.gz mns.5.gz

# man mns.5.gz        (无显示)

# man ./mns.5.gz        (这回正确现实了当前目录下该文件的内容)

# file mns.5.gz

mns.5.gz: gzip compressed data, from Unix, max compression

是个压缩文件。

# gunzip mns.5.gz

# ls

d  mns.5

# file mns.5

mns.5: troff or preprocessor input text

以前有过一篇短博文:

http://sunnybay.blog.51cto.com/2249903/1611680 “纯文本化”man命令的帮助内容

这个文件一样可以直接显示,上一篇的时候不知道,才有上一篇。

# man ./mns.5

这个过程,起码看出来 man 是怎么实现的。(man 在执行的时候,会在一簇目录下寻找…… )

使用命令 man 同样可以查看纯文本文件的内容,只是……

2 man 的语法(sections)

从 SYNOPSIS 看,其中语法有这么一结:

 man [section] name ...

结合 MANUAL SECTIONS 来看,如果不选择某一个“section”会显示太多不是我想要的内容,需要针对性摘选。比如学习 C 语言 时,我需要了解 函数 printf 的信息。

# man 3 printf

因为直接使用命令“man printf”得到的不是我需要的 C 语言 方面的信息,而是用户指令信息。

找出 man 显示 printf 使用的文件。

# find /usr/share/man/ -name "printf.*.gz"


/usr/share/man/man1p/printf.1p.gz

/usr/share/man/man3p/printf.3p.gz

/usr/share/man/man1/printf.1.gz

/usr/share/man/man3/printf.3.gz

发现有个“1p”、“3p”,照猫画虎。

# man 3p printf

# man 1p printf

……

3 MANUAL SECTIONS

查看命令

# man 1 stat

# man 1 printf     (default)

查看“系统调用函数”相关信息

# man 2 stat

# man 2 chmod

# man 2 chown

# man 2 mount

查看 C 函数库

# man 3 printf

# man 3 scanf

查看“文件格式”

# man 5 sshd_config

# man 5 fstab

# man 5 fs

# man 5 proc

查看守护进程相关信息

# man 8 sshd

# man 8 mount

时间: 2024-08-08 17:48:58

探索 man的相关文章

GLSProv WebUI Framework 探索阶段成果所得(1)

作为我的处子随笔,我就凭着我所想到的记录一下这段时间探索我所做的这个Feature的历程以及所学,所感. 先说一下背景,Provisiong一直是我们COM组项目里比较重要的配置环节,诞生10来年,一直是Java Swing作为主要的GUI界面,配合后台的OMCP Server 与网元以及数据库打交道.自从COM web 化以来,Swing Gui 从纯Java 演变为了WEB Swing, 但是本质上并没有什么变化, 较差的客户体验一直让老美不爽,所以经"董事会"们开会研究,先拿规模

使用Visual Studio快速开发STM32F4-Discovery探索板入门

本本将主要介绍如何使用Visual Studio创建一个基于STM32F4-Discovery探索板的简单工程. 本文使用以下硬件和软件: ●      Microsoft Visual Studio ●      VisualGDB ●      STM32F4-Discovery探索板 我们将创建一个简单的“LED闪烁”的工程,然后进行构建,并使用调试器进行单步调试. 1.    启动Visual Studio.选择File-> New-> Project. 2.    选择VisualG

数据探索

一.查看数据 首先,我们查看iris数据集的大小和结构,其维度和名称分别使用函数dim()和names()获取. 函数str()和attributes()返回数据的结构和属性 二.单变量分析 > head(iris) Sepal.Length Sepal.Width Petal.Length Petal.Width Species1 5.1 3.5 1.4 0.2 setosa2 4.9 3.0 1.4 0.2 setosa3 4.7 3.2 1.3 0.2 setosa4 4.6 3.1 1.

地统计分析笔记——探索数据

来自:http://blog.csdn.net/kikitamoon/article/details/49925147 在执行地统计分析之前,浏览.熟悉.检查自己的数据是至关重要的.绘制和检查数据是地统计分析过程中的必要阶段,我们可以从这些工作中获得一些先验知识,指导后续的工作. Stage 1 绘制数据 通过ArcMap的图层渲染方案绘制数据,我们可以获得对数据的第一印象. 例如,使用单一符号渲染了解采样点的疏密分布,通过分类渲染了解采样点高值低值的分布,等等. Stage 2 检查数据 绘制

C++随笔:.NET CoreCLR之GC探索(2)

首先谢谢 @dudu 和 @张善友 这2位大神能订阅我,本来在写这个系列以前,我一直对写一些核心而且底层的知识持怀疑态度,我为什么持怀疑态度呢?因为一般写高层语言的人99%都不会碰底层,其实说句实话,我以前也不看这些东西,只是因为自己觉得对C++感兴趣,索性乱写点东西,如果有写得不好的地方,还请上面2位大神指出. 其实我现在虽然写的是C++,但是我打算在后面把C++和.NET的一些基础类库融合起来,我发现写CLR的文章特别少,不知道什么原因.反正,废话不多,开始今天的写作吧,今天依然是把重点集中

探索Oracle之数据库升级二 11.2.0.3升级到11.2.0.4完整步骤

探索Oracle之数据库升级二  11.2.0.3升级到11.2.0.4完整步骤 说明:         这篇文章主要是记录下单实例环境下Oracle 11.2.0.1升级到11.2.0.3的过程,当然RAC的升级是会有所不同.但是他们每个版本之间升级步骤都是差不多的,先升级Database Software,再升级Oracle Instance. Oracle 11.2.0.4的Patchset No:19852360下载需要有Oracle Support才可以.  Patchset包含有7个

[ 测试思维 ] 探索式软件测试

非常不错的关于探索式软件测试的学习资料 1.探索式测试简析 作者:微软 史亮 http://pan.baidu.com/s/1c2D4tAo 2.探索式测试白皮书 作者:淘宝 季哥 http://pan.baidu.com/s/1qYFNG3y

探索 ConcurrentHashMap 高并发性的实现机制

简介 ConcurrentHashMap 是 util.concurrent 包的重要成员.本文将结合 Java 内存模型,分析 JDK 源代码,探索 ConcurrentHashMap 高并发的具体实现机制. 由于 ConcurrentHashMap 的源代码实现依赖于 Java 内存模型,所以阅读本文需要读者了解 Java 内存模型.同时,ConcurrentHashMap 的源代码会涉及到散列算法和链表数据结构,所以,读者需要对散列算法和基于链表的数据结构有所了解. Java 内存模型 由

JVM中class文件探索与解析(一)

一直想成为一名优秀的架构师的我,转眼已经工作快两年了,对于java内核了解甚少,闲来时间,看看JVM,吧自己的一些研究写下来供大家参考,有不对的地方请指正. 废话不多说,一起来看看JVM中类文件是如何加载和运行的. (1)首先,编写简单代码,对其编译生成的class文件进行研究,其java代码如下: 1 public class test { 2 private static int count = 0; 3 public static void recursion(){ 4 count++;

aync await 进一步探索

aync await 进一步探索 首先来个例子 class Program { static int index = 1; static void Log(string str) { Console.WriteLine((index++) + ". " + str + ". ThreadId:" + Thread.CurrentThread.ManagedThreadId); } static void Main(string[] args) { //解决.net