man手册的使用

在Linux中man的使用频率应该是很高的,灵活运用它可以让自己快速的掌握一个不熟悉命令的使用方法。下面来介绍下man

环境CentOS6.8

man – format and display the on-line manual pages 在线使用手册格式及展示
通俗点来说它就是命令的使用手册。
它共分九个章节

1、用户命令
2、系统调用
3、C库调用
4、设备文件及特殊文件
5、配置文件格式
6、游戏
7、杂项
8、管理命令及守护进程
9、Linux内核API(CentOS7以后出现)
之所以分这九个章节是应为有的命令分属不同类,查看命令具体属于man中的哪个章节需要使用命令
whatis COMMAND

下面就命令echo为例来具体说明man的手册内容
#whatis echo
echo                 (1)  – display a line of text
echo                 (1p)  – write arguments to standard output
echo [builtins]      (1)  – bash built-in commands, see bash(1)

从上面可以看出来echo属于man的第一章节
下面从具体的man 1 echo中解释具体每项的意义
#man 1 echo
NAME     命令名称及功能简要说明
       echo – display a line of text
 
SYNOPSIS       用法说明,包括可用的选项
       echo [SHORT-OPTION]… [STRING]…
       echo LONG-OPTION
 
       <>:此符号内为必给内容
       []:此符号内为可选内容
       |:此符号表示多选一
        {}:此符号表示为分组
…:同一内容出现多次
 
DESCRIPTION     命令功能的详尽说明,可能包括每一项的意义
       Echo the STRING(s) to standard output.
 
       -n     do not output the trailing newline
 
       -e     enable interpretation of backslash escapes
 
       -E     disable interpretation of backslash escapes (default)
 
       –help display this help and exit
 
       –version
              output version information and exit
       .
       .
       .
AUTHOR        作者
       Written by Brian Fox and Chet Ramey.
 
REPORTING BUGS   报告程序bug的方式
       Report echo bugs to bug-coreutils@gnu.org
       GNU coreutils home page: <http://www.gnu.org/software/coreutils/>
       General help using GNU software: <http://www.gnu.org/gethelp/>
       Report echo translation bugs to <http://translationproject.org/team/>
 
COPYRIGHT    版权声明
       Copyright    2010  Free Software Foundation, Inc.  License GPLv3+: GNU
       GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
       This is free software: you are free  to  change  and  redistribute  it.
       There is NO WARRANTY, to the extent permitted by law.
 
SEE ALSO   另外参照
       The  full documentation for echo is maintained as a Texinfo manual.  If
       the info and echo programs are properly installed  at  your  site,  the
       command
 
              info coreutils 'echo invocation'
 
       should give you access to the complete manual.

有的命令中还有OPTIONS(说明每一个选项的意义)、FILES(此命令相关的配置文件)、ARGUMENTS(命令的作用对象),大致有上面这几项。

    man命令中的快捷键,便于查看文本信息

enter return键:向后翻一行         k:向前翻一行

ctrl+d :向文件尾部翻半屏           ctrl+u:向文件首部翻半屏
G:跳至最后一行                     #G:跳转至指定行,#表示行号

    man查找,用于在man手册中快速定位需要的信息
/keyword:以keyword指定的字符串为关键字,从当前界面所在位置向文件尾部搜索;不区分字符大小写
n:下一个             N:上一个

?keyword:以keyword指定的字符串为关键字,从当前界面所在位置向文件首部搜索;不区分字符大小写
n:跟收缩命令同方向,下一个      N:跟搜索命令反向,上一个

   当不看man手册时q为退出

    man的实际应用
下面通过一个实际的问题,来说明man的作用

例子:字符终端登陆时,显示当前登陆终端号,主机名和当前时间。
要求使用man查找实现上述要求,提示:修改/etc/issue文件。怎么修改可以通过man查看issue求助。
我们先用cat看下/etc/issue文件

