Shell和Vi编辑器

上传人:san****glu 文档编号:49466842 上传时间:2018-07-28 格式:PPT 页数:44 大小:1.83MB
返回 下载 相关 举报
Shell和Vi编辑器_第1页
第1页 / 共44页
Shell和Vi编辑器_第2页
第2页 / 共44页
Shell和Vi编辑器_第3页
第3页 / 共44页
Shell和Vi编辑器_第4页
第4页 / 共44页
Shell和Vi编辑器_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《Shell和Vi编辑器》由会员分享,可在线阅读,更多相关《Shell和Vi编辑器(44页珍藏版)》请在金锄头文库上搜索。

1、第第4 4章章 ShellShell和和ViVi编辑器编辑器4.1 Shell4.2 Vi编辑器学习目标了解Shell的强大功能和Shell的命令解释过程学会使用重定向和管道掌握正则表达式的使用方法学会使用Vi编辑器本章难点正则表达式Vi编辑器的3种模式及各模式下面的常用命令4.1 Shell4.1.1 Shell的基本概念4.1.2 Shell环境变量4.1.3 正则表达式4.1.4 输入输出重定向与管道4.1.5 Shell脚本4.1.1 Shell的基本概念什么是Shell?Shell是linux的一个外 壳,它包在linux内核的外面 ,为用户和内核之间的交互 提供了一个接口。当用户下

2、 达指令给操作系统的时候, 实际上是把指令告诉shell, 经过shell解释,处理后让内 核作出相应的动作。而系统 的回应和输出的信息也由 shell处理,然后显示在用户 的屏幕上.命令解释Shell环境变量正则表达式输入输出重定向命令记忆命令和文件补全命令别名设置Shell的功能sh:sh就是Bourne Shell的缩写,是UNIX系统最早的 shell。bash:bash就是Bourne Again Shell的简称,是Bourne Shell的扩展,完全兼容Bourne Shell。csh:C Shell是一种比Bourne shell更适于编程的shell ,是美国加州大学Berk

3、eley分校开发出来的,具有核C语 言相似的语法,但和sh不兼容。tcsh:tcsh是Enhanced C Shell,是C Shell的一个增强 版。 ksh:ksh是Korn Shell的缩写,集合了C shell和Bourne shell的优点并且和Bourne shell完全兼容。 其它:ash,zsh Shell的版本1.内置命令:包含在shell自身当中的,在编写shell的时候就已经 包含在内了。比如cd。2.外部命令: 存放于文件系统某个目录下的具体的可执行程序,比 如cp就是在/bin目录下的一个可执行文件,外部命令也可 以是某些商业或自由软件,如netscape.查看命令类

4、型可以用“type”命令:type -tpa 命令名称Shell的两种命令4.1.2 Shell环境变量变量的定义和引用 变量定义的语法格式:name=string其中:name是变量名称,它的值是string,“=”是赋值 符号。变量名是以字母或者下画线开头的字母、数字和下 画线字符组合。通过变量名(name)前加$字符(如$name)引用变量的 值,引用的结果就是用字符串string代替$name,称为变 量替换。 若string中包含空格、Tab和换行符,则string必须 用string或者“string”的形式;双引号允许变量替 换,而单引号则不可以。4.1.2 Shell环境变量变

5、量的定义和引用实例4.1.2 Shell环境变量变量的定义和引用实例(续)4.1.2 Shell环境变量Shell变量的作用域环境变量是指有Shell定义和赋初值的Shell变量。Shell 用环境变量来确定查找路径、注册目录、终端类型、终端 名称、用户名等。所有的环境变量都是全局变量,并可以由用户重新设置。可以通过环境变量前加$符合来引用环境变量的值,如 $HOMEBash中,设置环境变量的方法是: set 环境变量=变量的值修改环境变量 PATH=/tmp:$PATH每种shell都有自己的配置文件,用户可以在配置文件里 设置各种环境变量。环境变量的配置文件有系统环境配置 文件和个人环境配

6、置文件两种。环境变量环境变量说明LOGNAME登陆名,也就是账户名PATH命令搜索路径PS1命令提示符PWD用户的当前目录SHELL用户的shell类型TERM终端类型HOME用户主目录的位置,通常是 /home/用户名常用Shell环境变量说明1.系统环境配置文件:/etc/profile和/etc/bashrc profile文件在每个用户登陆系统时都会被执行,把其中 的设置加入到用户的环境中.bashrc文件用于对subshell的环境进行设置。比如新启动 了一个shell,此时启动的shell就是subshell,新的 shell会从/etc/bashrc文件中读取环境配置.环境设置文

7、件2.个人环境配置文件: 系统环境配置文件对所有用户对会起作用,只有root 用户才有权对其进行修改。普通用户如果想定制自己的工 作环境。可以编辑自己的个人环境设置文件。个人环境设 置文件主要有二个: $HOME/.bash_profile $HOME/.bashrc环境设置文件4.1.3 正则表达式如何在文件中查找只含有字母的电子邮件? 如何在文件中查找只含有字母的行? grep $ /etc/profile 这条命令是什么意思? grep 0-930-9 /etc/profile 这条命令又是什么意思? . 4.1.3 正则表达式正则表达式字符可以包含某些特殊的模式匹配字符。 通常用来表示

