引言
在Linux中man的使用频率应该是很高的,灵活运用它可以让自己快速的掌握一个不熟悉命令的使用方法。下面来介绍下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中的哪个章节需要使用命令
1
|
whatis COMMAND
|
下面就命令echo为例来具体说明man的手册内容
1
2
3
4
|
#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中解释具体每项的意义
DESCRIPTION 命令功能的详尽说明,可能包括每一项的意义
Echo the STRING(s) to standard output.
-n do not output the trailing newline
--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
...
有的命令中还有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文件
1
2
3
|
# cat /etc/issue
CentOS release 6.8 (Final)
Kernel \r on an \m
|
之后我们
1
|
man
issue
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
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这三个文件。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
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里面也没有值得我们参考的信息,继续下一个
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
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的相关内容作为参考。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
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文件。
1
2
3
4
5
6
|
#vi /etc/issue
CentOS release 6.8 (Final)
Kernel \r on an \m
\l
\n
time
is \t
|
wq保存退出。
1
|
logout
|
man的使用需要大家在平时的使用中慢慢摸索这样才会越用越得心应手。希望大家看了又所帮助。