# cat /etc/issue
CentOS release 6.8 (Final)
Kernel \r on an \m

之后我们
man issue

Formatting page, please wait…
ISSUE(5)                   Linux Programmer’s Manual                  ISSUE(5)
 
NAME
       issue – pre-login message and identification file
 
DESCRIPTION
       The  file  /etc/issue is a text file which contains a message or system
       identification to be printed before the login prompt.  It  may  contain
       various  @char and \char sequences, if supported by the getty-type pro-
       gram employed on the system.
 
FILES
       /etc/issue
 
SEE ALSO
       motd(5), agetty(8), mingetty(8)
 
COLOPHON
       This page is part of release 3.22 of the Linux  man-pages  project.   A
       description  of  the project, and information about reporting bugs, can
       be found at http://www.kernel.org/doc/man-pages/.
 
Linux                             1993-07-24                          ISSUE(5)

查看之后发现找不到一点有价值的信息,不过在最后提示我们可以查看motd、agetty、mingetty这三个文件。
man motd
MOTD(5)                    Linux Programmer’s Manual                   MOTD(5)
 
NAME
       motd – message of the day
 
DESCRIPTION
       The  contents of /etc/motd are displayed by login(1) after a successful
       login but just before it executes the login shell.
 
       The abbreviation "motd" stands for "message of the day", and this  file
       has  been  traditionally  used  for exactly that (it requires much less
       disk space than mail to all users).
 
FILES
       /etc/motd
 
SEE ALSO
       login(1), issue(5)
 
COLOPHON
       This page is part of release 3.22 of the Linux  man-pages  project.   A
       description  of  the project, and information about reporting bugs, can
       be found at http://www.kernel.org/doc/man-pages/.
 
Linux                             1992-12-29                           MOTD(5)

motd里面也没有值得我们参考的信息,继续下一个
man agentty
AGETTY(8)                                                            AGETTY(8)
 
NAME
       agetty – alternative Linux getty
 
SYNOPSIS
       agetty  [-8ihLmnUw]  [-f  issue_file]  [-l login_program] [-I init] [-t
       timeout] [-H login_host] port baud_rate,…  [term]
       agetty [-8ihLmnw] [-f issue_file]  [-l  login_program]  [-I  init]  [-t
       timeout] [-H login_host] baud_rate,…  port [term]
 
DESCRIPTION
       agetty  opens  a  tty  port,  prompts  for a login name and invokes the
       /bin/login command. It is normally invoked by init(8).
 
       agetty has several non-standard features that are useful for hard-wired
       and for dial-in lines:
 
       o      Adapts  the tty settings to parity bits and to erase, kill, end-
              of-line and uppercase characters when it  reads  a  login  name.
              The  program can handle 7-bit characters with even, odd, none or
              space parity, and 8-bit characters with no parity. The following
              special  characters  are  recognized: @ and Control-U (kill); #,
              DEL and back space (erase); carriage return and line  feed  (end
              of line).  See also –erase-chars and –kill-chars options.
 
       o      Optionally  deduces the baud rate from the CONNECT messages pro-
              duced by Hayes(tm)-compatible modems.
              …
              ..
              .

由于这个手册内容很多,所以我们使用/issue快速找到关于/etc/issue的相关内容作为参考。
connection and turn on auto-answer after 1 ring.)
            /sbin/agetty -w -I ’ATE0Q1&D2&C1S0=1\015’ 115200 ttyS1
 
