2009年 7月 28日星期二Red Hat Enterprise Linux 5基础教程第 6章 Shell的基本使用
6.1 Shell简介
6.2 Shell使用基础
6.3 Vi编辑器的使用
2009年 7月 28日星期二Red Hat Enterprise Linux 5基础教程
6.1 Shell简介
1,Shell的特点
2,Shell的主要版本
2009年 7月 28日星期二Red Hat Enterprise Linux 5基础教程
6.2 Shell使用基础
6.2.1 进入 Shell的方法
6.2.2 退出 Shell的方法
6.2.3 Shell的提示符
6.2.4 Shell命令基本规则
6.2.5 命令自动补全
6.2.6 历史命令
6.2.7 通配符
6.2.8 输入 /输出重定向
6.2.9 管道
6.2.10 运行 Shell脚本
6.2.11 获得帮助信息
2009年 7月 28日星期二Red Hat Enterprise Linux 5基础教程
6.2.1 进入 Shell的方法
在进入 Linux桌面环境后,我们可以通过选择,K菜单” →,系统” →,终端
”,或者在桌面点击鼠标右键,在弹出的菜单中选择,Konsole” 来启动 Shell

2009年 7月 28日星期二Red Hat Enterprise Linux 5基础教程
6.2.2 退出 Shell的方法
当用户在 Shell中完成所有工作后,可以执行 exit命令退出 Shell。
2009年 7月 28日星期二Red Hat Enterprise Linux 5基础教程
6.2.3 Shell的提示符
Shell的提示符可以帮助用户了解当前的状态,如提示符,[John@RHEL5
Tool]$” 表示的含义如下:
,John” 表示当前登录的账户名;
,RHEL5” 表示当前 Linux的主机名;
,Tool” 表示当前目录(如果是波浪线
,~” 则表示当前位于用户的主目录);
,$” 表明当前登录的是普通用户,如果是管理员 root用户则用,#” 表示。
2009年 7月 28日星期二Red Hat Enterprise Linux 5基础教程
6.2.4 Shell命令基本规则
一般的命令格式如下:
命令名 [选项 ] [参数 ]
( 1) Linux系统的命令以及选项、参数是区分大小写。命令名由小写的英文字母构成,往往是表示相应功能的英文单词或单词的缩写。例如,date表示日期; cp是 copy的缩写,表示拷贝文件等。
( 2)其中方括号括起来的部分表明该项是可省略的,如直接在提示符后面输入命令 date,显示当前的日期和时间。
( 3)选项是对命令的特别定义,以,-” 开始,多个选项可用一个,-” 连起来,如 ls -l-a,ls -la。注意,-” 一般不能省略,个别命令的选项中的减号可以省略,如 tar命令

