原标题:在 Linux 中遨游手册页的海洋 | Linux 中国

Linux 系统上的手册页可以做的不仅仅是提供特定命令的信息。它们可以帮助你发现你没有意识到的命令。

https://linux.cn/article-12127-1.html

作者:Sandra Henry-stocker

译者:Xingyu.Wang

手册页提供了关于 Linux 命令的基本信息,很多用户经常参考它,但手册页的内容比我们很多人意识到的要多得多。

你总是可以输入一个像 这样的命令,然后得到 命令的工作原理的漂亮描述,但是探索你可能不知道的命令可能会更有启发。例如,你可以使用 命令来帮助找到一些处理非常具有挑战性的任务的命令,或者显示一些选项,这些选项可以帮助你以新的更好的方式使用你已经知道的命令。

让我们来浏览一些选项,看看最终的结果是什么。

man 命令可以帮助你按主题查找命令。例如,如果你要找一个计算文件中的行数的命令,你可以提供一个关键字。在下面的例子中,我们把关键字 “count” 放在了引号中,并添加了空格,这样我们就不会得到与 “accounts” 或 “accounting” 相关的命令,而是得到那些可以为我们做一些计算的命令。

$man-k' count '

anvil(8postfix)-Postfixsession countandrequest rate control

cksum(1)-checksumandcount the bytesinafile

sum(1)-checksumandcount the blocksinafile

timer_getoverrun(2)-getoverrun countfora POSIX per-process timer

为了显示与新用户账户相关的命令,我们可以尝试使用这样的命令。

$man-k"new user"

newusers(8)-updateandcreatenewusersinbatch

useradd(8)-create anewuserorupdatedefaultnewuser information

zshroadmap(1)-informal introduction to the zsh manualTheZshManual,…

需要说明的是,上面的第三项只是提到 “new users” 类似的内容,并不是设置、删除或配置用户账号的命令。 命令只是在命令描述中匹配了一些词,作用很像 命令。注意上面列出的每个命令后面的括号中的数字。这些数字与包含这些命令的手册页的分区有关。

确定手册页的分区

命令的分区将其内容划分为不同的类别。要列出这些类别,请键入 ,并查看类似下面的描述。你的系统中很可能没有第 9 分区的命令。

◈ 1 :可执行程序或 shell 命令

◈ 2 :系统调用(内核提供的函数)

◈ 3 :库调用(程序库内的函数)

◈ 4 :特殊文件(通常在可以 /dev 中找到)

◈ 5 :文件格式和惯例,例如 /etc/passwd

◈ 6 :游戏

◈ 7 :杂项(包括宏包和约定),例如 (7)、 groff (7)

◈ 8 :系统管理命令(通常只由 root 用户使用)

◈ 9 :内核例程(非标准)

手册页涵盖了比我们通常认为的“命令”更多的内容。从上面的描述中可以看到,它们涵盖了系统调用、库调用、特殊文件等等。

下面的列表显示了 Linux 系统中的手册页的实际存储位置。这些目录上的日期会有所不同,因为随着更新,其中一些分区会有新的内容,而另一些则不会。

$ls-ld/usr/share/man/man?

drwxr-xr-x2root root98304Feb516:27/usr/share/man/man1

drwxr-xr-x2root root65536Oct2317:39/usr/share/man/man2

drwxr-xr-x2root root270336Nov1506:28/usr/share/man/man3

drwxr-xr-x2root root4096Feb410:16/usr/share/man/man4

drwxr-xr-x2root root28672Feb516:25/usr/share/man/man5

drwxr-xr-x2root root4096Oct2317:40/usr/share/man/man6

drwxr-xr-x2root root20480Feb516:25/usr/share/man/man7

drwxr-xr-x2root root57344Feb516:25/usr/share/man/man8

注意,为了节省空间,手册页文件一般都是 gzip 压缩的。每当你使用 命令时, 命令会根据需要解压。

$ls-l/usr/share/man/man1|head-10

total12632