ISSUE ESCAPES
       The issue-file (/etc/issue or the file set with the -f option) may con-
       tain certain escape codes to display the system  name,  date  and  time
       etc.  All  escape codes consist of a backslash (\) immediately followed
       by one of the letters explained below.
 
       b      Insert the baudrate of the current line.
 
       d      Insert the current date.
 
       s      Insert the system name, the name of the operating system.
 
       l      Insert the name of the current tty line.
 
       m      Insert the architecture identifier of the machine, eg. i486
 
       n      Insert the nodename of the machine, also known as the  hostname.
 
       o      Insert the NIS domainname of the machine.
 
       O      Insert the DNS domainname of the machine.
 
       r      Insert the release number of the OS, eg. 1.1.9.
 
       t      Insert the current time.
 
       u      Insert the number of current users logged in.
 
       U      Insert  the string "1 user" or "<n> users" where <n> is the num-
              ber of current users logged in.
 
       v      Insert the version of the OS, eg. the build-date etc.
 
       Example: On my system, the following /etc/issue file:
 
              This is \n.\o (\s \m \r) \t
 
       displays as
 
              This is thingol.orcan.dk (Linux i386 1.1.9) 18:29:30

这里我们找到\l可以解决显示当前登陆终端号问题,\n解决主机名问题,\t解决时间显示问题。既然找到了,那我们尝试修改/etc/issue文件。
#vi /etc/issue
CentOS release 6.8 (Final)
Kernel \r on an \m
\l         
\n
time is \t

wq保存退出。
logout

结果如下:

image.png

原创文章,作者:21期王逸凡,如若转载,请注明出处:http://www.178linux.com/52276

(1)
21期王逸凡21期王逸凡
上一篇 2016-10-19 14:19
下一篇 2016-10-19 14:19

相关推荐

  • N26 – 第一周作业

    一、计算机组成及其功能     如图,计算机由硬件和软件组成。其中硬件可划分为控制器、运算器、存储器,以及输入和输出设备;软件则分为直接与硬件通信的系统软件,以及运行在其上的各类应用软件。      二、Linux发行版的不同系列     …

    Linux干货 2016-12-28
  • 马哥教育网络班21期-第八周课程练习

    第八周作业 1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 集线器:集线器工作在OSI七层模型的物理层;功能是将传输信号再生或放大,收到数据后将数据转发至除接收接口外的所有接口(广播)),但是由于集线器所有端口属于共享带宽,属于同一个冲突域和属于同一个广播域,容易产生信号冲突导致帧碎片,现今大部分集线器已经被交换机所替代; 网…

    Linux干货 2016-09-01
  • Linux的主要发行版及区别

    Linux的主要发行版介绍 主流的发行版 Linux至上世纪90年代基于Unix而诞生,至今其发行版有几百种之多,但其主流的发行版有三个系列。 Debian系 Ubuntu属于Debinan系。 Redhat系CentOS属于Redhat系。Slackware系SUSE Linux即属于Slackware系。 主要区别 软件包管…

    Linux干货 2016-10-29
  • bash变量类型及区别之浅谈

    变量类型,区别 位置变量$0 $1,$2,$# $@ $* 变量的类型:本地变量、环境变量、位置变量 本地变量:生效范围为当前shell进程,对当前shell之外的其他shell进程包括当前shell的子进程均无效 环境变量:生效范围为当前shell进程及子进程 位置变量:$1,…..$n,${10}来表示,用于放脚本在脚本代码中调用通过命令行传…

    Linux干货 2016-08-12
  • Linux bash中命令执行状态返回值

    Linux bash中命令执行状态返回值 在操作系统中,命令的执行后输出的内容为命令执行结果输出,而这个命令本身是否执行成功,它是通过命令执行状态返回值来标识的。 常用的值: 0 表示命令执行成功非0 表示命令执行失败 bash中获取命令执行状态返回值的方法 在刚执行完一条指令后,使用echo $?取得上一条指令的命令执行状态返回值,示例如下:  …

    Linux干货 2016-11-06
  • Linux基础与命令解释

    Linux基础与命令 Linux起源      1984 年:Richard Stallman 发起GNU 项目和自由软件基金会 创建开源的UNIX 实用工具版本 创建通用公共许可证(GPL) ) 开源软件许可实施原则  1991 年:Linus Torvalds 发布Linux 创建开放源码,类Unix 的内核,在GPL 下发布 下…

    Linux干货 2017-03-17