红联Linux门户
Linux帮助

rhce033--lecture3

发布时间:2011-03-23 19:16:57来源:红联作者:sleeyoyo
学完这个单元,你应该掌握下面:
1.在命令提示符下执行命令
2.解释一些简单命令的目的和用法
3.使用系统内的帮助资源

running commands

一、命令具有下面的语法:
1. command options arguments

二、每一个条目用空格分开

三、选项是用于改变一个命令的行为
1. 单字母选项通常加上前缀 -
可以这样写: -a -b -c 或者: -abc
2.完整单词的选项通常加上前缀 --
例如: --help

四、参数是命令需要的一些文件名或其它数据

五、多个命令可以用符号 ; 分隔开

Interrupting command execution

如果你输入一个命令并且没有返回到提示符,那么这条命令可能正忙于执行或等待输入。

要中断一个执行了太久的命令,可以使用组合键 Ctrl+c

偶尔你会执行一条命令却忘了输入想追加的参数,这时,你可以使用 Ctrl+c 中断命令的执行(在后面的课程中,我们将深入讨论进程管理)

Running multiple commands

你可以在同一行用分号分隔多条命令。当前一条命令执行完毕,下一条命令将开始执行。
[student@stationX ~ ]$ mkdir backups; cp *.txt backups/

some simple commands

一、date----显示日期和时间

二、cal----显示日历

date 命令可以将系统的日期和时间打印出来。输出的格式可以通过可选的格式化字符串进行配置(可以通过 date --help 查看此命令的选项)。下面的例子将演示这些特性。

[student@stationX ~]$ date
Wed Mar 23 13:51:33 CST 2011
[student@stationX ~]$ date +"Today is %A, %B %d, %Y.%nIt is %r, %Z."
Today is Wednesday, March 23, 2011.
It is 01:52:37 PM, CST.


cal 命令可以打印出当前月份的 ASCII calendar。 当仅仅给出一个数字作为参数时,cal 命令将输出这个数字所代表的年份的日历。记住,使用年份的时候要使用四位数字,如果你执行类似这样的命令: cal 06
那么将输出公元06年的日历,而不是2006年的日历。

给出月份和年份的参数,cal 命令将输出这个特定月份的日历。例如:

[student@stationX ~]$ cal 3 2011
March 2011
Su Mo Tu We Th Fr Sa
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

尝试下显示1752年9月份的日历,看看你会有什么新发现^_^

getting help

一、不要试图去记住任何东西。

二、有许多不同等级的帮助。
1. whatis
2. command --help
3. man 和 info
4. /usr/share/doc/
5. redhat 文档

除了所有的优点,命令行接口的一个缺点就是用户需要使用大量的命令和参数。刚接触命令行的新手常犯的一个错误就是想当然的认为这要求记住每一个琐碎的参数。

在linux的神秘领域,你的目的是成为一个高手而不需要变成一个仅仅记录的数据库(要达到这一目的是需要时间的积累的)。实际上,记住那些常用的命令和参数是很有帮助的,高效使用命令行操作系统的关键是具备这样一种能力:使用那些可用的资源迅速的找出你所需的参数(这些参数你并不记得)的技巧。下面的几个小节将讨论几种不同的帮助资源。

the whatis command

一、显示命令的简短描述

二、使用的是每天晚上更新的数据库

三、在新安装后通常不能立即可用

$ whatis cal
cal (1) - displays a calendar

在你钻研 RedHat Enterprise Linux system的过程序,你可能会不定期的遇到一些“难以理解的命令”; 这种情况就像你对某一个命令非常感兴趣但又不完全能确定他的用途。当然一种可以知道这条命令的作用的方法就是去直接运行它,但你必须注意,这意味着你承担着一定的风险。 whatis 命令提供了一种简单安全的方法来了解另一个命令的用途。

whatis 接受另一个命令名作为它唯一的参数。然后,它在数据库中搜寻这条命令的简短描述。如果找到了匹配项,则把描述信息打印到你的屏幕上。随描述信息一起,whatis 命令还会打印这条命令名和一个在圆括号内的数字。这个数字指出了这个命令的详细文档在 linux manual的哪一个 “chapter”中可以找到。随后的小节将更详细的解释linux manual 和相关的 man 命令。

whatis 命令使用的数据库是每晚自动产生的(或自动更新)。这意味着新安装的系统并不能立即使用 whatis 命令,因为数据库并不存在。 如果你没有耐心等待它自动产生(更新)数据库, 那么你可以要求管理员以root身份登入并运行 makewhatis 命令。

the --help option

一、显示用法概要和参数列表