8、特定要求的模式匹配。 例如:.:句点表示匹配任意一个字符;.*:点和星号组合匹配零个或者多个任意字符;4.1.3 正则表达式字符表达式: .:匹配单个任意字符; list:匹配字符串列表中的其中一个字符; range:匹配指定范围中的一个字符; :匹配指定字符串中或者指定范围中以外的一个字符;例如:.:匹配包含3个字母的行。 at:匹配包含a或者t的行 a-z:匹配含有一个小写字母的行 path:匹配不含有path的行;4.1.3 正则表达式量词: *:匹配前一个字符零次或多次; n:匹配前一个字符n次; n,: :匹配前一个字符至少n次; n,m: :匹配前一个字符n次至m次;例如: a-z

9、0-91a-z:匹配包含中间是数字、前后是字母 的3个字符串行; 0-91,:匹配包含数字的行; PATH1,2:匹配包含含有1个path或者2个path的行;4.1.3 正则表达式控制字符: :只在行头匹配正则表达式; $:只在行末匹配正则表达式; :转义字符,引用特殊字符; 例如: 0-9:匹配以数字开头字符的行 0-9a-z$:匹配以数字开头、以字母结尾字符的行; $:匹配倒数第二个字符是句点的行;4.1.4 输入输出重定向与管道重定向:不使用系统的标准输入、标准输出或标准错误端 口,而进行重新指定,通常是重定向到一个文件中。重定向包括:输入重定向、输出重定向和错误重定向重定向4.1.4

10、 输入输出重定向与管道重定向符重定向符说明或输出重定向。把一个命令的输出重 定向到一个文件中,而不是显示在 屏幕上。 2或2 错误输 出重定向。&同时实现输 出重定向和错误重定向4.1.4 输入输出重定向与管道重定向举例例1:rootlocalhost # ls al rootfile.txtrootlocalhost # ls al /home rootfile.txtrootlocalhost # ls l / rootfile.txt 例2:kevinlocalhost $ find / -name test list1.txt kevinlocalhost $ find / -name

11、 test 2 list2.txt kevinlocalhost $ find / -name test & list.txt kevinlocalhost $ find / -name test list3.txt 2list4.txt 例3:kevinlocalhost $ more /dev/null4.1.4 输入输出重定向与管道管道:Shell可以通过管道命令,使前一个命令的输出作 为下一个命令的输出。管道的格式为:命令1|命令2|。|命令n管道线中的每一条命令都作为一个单独的进程运行,其中 的命令总是从左到右顺序执行,因此管道线是单向的。注意:管道是直接将一个程序的标准输出与另一个

12、程序的 标准输入相连接,不需要经过任何中间文件。管道命令1命令1命令1输出输出输入输入4.1.4 输入输出重定向与管道管道应用举例例1kevinlocalhost $ ls al /etc | lesskevinlocalhost $ cat /etc/passwd | lesskevinlocalhost $ cat /etc/man.config | wc 例2:rootlocalhost # find / -name test | grep test rootlocalhost # cat /etc/passwd | grep john 例3:rootlocalhost # echo $

13、PATH rootlocalhost # echo $PATH | cut d : f 5 例4: rootlocalhost # tail -n 15 /etc/passwd | head -34.1.5 Shell脚本Shell脚本:利用Shell功能所编写的“程序”,这个程序 使用纯文本文件,将一些Shell的语法与命令写在里面,其 中可以包括正则表达式、管道和重定向。脚本中的主要组成部分由: 注释:用于对脚本进行解释和说明,在以“#”开始, Shell不会对注释行进行解释 命令:在Shell脚本中可以出现任何在交互方式下可以使 用的命令。 变量:Shell支持具有字符串的变量,如$na

14、me=kevin 流程控制:用于流程走向的控制命令。脚本内容4.1.5 Shell脚本建立Shell脚本:利用任何文本编辑器编辑Shell脚本文件 ,如Vi等。执行Shell脚本: 将文件名作为Shell命令的参数。 先将脚本文件的访问权限改为可执行,把文件当作可执行 文件来调用。 以./Shell文件的方式在当前Shell中执行。脚本的建立与执行4.2 Vi编辑器4.2.1 Vi的启动和退出4.2.2 Vi的工作模式4.2.3 Vi命令Vi是一种广泛存在于各种UNIX和Linux系统中的文本编辑 程序。Vi不是排版程序,只是一个纯粹的文本编辑程序。Vi是全屏幕文本编辑器,它没有菜单,只有命令

15、。Vi不是基于窗口的,所以,这个多用途编辑程序可以用于 在任何类型的终端上编辑各式各样的文件。Vi的功能十分强大,但是命令繁多,熟练掌握起来有一定 难度。Vi的发明者:bill joyVi简介$ Vi filename 或者$ Vi如果filename已经存在,Vi会打开现存文件如果是一个新文件,Vi会创建它 4.2.1 Vi的启动和退出Vi的启动Vi的退出 在命令行模式下输入:q,:q!,:wq或者:x,可以退出Vi:w 保存:w filename 另存为filename:wq! 保存并退出:wq! filename 以filename为文件名保存后退出:q! 不保存退出:x 保存并退出,功能和:wq!相同4.2.2 Vi的工作模式Vi有三种工作模式,分别为:命令模式、插入模式( 编辑模式)和末行模式,三种模式分别进行不同的操作, 它们之间可以进行切换。4.2.2 Vi的工

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 经济/贸易/财会 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号