专栏首页编程珠玑linux中如何快速获取帮助信息

linux中如何快速获取帮助信息

前言

对于一些新的或者不常用的命令和函数,我们常常需要查询使用方法或者参数详情,在linux下我们不需要去网上查询,完全可以利用linux自带的手册查看帮助信息。这就是我们今天要介绍的man命令。

基本介绍

实际上man命令并非仅仅能查看命令或者函数的介绍,在linux中,有丰富的帮助手册信息,并且每一个手册都有一个编号。编号和对应内容如下:

编号

代表内容

1

可执行程序或shell命令,如ls

2

系统调用,如chdir

3

库函数,如printf

4

设备或特殊文件,如tty

5

配置文件格式或约定

6

游戏

7

杂项

8

管理命令,通常只有root用户可以使用

9

内核例程

n

内置命令,如cd

对于内置命令,还可以使用help命令查看帮助手册,例如:

help cd

判断命令是什么类型可使用type命令,例如:

type cd 
cd is a shell builtin

手册内容

多数手册包含以下几部分内容:

  • NAME 功能的简单描述
  • SYNOPSIS 语法格式
  • DESCRIPTION 描述
  • OPTIONS 选项
  • ERRORS 描述出错场景,这在排查错误时很有帮助
  • NOTES 注意事项
  • FILES 相关文件,例如对于man命令的FILES部分内容显示了它的配置文件位置等信息
  • EXAMPLES 使用示例,会提供一些简单的示例
  • BUGS 存在的bug,当遇到奇怪的问题时,不妨看看当前命令是否有已知的bug

基本查看

手册的查看和less查看文本类似,可以参考Linux常用命令--文本查看篇或查看less命令的使用,这里介绍基本操作:

  • 空格 向下翻页
  • Home 回到第一页
  • End 跳到最后一页
  • /string 向前搜索string字符串
  • ?string 向后搜索string字符串
  • n 下一个匹配字符
  • N 上一个匹配字符
  • q 退出

工作流程简述

man命令所展示的帮助信息都是存在于linux系统中的,流程是怎样的呢?

1.搜索$PATH环境变量指定路径。

2.搜索/etc/manpath.config文件中MANPATH中指定的路径。

3.使用指定的解压工具进行解压处理。

4.使用文本查看命令显示手册内容。

配置文件的位置可通过查看FILES部分内容找到:

man man
FILES
       /etc/manpath.config
              man-db configuration file.

       /usr/share/man
              A global manual page hierarchy.

       /usr/share/man/index.(bt|db|dir|pag)
              A traditional global index database cache.

       /var/cache/man/index.(bt|db|dir|pag)
              An FHS compliant global index database cache.

这里简单说明一下manpath.config中的SECTION,它指定了优先输出的手册顺序。例如:

SECTION 1 n l 8 3 2 3posix 3pm 3perl 5 4 9 6 7

这里它最先显示的是1,即shell命令的帮助手册,其次是n,即内置命令的帮助手册。以此类推。当然,前提是这些手册都有。

我们也可以通过manpath命令查看man手册所在路径:

manpath
/usr/local/man:/usr/local/share/man:/usr/share/man:/usr/lib/jvm/java-8-oracle/man

实例

查找指定章节手册

一般的命令或者库函数的帮助手册都很好查看,但是如果你想查看write函数的帮助手册,使用下面的命令是看不到的:

man write

因为它既是一个用户命令也是一个系统调用名称,按照前面所设置的顺序,它会优先显示用户命令的帮助手册。因此,如果我们想直接查看作为系统调用(参考:系统调用和库函数的区别)的write的帮助手册,直接使用下面的方式即可:

man 2 write  #2表明从系统调用手册中查找

查找手册所在位置

如果仅仅是想查看手册在什么位置,可使用-w参数,例如:

man -w ls
/usr/share/man/man1/ls.1.gz

查找包含关键字的手册

有时候我们需要查看包含某些关键字的手册,但是又不知道具体是那个手册,这个时候可以使用下面的方式:

man -k touch  #查找包含touch关键字的手册(模糊匹配)
git-merge-tree (1)   - Show three-way merge without touching index
synaptics (4)        - touchpad input driver
syndaemon (1)        - a program that monitors keyboard activity and disables...
touch (1)            - change file timestamps

查看简短描述信息

如果只想简单知道该命令的作用,可使用-f参数,例如:

man -f ls
ls (1)               - list directory contents

查看所有手册

使用-a参数即可,它会展示所有相关手册

man -a open

总结

man命令是你最该学会使用的一个命令。借助man命令,可以帮助我们快速的学会使用其他命令或函数的使用。

本文分享自微信公众号 - 编程珠玑(shouwangxiansheng),作者:守望先生

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-12-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • linux自助安装man手册,就是这么简单!

    在Linux编写或者编译C代码的时候,直接使用man命令就可以查看该函数的使用手册,非常方便,如:

    编程珠玑
  • C语言入坑指南-数组之谜

    在C语言中,数组和指针似乎总是“暧昧不清”,有时候很容易把它们混淆。本文就来理一理数组和指针之间到底有哪些异同。

    编程珠玑
  • 如何创建多进程程序?(文末福利)

    在《对进程和线程的一些总结》已经介绍了进程和线程的区别,但是在C/C++中如何创建进程呢?或者说如何编写多进程的程序呢?

    编程珠玑
  • 表达式查询

    如果进行多字段查询,那么字段之间的默认逻辑关系是 逻辑与 AND,但是用下面的规则可以更改默认的逻辑判断,通过使用 _logic 定义查询逻辑:

    公众号php_pachong
  • 分享 | 使用Grafana实现 Jmeter实时监控

    作者博客: http://www.jianshu.com/u/be71e0f7ca59

    苦叶子
  • 业界 | Uber提出SBNet:利用激活的稀疏性加速卷积网络

    机器之心
  • zabbix之日志文件监控

    作者:hu_wen 来源:http://blog.csdn.net/hu_wen/article/details/70142060 日志item介绍 ...

    小小科
  • PYTHON网站爬虫教程

    无论您是要从网站获取数据,跟踪互联网上的变化,还是使用网站API,网站爬虫都是获取所需数据的绝佳方式。虽然它们有许多组件,但爬虫从根本上使用一个简单的过程:下载...

    iOSDevLog
  • 币聪:尽管挖矿收入有所下滑,但Nvidia本季度收入仍然增长状态

    Marketwatch在8月10 日报道称,FactSet调查的分析师表示,尽管“ 加密货币采矿”正在“减弱” ,但本季度Nvidia的收入将增加。据称,增长的...

    币聪财经
  • zabbix之日志文件监控

    来源:http://blog.csdn.net/hu_wen/article/details/70142060

    小小科

扫码关注云+社区

领取腾讯云代金券