二、可以被大多数命令使用,但不是所有命令都支持

$ date --help
Usage: date [OPTION]... [+FORMAT] or:
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
Display the current time in the given FORMAT,
or set the system date.
...参数列表省略...

仅仅知道某一个命令的用途往往是不够的。为了有效的使用命令,你需要它可以接受哪些选项和参数,并且这些参数应该遵循什么顺序(也就是这个命令的语法)。 大多数的命令都有一个 --help 选项。 这个选项可以输出此命令的用途,用法,语法和它可以接受的选项列表以及这些选项的作用。

初一看,用法语句可能看上去很复杂而且可读性差。然而,一旦你熟悉了一些基本的约定后就会很容易的理解它:

1. 任何在方括号 [] 内的都是可选项
2. 任何后面有省略号 ... 的都表示可以随意重复
3. 如果多个选项以管道符号 | 分隔,则表示你只能选择它们中的一个
4. 在尖括号 <> 内的文本代表的是变量。 因此 表示你可以在此处输入一个你要使用的文件名。有时,就像这个小节中的例子,这样的变量也会简单的全部用大写字母表示。

那么,来看看 date 命令用法的第一行

date [OPTION]...[+FORMAT]

我们可以看到,date 可以接受可选数量的选项列表([OPTION]...),后面跟随可选的格式化字符串,并且前面使用一个前缀 + , 这个字符串定义了你期望的 date 的输出格式 ([+FORMAT])。所有的这些都是可选的,即使你不给出任何选项和参数,date也可以正常执行(它将以默认格式输出当前的日期和时间)。

reading usage summaries

一、使用 --help , man 和其它方式输出

二、用于描述某一个命令的语法

1. 在 [] 内的参数是可选的
2. 大写 或在 <> 内的参数是变量
3. 后面有 ... 的表示可重复的列表
4. x|y|z 表示只能是 x 或 y 或 z
5. -abc 表示 可能是 -a, -b 或者 -c 的任意组合。

the man command

一、提供命令的说明文档

二、几乎所有的命令都有 man 文档

三、页面以 “chapters” 的方式组织在一起

四、作为linux 手册的集中参考

五、man []

redhat enterprise linux system中的几乎每一个命令(也包括绝大部分的配置文件和各种开发库),都有一个相关的 man page,提供了比 --help 选项更详尽的说明文档。man pages 通常包含下面讨论的命令用法的几个方面组成:
1. 命令名和命令用途的简短描述 NAME
2. 用法概要,包括可用的选项 SYNOPSIS
3. 命令功能的详细描述 DESCRIPTION
4. 命令选项的详细描述 OPTIONS
5. 与这个命令相关的任何文件 FILES
6. 这个命令已知的BUG信息 BUGS
7.使用这个命令的一些示例 EXAMPLES
8.进一步的参考文档 SEE ALSO

系统中集中的 man pages 被称作 Linux manual。 linux manual被分成不同的section,每一个section覆盖特定的主题,并且每一个man page 与这些section中一个准确的结合。这些section包括:

Manual sections

1.用户命令 2.系统调用 3.库调用 4.特殊文件 5.格式化文件 6.游戏 7.杂项 8.管理命令

通常,linux命令,调用,文件是通过 名称跟随一个写在圆括号中的manual section number 来引用的。例如:passwd(1),可以通过命令 man 1 passwd 来访问,代表passwd 这个用户命令, 然而像 passwd(5), 代表/etc/passwd这个格式化的文件。

man 这个命令也有它自己的 man page。 man manual的section 7 包含上面提到的七种manual sectins:
man 7 man

navigating man page

一、当查看man page时
1. 可以通过方向键、PgUp、PgDn操作
2./text 用来搜索 text
3. n/N 搜索下一个或上一个匹配项
4. quits 退出

二、搜寻manual
1. man -k keyword 列出所有匹配的page
2. 使用的是 whatis 数据库

知道如何高效的操作和搜寻man page 将会避免你走大量的弯路,并且使你成为更加高效的linux用户。在man page中搜寻文本,只需简单的输入一个正斜杠(/),后面紧随你要搜寻的条目然后回车即可。你将会看到所搜寻的文本被高亮显示,并且光标停留在第一个匹配项处。通过按 n和N 可以在下一个和前一个匹配项间移动。如果你使用完了man ,按下 q 键即可退出。后面的课程中你将会学习到一个叫作 less 的命令,它可以一次显示一页并可用于操作庞大的文本,你会发现它使用和此处介绍的同样的移动和搜索命令。 这并不是巧合,当你查看一个man page时,man 命令直接使用less命令显示page。