( 4)参数提供命令运行的信息或者是命令执行过程中所使用的文件名。
2009年 7月 28日星期二Red Hat Enterprise Linux 5基础教程
6.2.5 命令自动补全
Shell具有命令自动补全功能,对使用某些记不清楚的命令或输入命令名过长的情况非常有用。对于能惟一确定的命令名,输入该命令名的前几个字母,然后按下键盘的 Tab键,就可以自动补齐该命令名的剩余部分。
2009年 7月 28日星期二Red Hat Enterprise Linux 5基础教程
6.2.6 历史命令
Shell将用户每次输入的命令都记录在命令历史缓冲区中,以便用户可能用到过去用过的命令。要调出命令历史缓冲区中保存的命令,可使用这样的方法:
按向上箭头键可返回到上一条命令,按向下箭头键可返回到下一条命令。
我们还可以使用 history命令来显示用户执行过的全部命令。
2009年 7月 28日星期二Red Hat Enterprise Linux 5基础教程
6.2.7 通配符
通配符提供了替代字符串中的一个或多个字符的方法。
通配符通常用于模式匹配,如文件名匹配、路径名搜索、字符串查找等,最常用的通配符是星号( *)和问号(?)。
星号通配符可以替代任意字符,问号通配符代替任意单个字符。
2009年 7月 28日星期二Red Hat Enterprise Linux 5基础教程
6.2.8 输入 /输出重定向
在 Linux系统中,执行一个 Shell命令时通常会自动打开三个标准文件,即标准输入文件,标准输出文件和标准出错输出文件。这三个文件都可以通过重定向符进行重新定向。
2009年 7月 28日星期二Red Hat Enterprise Linux 5基础教程
6.2.8 输入 /输出重定向
1.输入重定向符
输入重定向符,<” 的作用是把命令(或可执行程序)的标准输入重新定向到指定文件。输入重定向的功能可以让命令从键盘以外的文件得到输入,这样我们可以将输给命令的信息保存到一个文件中,然后将文件作为命令的输入。
输入重定向的一般形式:命令 < 文件名
2009年 7月 28日星期二Red Hat Enterprise Linux 5基础教程
6.2.8 输入 /输出重定向
2.输出重定向符
输出重定向符,>” 的作用是把命令(或可执行程序)的标准输出重新定向到指定文件。这样,该命令的输出就不在屏幕上显示,而是写入指定文件中。如果指定文件已存在,系统会覆盖该文件的内容,否则系统将自动建立该文件。
输出重定向的一般形式:命令 > 文件名
2009年 7月 28日星期二Red Hat Enterprise Linux 5基础教程
6.2.8 输入 /输出重定向
3.输出附加重定向符
输出附加重定向符,>>” 的作用是把命令
(或可执行程序)的输出附加到指定文件的后面,而该文件原有内容不被破坏。
输出附加重定向的一般形式是:
命令 >>文件名
2009年 7月 28日星期二Red Hat Enterprise Linux 5基础教程
6.2.8 输入 /输出重定向
4.标准错误输出重定向
标准错误输出重定向的作用是把命令(或可执行程序)显示的错误信息重新定向到指定文件。
标准错误输出重定向的一般形式是:
命令 2> 文件名
2009年 7月 28日星期二Red Hat Enterprise Linux 5基础教程
6.2.9 管道
在 Linux系统中,管道是由符号,|” 隔开的若干个命令组成的序列。在管道中
,每个命令执行时都有一个独立的进程
,前一个命令的输出正是下一命令的输入。显示在屏幕上的是管道行中最后一个命令的输出。
2009年 7月 28日星期二Red Hat Enterprise Linux 5基础教程
6.2.10 运行 Shell脚本
Shell脚本( Shell script)是指使用用户环境 Shell提供的语句所编写的命令文件。 Shell脚本可以包含任意从键盘输入的 Linux命令。
Shell脚本经常用于完成备份与恢复文件、控制网络连接、清除系统无用文件等系统维护管理工作。
2009年 7月 28日星期二Red Hat Enterprise Linux 5基础教程
6.2.10 运行 Shell脚本
执行 Shell脚本的方式基本上有下述三种:
( 1)输入定向到 Shell脚本。
其一般形式是,$bash<脚本名
( 2)以脚本名作为参数。
其一般形式为,$bash 脚本名 [参数 ]
( 3)将 Shell脚本的权限设置为可执行,
然后在提示符下直接执行它。
2009年 7月 28日星期二Red Hat Enterprise Linux 5基础教程
6.2.11 获得帮助信息
如果碰到不会用的命令,可以使用以下两种方法获得相关的帮助信息。
1.使用 --help选项
大部分命令都可以使用 --help选项来获得命令的使用帮助信息。
2.使用 man命令
每个 Linux命令都有一份称为 man的联机帮助信息
2009年 7月 28日星期二Red Hat Enterprise Linux 5基础教程
6.3 Vi编辑器的使用
6.3.1 Vi编辑器简介
6.3.2 Vi的工作模式
6.3.3 使用 Vi的步骤
6.3.4 移动光标
6.3.5 删除操作
6.3.6 查找和替换
6.3.7 复制和粘贴
6.3.8 撤销和重复
2009年 7月 28日星期二Red Hat Enterprise Linux 5基础教程
6.3.1 Vi编辑器简介
Vi是,Visual interface” 的简称,它在 Linux上的地位就仿佛 Edit程序在 DOS
上的地位一样。它可以执行输出、删除
、查找、替换、块操作等众多文本操作
,而且用户可以根据自己的需要对其进行定制,这是其他编辑程序所没有的。
但是 Vi不是一个排版软件,它不像 Word
或 WPS那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序。
2009年 7月 28日星期二Red Hat Enterprise Linux 5基础教程
6.3.2 Vi的工作模式
Vi有三种基本工作模式:命令行模式、
文本输入模式和末行模式。在实际应用中需要切换这三种模式来完成编辑工作

