1、工作场景tLinux的操作习惯同Windows的有很大的区别,它是基于shell命令的。shell命令多达2700多个,但常用的命令不过几十个。只要掌握了这些基本命令,就可以对系统进行基本操作。在日常工作中使用这些基本命令并借助帮助文档就可以管理Linux服务器。2022年6月7日第1页2022年6月7日第2页学习目标了解shell,掌握Linux下常用的命令。 2022年6月7日第3页学习重点t掌握文件目录操作命令t掌握信息显示命令2022年6月7日星期二Red Hat Enterprise Linux 5基础教程第6章 Shell的基本使用t6.1Shell简介 t6.2Shell使用基础
2、 t6.3Vi编辑器的使用2022年6月7日星期二Red Hat Enterprise Linux 5基础教程6.1 Shell简介t1Shell的特点t2Shell的主要版本6.1.1 shell的基本概念shell是用户和Linux内核之间的接口程序。shell是一个命令语言解释器,它拥有自己内建的shell命令集,shell也能被系统中其他应用程序所调用。 shell是一个解释型的程序设计语言,shell程序设计语言支持绝大多数在高级语言中能见到的程序元素,如函数、变量、数组和程序控制结构。 6.1.2 shell的种类UNIX/Linux中的shell有多种类型,其中最常用的几种是Bo
3、urne shell(sh或bsh)、Bourne again shell(bash),C shell(csh)、tc shell(tcsh)、Korn shell(ksh)和Z shell(zsh)等。可查看文件/etc/shells显示系统中的shell类型。 通过echo $SHELL显示当前运行的shell。2022年6月7日星期二Red Hat Enterprise Linux 5基础教程6.2 Shell使用基础t6.2.1 进入Shell的方法t6.2.2 退出Shell的方法 t6.2.3 Shell的提示符 t6.2.4 Shell命令基本规则 t6.2.5 命令自动补全 t
4、6.2.6 历史命令 t6.2.7 通配符 t6.2.8 输入/输出重定向 t6.2.9 管道 t6.2.10 运行Shell脚本 t6.2.11 获得帮助信息 2022年6月7日星期二Red Hat Enterprise Linux 5基础教程6.2.1 进入Shell的方法 t在进入Linux桌面环境后,我们可以通过选择“K菜单”“系统” “终端”,或者在桌面点击鼠标右键,在弹出的菜单中选择“Konsole”来启动Shell。 2022年6月7日星期二Red Hat Enterprise Linux 5基础教程6.2.2 退出Shell的方法 t当用户在Shell中完成所有工作后,可以执行
5、exit命令退出Shell。 2022年6月7日星期二Red Hat Enterprise Linux 5基础教程6.2.3 Shell的提示符 tShell的提示符可以帮助用户了解当前的状态,如提示符“JohnRHEL5 Tool$”表示的含义如下:l“John”表示当前登录的账户名;l“RHEL5”表示当前Linux的主机名;l“Tool”表示当前目录(如果是波浪线“”则表示当前位于用户的主目录);l“$”表明当前登录的是普通用户,如果是管理员root用户则用“#”表示。2022年6月7日星期二Red Hat Enterprise Linux 5基础教程6.2.4 Shell命令基本规则
6、t一般的命令格式如下:命令名 选项 参数l(1)Linux系统的命令以及选项、参数是区分大小写。命令名由小写的英文字母构成,往往是表示相应功能的英文单词或单词的缩写。例如,date表示日期;cp是copy的缩写,表示拷贝文件等。l(2)其中方括号括起来的部分表明该项是可省略的,如直接在提示符后面输入命令date,显示当前的日期和时间。l(3)选项是对命令的特别定义,以“-”开始,多个选项可用一个“-”连起来,如ls -l-a、ls -la。注意“-”一般不能省略,个别命令的选项中的减号可以省略,如tar命令。l(4)参数提供命令运行的信息或者是命令执行过程中所使用的文件名。2022年6月7日星
7、期二Red Hat Enterprise Linux 5基础教程6.2.5 命令自动补全 tShell具有命令自动补全功能,对使用某些记不清楚的命令或输入命令名过长的情况非常有用。对于能惟一确定的命令名,输入该命令名的前几个字母,然后按下键盘的Tab键,就可以自动补齐该命令名的剩余部分。 2022年6月7日星期二Red Hat Enterprise Linux 5基础教程6.2.6 历史命令 tShell将用户每次输入的命令都记录在命令历史缓冲区中,以便用户可能用到过去用过的命令。要调出命令历史缓冲区中保存的命令,可使用这样的方法:按向上箭头键可返回到上一条命令,按向下箭头键可返回到下一条命令
8、。t我们还可以使用history命令来显示用户执行过的全部命令。2022年6月7日星期二Red Hat Enterprise Linux 5基础教程6.2.7 通配符 t通配符提供了替代字符串中的一个或多个字符的方法。t通配符通常用于模式匹配,如文件名匹配、路径名搜索、字符串查找等,最常用的通配符是星号(*)和问号(?)。星号通配符可以替代任意字符,问号通配符代替任意单个字符。 通配符举例模式串意义*当前目录下所有文件名,但不包括.开头的文件。例如abc但不是.abc(.与/必须显示匹配)*Text*当前目录下所有文件名中包含有Text的文件名,但不包括.开头的文件ab-dm*当前目录下所有以
9、a、b、c、d、m开头的文件名ab-dm?当前目录下所有以a、b、c、d、m开头且后面只跟有一个字符的文件名!ab-dm?或ab-dm?当前目录下所有不以a、b、c、d、m开头且后面只跟有一个字符的文件名/dev/hd?目录/dev下所有以hd开头且只有三个字符的文件名(3) 转义字符转义字符所代表的意义转义字符所代表的意义a响铃符tTab键b退格键v垂直制表符f换页n换行0?8进制表示x?16进制表示”(4) Linux系统的特殊键 特殊键意义Ctrl+D结束当前程序输入或终止当前程序或从系统中注销Ctrl+C终止当前程序的执行Ctrl+终止当前程序的执行(系统内部处理时不同于Ctrl+C)
10、Ctrl+Z挂起当前程序执行,将推到后台Ctrl+S/Ctrl+Q暂停/继续屏幕的输出,必须配合使用ScrollLock暂停/继续屏幕的输出,开关键Ctrl+Alt+Del默认动作为重启系统Alt+F#字符终端切换。比如Alt+F2将终端切换至F2Ctrl+Alt+F#从图形介面切换终端到字符终端。比如Ctrl+Alt+F1从图形界面切换至F12022年6月7日星期二Red Hat Enterprise Linux 5基础教程6.2.8 输入/输出重定向 t在Linux系统中,执行一个Shell命令时通常会自动打开三个标准文件,即标准输入文件,标准输出文件和标准出错输出文件。这三个文件都可以通
11、过重定向符进行重新定向。 2022年6月7日星期二Red Hat Enterprise Linux 5基础教程6.2.8 输入/输出重定向t1输入重定向符l输入重定向符“”的作用是把命令(或可执行程序)的标准输入重新定向到指定文件。输入重定向的功能可以让命令从键盘以外的文件得到输入,这样我们可以将输给命令的信息保存到一个文件中,然后将文件作为命令的输入。l输入重定向的一般形式:命令 ”的作用是把命令(或可执行程序)的标准输出重新定向到指定文件。这样,该命令的输出就不在屏幕上显示,而是写入指定文件中。如果指定文件已存在,系统会覆盖该文件的内容,否则系统将自动建立该文件。l输出重定向的一般形式:命
12、令 文件名 2022年6月7日星期二Red Hat Enterprise Linux 5基础教程6.2.8 输入/输出重定向t3输出附加重定向符l输出附加重定向符“”的作用是把命令(或可执行程序)的输出附加到指定文件的后面,而该文件原有内容不被破坏。l输出附加重定向的一般形式是:t命令文件名 2022年6月7日星期二Red Hat Enterprise Linux 5基础教程6.2.8 输入/输出重定向t4标准错误输出重定向l标准错误输出重定向的作用是把命令(或可执行程序)显示的错误信息重新定向到指定文件。l标准错误输出重定向的一般形式是:t命令 2 文件名 2022年6月7日星期二Red H
13、at Enterprise Linux 5基础教程6.2.9 管道 t在Linux系统中,管道是由符号“|”隔开的若干个命令组成的序列。在管道中,每个命令执行时都有一个独立的进程,前一个命令的输出正是下一命令的输入。显示在屏幕上的是管道行中最后一个命令的输出。2022年6月7日星期二Red Hat Enterprise Linux 5基础教程6.2.10 运行Shell脚本 tShell脚本(Shell script)是指使用用户环境Shell提供的语句所编写的命令文件。Shell脚本可以包含任意从键盘输入的Linux命令。 tShell脚本经常用于完成备份与恢复文件、控制网络连接、清除系统无
14、用文件等系统维护管理工作。 2022年6月7日星期二Red Hat Enterprise Linux 5基础教程6.2.10 运行Shell脚本t执行Shell脚本的方式基本上有下述三种: l(1)输入定向到Shell脚本。t其一般形式是:$bash脚本名 l(2)以脚本名作为参数。t其一般形式为:$bash 脚本名 参数l(3)将Shell脚本的权限设置为可执行,然后在提示符下直接执行它。 2022年6月7日星期二Red Hat Enterprise Linux 5基础教程6.2.11 获得帮助信息 t如果碰到不会用的命令,可以使用以下两种方法获得相关的帮助信息。l1使用-help选项t大部
15、分命令都可以使用-help选项来获得命令的使用帮助信息。 l2使用man命令t每个Linux命令都有一份称为man的联机帮助信息 2022年6月7日星期二Red Hat Enterprise Linux 5基础教程6.3 Vi编辑器的使用t6.3.1 Vi编辑器简介 t6.3.2 Vi的工作模式 t6.3.3 使用Vi的步骤 t6.3.4 移动光标 t6.3.5 删除操作 t6.3.6 查找和替换 t6.3.7 复制和粘贴 t6.3.8 撤销和重复 2022年6月7日星期二Red Hat Enterprise Linux 5基础教程6.3.1 Vi编辑器简介 tVi是“Visual inter
16、face”的简称,它在Linux上的地位就仿佛Edit程序在DOS上的地位一样。它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,这是其他编辑程序所没有的。但是Vi不是一个排版软件,它不像Word或WPS那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序。 2022年6月7日星期二Red Hat Enterprise Linux 5基础教程6.3.2 Vi的工作模式 tVi有三种基本工作模式:命令行模式、文本输入模式和末行模式。在实际应用中需要切换这三种模式来完成编辑工作。l1命令行模式t任何时候,不管用户处于何种模式,只要按一下
17、键,即可使Vi进入命令行模式;用户在Shell环境下输入启动Vi命令,进入编辑器时,也是处于该模式下。 2022年6月7日星期二Red Hat Enterprise Linux 5基础教程6.3.2 Vi的工作模式 t2文本输入模式l在命令模式下输入插入命令i、附加命令a、打开命令o、修改命令c、取代命令r或替换命令s都可以进入文本输入模式。在该模式下,用户输入的任何字符都被Vi当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按Esc键即可。 2022年6月7日星期二Red Hat Enterprise Linux 5基础教程6.3.2 Vi的工作模式 t3末行
18、模式l用于查找、替换、退出、定位光标和保存文件等。在命令模式下,用户按“:”键即可进入末行模式下,此时Vi会在显示窗口的最后一行显示一个“:”作为末行模式的提示符,等待用户输入命令,命令输入后还要按回车键结束。末行命令执行完后,Vi自动回到命令模式。若在末行模式下输入命令过程中改变了注意,可按退格键将输入的命令全部删除之后,再按一下退格键,即可使Vi回到命令模式下。 2022年6月7日星期二Red Hat Enterprise Linux 5基础教程6.3.2 Vi的工作模式 tVi编辑器的三种工作模式之间的转化关系如下:l如果要从命令行模式转换到编辑模式,可以键入命令a或i。l如果需要从文本
19、模式返回,则按Esc键即可。l在命令模式下输入“:”即可切换到末行模式,然后输入命令。 2022年6月7日星期二Red Hat Enterprise Linux 5基础教程6.3.3 使用Vi的步骤 t1启动Vi编辑器l要进入Vi可以直接在Shell提示符下输入:tvi 文件名 l如果输入的文件名已经存在,Vi自动打开此文件编辑,否则将建立一个新文件,然后进入Vi的主界面。 2022年6月7日星期二Red Hat Enterprise Linux 5基础教程6.3.3 使用Vi的步骤 t2进入文本输入模式l要输入数据,用户可以在命令模式下使用以下3种方法进入输入模式:t添加(append) t
20、插入(insert) t打开(open)2022年6月7日星期二Red Hat Enterprise Linux 5基础教程6.3.3 使用Vi的步骤 t3保存文件并退出Vil当编辑完文件,准备退出Vi返回到Shell时,可以使用以下几种方法:t在末行模式下,输入命令“:w”。Vi保存当前编辑文件,但并不退出,而是继续等待用户输入命令。 t在末行模式下,输入命令“:q”,系统退出Vi返回到Shell。 t在末行模式下,输入命令“:wq”。Vi将先保存文件,然后退出Vi返回到Shell。2022年6月7日星期二Red Hat Enterprise Linux 5基础教程6.3.4 移动光标 t要
21、对正文内容进行修改,首先必须把光标移动到指定位置。tVi中的光标移动既可以在命令模式下,也可以在文本输入模式下,但操作的方法不尽相同。t在文本输入模式下,可直接使用键盘上的四个方向键移动光标。用户还可以在命令模式下使用命令在正文中移动光标,迅速到达指定的行或列,实现定位。表6-1列出了命令模式下移动光标的命令。 2022年6月7日星期二Red Hat Enterprise Linux 5基础教程6.3.5 删除操作 t在编辑文本时,经常要删除一些不需要的文本,在输入模式下,用户可以用Backspace(退格键)来删除前面的字符,还可以用Delete(删除键)来删除当前的字符。t用户还可以在命令
22、模式下,将光标定位于文件内指定位置后,可从当前光标位置删除一个或多个字符。表6-2列出了命令模式下的删除命令。 2022年6月7日星期二Red Hat Enterprise Linux 5基础教程6.3.6 查找和替换 tVi提供了强大的字符串查找和替换功能。表6-3列出了命令模式下的查找命令。 l无论查找方向如何,当达到文件末尾或开头时,查找工作会循环到文件的另一端并继续执行。t查找到字符串后,可用如下方法来进行替换:l:start,ends/oldstring/newstring/选项 l关闭区分大小写功能 2022年6月7日星期二Red Hat Enterprise Linux 5基础教
23、程6.3.7 复制和粘贴 t1复制l在Vi编辑器中复制的方法有两种,分别是鼠标方式和命令方式。 t2粘贴 l对于不同的复制方法有不同的粘贴方法。 Vi提供粘贴命令将复制的内容粘贴到正文中的指定位置。 t3剪切l在Vi中所有的删除操作都是剪切,因为删除的内容都被送到了剪贴板。所以要实现剪切操作,只要在选取文本后,使用d命令删除文本,然后就可以使用p或P命令进行粘贴了。 2022年6月7日星期二Red Hat Enterprise Linux 5基础教程6.3.8 撤销和重复 t在编辑文件的过程中,为消除某个错误操作,可以用撤销命令。另外,如果用户希望在新的光标位置重复前面执行过的编辑命令,可以用重复命令。表6-6列出了命令模式下的撤销和重复命令。