如果你不知道你要查看的命令的命令名怎么办呢?你可以使用搜索关键字,来列出简短描述中匹配指定关键字的所有命令,使用 man 命令的 -k 选项即可。注意,它使用的是 whatis 数据库,所以在新安装后并不能立即可用。

the info command

一、类似man ,但通常更深入

二、直接运行 info 命令不带任何参数将列出所有 page

三、info pages 类似网站的方式组织在一起
1.每一个页面被分配到一个"nodes"
2.可以链接的nodes前面有一个*号
3. info [command]

大多数的命令,尤其是GNU工具,都提供info page作为补充,而且有些取代了man page。然而man pages通常是作为一个快速参考,相对于通篇介绍命令,info page通常更冗长和详细(尽管有时仅仅是复制man page相同的内容)。

info page的结构类似于网站。当一个命令的info page被打开后,读者被置于这个info page的 top node。这个top node通常包括对此命令用途的概述和一个主目录。这个目录里的每一个条目可以链接到这个页面的另一个node。链接通过前面的星号(*)指示出来。

如果你不给出任何参数运行 info 命令,它将列出一个链接到所有可用info page的top node的列表。

navigating info pages

一、当查看一个info page时
1.可以通过方向键、PgUp、PgDn来操作
2.Tab键移动到下一个链接
3.回车进入一个选中的链接
4.n/p/u/l 进入 下一个/前一个/上一级/最近的一个 node
5.s text 搜寻text(默认:last search)
6. q 退出info

在info page中要进入一个链接,只需简单的将光标移到它上面然后回车即可。你可以使用方向键或Tab键在链接间移动。在屏幕的顶部,你可以看到一些文本,指出了你当前的node,下一个和上一个node以及它的直接上一级node。你可以通过 n,p或者u 键在它们之间切换。

在当前node中搜寻文本,先按 s 键,然后输入你要搜寻的文本,回车即可。下次你再按下s键时,你会发现你上次搜寻的条目默认被选择了,所以要继续搜寻的话只需简单的按回车。如果你更习惯使用man里面的操作按键,像 /, n和N,你可以使用vi-keys参数启动info。

extended documentation

一、/usr/share/doc目录
1.子目录是大多数已安装的包的
2.文档的位置不适合放在其它地方
配置文件模板
HTML/PDF/PS文档
许可证详细信息

应用程序通常包含一些文档,这些文档可能不适合man 或 info 所使用的长度和格式。这些文档通常就像软件许可证的复本,也包括配置文件的模板,向导甚至一整本书用于扩展应用程序文档。


red hat documentation

一、可以在 http://www.redhat.com/docs/上找到
1.安装指南
2.部署指南
3.虚拟化指南

二、知识库: http://kbase.redhat.com/
1.常见问题和解决方法

三、部署指南
1.System-->Documentation-->Deployment Guide
2.yelp ghelp:Deployment_Guide

redhat 提供了额外的文档,远超过单一应用程序提供的。这些文档以多种格式可以从http://www.redhat.com/docs/得到。

这些文档覆盖了从介绍到高级水平的一系列主题。不像Internet上常见的文档,这些是专门针对Red Hat Enterprise Linux而写的。

一些来自于redhat的文档也通过Deployment_Guide-*这个软件包提供。(这个软件包以不同的语言提供;例如,Deployment_Guide-en-US是US English的版本。)通过 System-->Documentation-->Deployment Guide 或者使用 yelp 命令可以查看这个 XML 格式的文档。

[student@stationX ~]$ yelp ghelp:Deployment_Guide
文章评论

共有 10 条评论

  1. is456 于 2013-11-03 14:34:18发表:

    此贴精华,不能沉底!大家顶啊~~

    顶一下,顶一下,不顶一下太对不起观众!

  2. bluerats329 于 2013-01-08 00:12:12发表:

    learning

  3. cqjack 于 2013-01-07 17:16:53发表:

    受教了

  4. xigua10120 于 2012-07-16 14:39:20发表:

    慢慢学习~~~谢谢啦

  5. dqwit 于 2011-05-29 21:39:23发表:

    好好好

  6. ftd505 于 2011-04-18 11:10:57发表:

    {:2_99:}

  7. hp_linux 于 2011-03-26 10:38:30发表:

    lecture:0w223dc

  8. Happygreener 于 2011-03-26 01:44:08发表:

    谢谢 对新手很有启发

  9. Growth兆 于 2011-03-24 09:43:14发表:

    感谢sleeyoyo的分享,本贴加入到顶置的Linux应用索引贴中

  10. Oiqetz 于 2011-03-23 21:03:58发表:

    不错不错