lrwxrwxrwx1root root9Sep506:38[.1.gz->test.1.gz

-rw-r--r--1root root563Nov705:072to3-2.7.1.gz

-rw-r--r--1root root592Apr232016411toppm.1.gz

-rw-r--r--1root root2866Aug1410:36a2query.1.gz

-rw-r--r--1root root2361Sep915:13aa-enabled.1.gz

-rw-r--r--1root root2675Sep915:13aa-exec.1.gz

-rw-r--r--1root root1142Apr32018aaflip.1.gz

-rw-r--r--1root root3847Aug1410:36ab.1.gz

-rw-r--r--1root root2378Aug232018ac.1.gz

按分区列出的手册页

即使只看第 1 分区的前 10 个手册页(如上所示),你也可能会看到一些新的命令 —— 也许是 a2query 或 aaflip (如上所示)。

探索命令的更好策略是按分区列出命令,不查看文件本身,而是使用 命令向你显示命令并提供每个命令的简要说明。

在下面的命令中, -s 1 指示 显示第 1 分区中的命令信息。 -k . 使该命令对所有命令都有效,而不是指定一个特定的关键字;如果没有这个, 命令就会回过头来问:“你想要什么手册页?”所以,使用关键字来选择一组相关的命令,或者使用点来显示一个分区中的所有命令。

$man-s1-k.

2to3-2.7(1)-Python2toPython3converter

411toppm(1)-convertSonyMavica.411image to ppm

as(1)-the portable GNU assembler.

baobab(1)-A graphical tool to analyze disk usage

busybox(1)-TheSwissArmyKnifeofEmbeddedLinux

cmatrix(1)-simulates the displayfrom"The Matrix"

expect_dislocate(1)-disconnectandreconnect processes

red(1)-line-oriented text editor

enchant(1)-a spellchecker

有多少手册页?

如果你对每个分区中有多少手册页感到好奇,可以使用以下命令按分区对它们进行计数:

$fornumin{1..8}

>do

>man-s $num-k.|wc-l

>done

2382

493

2935

53

441

11

245

919

确切的数量可能有所不同,但是大多数 Linux 系统的命令数量差不多。如果我们使用命令将这些数字加在一起,我们可以看到运行该命令的系统上有将近 7500 个手册页。有很多命令,系统调用等。

$fornumin{1..8}

>do

>num=`man -s $num -k . | wc -l`

>tot=`expr $num + $tot`

>echo$tot

>done

2382

2875

5810

5863

6304

6315

6560

7479<===total

阅读手册页可以学到很多东西,但是以其他方式浏览手册页可以帮助你了解系统上可能不知道的命令。

作者: 选题: 译者: 校对:

本文由 原创编译, 荣誉推出

责任编辑:

Linux下dislocate命令用法,在 Linux 中遨游手册页的海洋 | Linux 中国相关推荐

  1. Linux下dislocate命令用法,五个超酷Linux命令

    1.kibitz:交互对话-屏幕同时显示(师徒对话)(要求安装expect工具) kibitz是一个终端工具,它主要用于让一个"师父(master)"来帮助他/她的"徒弟 ...

  2. Linux下find命令用法详解

    Linux下find命令用法详解 学神VIP烟火 学神IT教育:XueGod-IT 最负责任的线上直播教育平台 本文作者为VIP学员 烟火 第一部分:根据文件名查找 1.在当前目录查找名称为test的 ...

  3. Linux 下 strace 命令用法总结

    Linux 下 strace 命令用法总结 1 功能说明 strace 命令是一种强大的工具, 能够显示任何由用户空间程式发出的系统调用. strace 显示这些调用的参数并返回符号形式的值. str ...

  4. linux下find命令用法

    一.Linux中find常见用法示例 ·find    path    -option    [    -print ]    [ -exec    -ok    command ]    {} /; ...

  5. linux find ok用法,linux下find命令用法

    一.Linux中find常見用法示例·find    path    -option    [    -print ]    [ -exec    -ok    command ]    {} /; ...

  6. Linux下addr2line命令用法

    Linux下addr2line命令用于将程序指令地址转换为所对应的函数名.以及函数所在的源文件名和行号.当含有调试信息(-g)的执行程序出现crash时(core dumped),可使用addr2li ...

  7. C语言再学习 -- Linux下find命令用法

    参看:linux下find(文件查找)命令的用法总结 linux下查找文件的命令有两个:locate 和 find 首先说一下locate: 这个命名是对其生成的数据库进行遍历(生成数据库的命令:uo ...

  8. Linux下diff命令用法详解

    大家好,我是良许. 我们在平时工作的时候,经常要知道两个文件之间,以及同个文件不同版本之间有何异同点.在 Windows 下,有 beyond compare 这个好用的工具,而在 Linux 下,也 ...

  9. linux下rename命令用法详解(重命名文件)

    本文介绍了linux系统中rename命令的用法,用来修改文件名.重命名文件,批量重命名文件rename是最好的选择,需要的朋友参考下. 在linux系统中重命名文件,经常用到mv命令,批量重命名文件 ...

最新文章

  1. 配置告警系统主脚本main.sh mon.sh load.sh 502.sh disk.sh
  2. cmake CMakeLists.txt 命令 add_compile_options、add_definitions、target_compile_definitions、build_command
  3. (转载)网络编程释疑之:同步,异步,阻塞,非阻塞
  4. 【Python基础知识-pycharm版】第二节-赋值/数据类型/时间点/运算符/字符串
  5. MySQL8.0.19下载安装及配置详细步骤
  6. 联手三年,获取数千名客户,阿里云如何重构 Elastic 开放免费的技术?
  7. 初探Linux内核态——通过proc文件系统作快速问题定位
  8. 【专栏必读】王道考研408操作系统+Linux系统编程万字笔记、题目题型总结、注意事项、目录导航和思维导图
  9. 删除360UDiskGuardXX.dll
  10. 计算机普通用户禁止修改c盘,win10系统禁止Guest账户访问C盘的设置技巧
  11. 验证码识别逻辑回归案例
  12. ROS中处理回调数据
  13. 麦克风有突突突的杂音
  14. 【labview】限幅子vi +源程序
  15. 第三方接口该如何调用
  16. html背景多图片拼接,将多个图片整合到一张图片中再用css_进行网页背景定位.
  17. Node-内置模块:子进程 child_process
  18. 谷歌浏览器部分网站不能保存密码
  19. Android自定义DataTimePicker(日期选择器)
  20. PS2019计算机丢失,小编教您ps2019中如何调出历史记录

热门文章

  1. python3安装setuptools步骤_linux环境下的python安装过程(含setuptools)
  2. 使用strcat_s函数的注意事项
  3. #8ms平台,是一个支持ESP32/Sigamastar201、202/RK等硬件的开发平台,现平台Slogan有奖征集# 我们的广告语,将由你们来定!
  4. java中class.forname连接mysql数据库_数据库链接与 Class.forName()用法详解
  5. 2个网页跳来跳去_成为搜索产品经理(2):认识网络爬虫
  6. CDN边缘JavaScript敏捷交付实践
  7. 超详细!百度富媒体检索比对系统的关键技术
  8. java8 lambda python_【学习笔记】java8 Lambda表达式语法及应用
  9. 详解css样式处理的优先级
  10. 记-PHPExcel下载