1.命令行模式
任何时候,不管用户处于何种模式,只要按一下键,即可使 Vi进入命令行模式;用户在
Shell环境下输入启动 Vi命令,进入编辑器时
,也是处于该模式下。
2009年 7月 28日星期二Red Hat Enterprise Linux 5基础教程
6.3.2 Vi的工作模式
2.文本输入模式
在命令模式下输入插入命令 i、附加命令 a
、打开命令 o、修改命令 c、取代命令 r或替换命令 s都可以进入文本输入模式。在该模式下,用户输入的任何字符都被 Vi当做文件内容保存起来,并将其显示在屏幕上。
在文本输入过程中,若想回到命令模式下
,按 Esc键即可。
2009年 7月 28日星期二Red Hat Enterprise Linux 5基础教程
6.3.2 Vi的工作模式
3.末行模式
用于查找、替换、退出、定位光标和保存文件等。在命令模式下,用户按,:” 键即可进入末行模式下,此时 Vi会在显示窗口的最后一行显示一个,:” 作为末行模式的提示符,等待用户输入命令,命令输入后还要按回车键结束。末行命令执行完后,
Vi自动回到命令模式。若在末行模式下输入命令过程中改变了注意,可按退格键将输入的命令全部删除之后,再按一下退格键,即可使 Vi回到命令模式下。
2009年 7月 28日星期二Red Hat Enterprise Linux 5基础教程
6.3.2 Vi的工作模式
Vi编辑器的三种工作模式之间的转化关系如下:
如果要从命令行模式转换到编辑模式,可以键入命令 a或 i。
如果需要从文本模式返回,则按 Esc键即可

在命令模式下输入,:” 即可切换到末行模式,然后输入命令。
2009年 7月 28日星期二Red Hat Enterprise Linux 5基础教程
6.3.3 使用 Vi的步骤
1.启动 Vi编辑器
要进入 Vi可以直接在 Shell提示符下输入:
vi 文件名
如果输入的文件名已经存在,Vi自动打开此文件编辑,否则将建立一个新文件,然后进入 Vi的主界面。
2009年 7月 28日星期二Red Hat Enterprise Linux 5基础教程
6.3.3 使用 Vi的步骤
2.进入文本输入模式
要输入数据,用户可以在命令模式下使用以下 3种方法进入输入模式:
添加( append)
插入( insert)
打开( open)
2009年 7月 28日星期二Red Hat Enterprise Linux 5基础教程
6.3.3 使用 Vi的步骤
3.保存文件并退出 Vi
当编辑完文件,准备退出 Vi返回到 Shell时
,可以使用以下几种方法:
在末行模式下,输入命令,:w” 。 Vi保存当前编辑文件,但并不退出,而是继续等待用户输入命令。
在末行模式下,输入命令,:q”,系统退出 Vi
返回到 Shell。
在末行模式下,输入命令,:wq” 。 Vi将先保存文件,然后退出 Vi返回到 Shell。
2009年 7月 28日星期二Red Hat Enterprise Linux 5基础教程
6.3.4 移动光标
要对正文内容进行修改,首先必须把光标移动到指定位置。
Vi中的光标移动既可以在命令模式下,也可以在文本输入模式下,但操作的方法不尽相同。
在文本输入模式下,可直接使用键盘上的四个方向键移动光标。用户还可以在命令模式下使用命令在正文中移动光标,迅速到达指定的行或列,实现定位。表 6-1列出了命令模式下移动光标的命令。
2009年 7月 28日星期二Red Hat Enterprise Linux 5基础教程
6.3.5 删除操作
在编辑文本时,经常要删除一些不需要的文本,在输入模式下,用户可以用
Backspace(退格键)来删除前面的字符,还可以用 Delete(删除键)来删除当前的字符。
用户还可以在命令模式下,将光标定位于文件内指定位置后,可从当前光标位置删除一个或多个字符。表 6-2列出了命令模式下的删除命令。
2009年 7月 28日星期二Red Hat Enterprise Linux 5基础教程
6.3.6 查找和替换
Vi提供了强大的字符串查找和替换功能
。表 6-3列出了命令模式下的查找命令

无论查找方向如何,当达到文件末尾或开头时,查找工作会循环到文件的另一端并继续执行。
查找到字符串后,可用如下方法来进行替换:
:start,ends/oldstring/newstring/选项
关闭区分大小写功能
2009年 7月 28日星期二Red Hat Enterprise Linux 5基础教程
6.3.7 复制和粘贴
1.复制
在 Vi编辑器中复制的方法有两种,分别是鼠标方式和命令方式。
2.粘贴
对于不同的复制方法有不同的粘贴方法。 Vi提供粘贴命令将复制的内容粘贴到正文中的指定位置

3.剪切
在 Vi中所有的删除操作都是剪切,因为删除的内容都被送到了剪贴板。所以要实现剪切操作,只要在选取文本后,使用 d命令删除文本,然后就可以使用 p或 P命令进行粘贴了。
2009年 7月 28日星期二Red Hat Enterprise Linux 5基础教程
6.3.8 撤销和重复
在编辑文件的过程中,为消除某个错误操作,可以用撤销命令。另外,如果用户希望在新的光标位置重复前面执行过的编辑命令,可以用重复命令。表 6-6
列出了命令模式下的撤销和重复命令。