vi使用与Shell编程.ppt
《vi使用与Shell编程.ppt》由会员分享,可在线阅读,更多相关《vi使用与Shell编程.ppt(62页珍藏版)》请在三一办公上搜索。
1、第三章 vi使用与Shell编程,1,1.vi 使用,1.1 vi的启动,例:$vi abc.txt,最常用的格式,vi后跟欲编辑的文件名,vi有搜索命令,可以用来浏览文本文件,比more,less等更方便.,vi filenames,2,1.vi 使用,1.2 vi的工作方式vi的工作方式分命令模式和输入模式。vi启动后就进入命令模式;,i、a等命令,按esc键,3,1.vi 使用,1.2 vi的工作方式处于命令模式时,用户键入的内容被当作vi的命令来解释,一般处于命令模式下按键无回显(以冒号打头的命令和查找命令除外)。编辑命令i,a等,可以从命令模式转到输入模式;处于输入模式时,用户键入的
2、所有内容全部作为输入的正文内容,用户可以输入多行,每输入完一行后按回车键转入下一行,正文输入时有回显。输入完毕,按键盘左上角的esc键,返回到命令模式。,4,1.vi 使用,1.3 vi的编辑命令当vi处于命令模式时,用户的按键不回显,被解释成编辑命令,vi大约有100多个编辑命令。下面介绍的vi命令子集,足可以完成一般的编辑任务。,5,1.vi 使用,1.3 vi的编辑命令,命令i,在当前光标处插入(Insert)正文段,进入输入模式,直至按esc键返回命令模式;命令a,在当前光标后追加(Append)正文段,进入输入模式,直至按esc键返回命令模式;命令o,在当前行之下处插入(Open)新
3、行,进入输入模式,直至按esc键返回命令模式;命令O,在当前行之上处插入(Open)新行,进入输入模式,直至按esc键返回命令模式。,1.3.1 正文插入命令,6,1.vi 使用,1.3 vi的编辑命令,单字符移动h 光标左移一列j 光标下移一行k 光标上移一行l 光标右移一列,多字符移动3h 光标左移3列10j 光标下移10行13k 光标上移13行20l 光标右移20列,1.3.2 光标移动命令,7,1.vi 使用,1.3 vi的编辑命令,B 向后翻页(Backward)F 向前翻页(Forward)U 向上翻半页(Up)D 向下翻半页(Down),1.3.3 翻页命令,2B 向后翻2页(B
4、ackward)5F 向前翻5页(Forward),字母之前的“”表示Ctrl键,可以实现翻多页,在vi中,把向文件尾方向定义为“向前”,向文件头方向定义为“向后”,这与许多人的习惯不同。,8,1.vi 使用,1.3 vi的编辑命令,1.3.4 将光标移至当前行首,1.3.5 将光标移至当前行尾$,1.3.6 移到右一个单词 w W,1.3.7 移到左一个单词 b B,小写命令的w和b,以非字母、数字、下划线之外的所有字符作为“单词”分界符。,大写命令的W和B,以空白符作为“单词”分界符。,w、W、b、B也可以使用5w、10W、3b、13B形式的命令,9,1.vi 使用,1.3 vi的编辑命令
5、,:123 将光标定位到第123行:$将光标定位到文件末尾:$-10 将光标定位到文件倒数第10行:.10 将光标向下移10行,1.3.8 将光标移动到指定行,“$”代表文件末尾而“.”代表当前行;都可以使用“+”或“-”进行相对的位移光标(“+”可以省略)。,10,1.vi 使用,1.3 vi的编辑命令,先把光标移到一个大括号(或括号,或方括号)上,按%键,则光标自动定位到与它配对的那一个括号,对编写和检查C语言的源程序非常有用。,1.3.9 括号匹配命令%,11,1.vi 使用,1.3 vi的编辑命令,1.3.10 删除命令,x删除光标所在的字符5x删除光标所在开始的5个字符,dd删除当前
6、行4dd删除当前行开始的4行,d$从当前光标处删除到行尾d从当前光标处删除到行首dw删除一个单词,12,1.vi 使用,1.3 vi的编辑命令,1.3.11 字符替换命令,r替换光标处字符的命令,R替换多个字符的命令,例:rararbrc,表示什么意思?,例:Rabc然后按“esc”键,从当前光标开始的字符依次替换为abc,13,1.vi 使用,1.3 vi的编辑命令,1.3.12 取消和重复命令,u取消上次的命令(undo),.重复执行上次的命令,14,1.vi 使用,1.3 vi的编辑命令,1.3.13 段落的删除、复制、粘贴和移动命令,dd 行删除命令(delete),co 段落的复制命
7、令(copy),m 段落的移动命令(move),例::11,13dd,例::11,13co15,例::11,13m15,删除11至13行,复制11至13行到15行后,移动11至13行到15行后,15,1.vi 使用,1.3 vi的编辑命令,1.3.13 剪贴板功能,d 行删除命令(delete),y 抽取命令(yank),p 粘贴命令(paste),例::11,13d,例::11,13y,例:p,删除11至13行,复制11至13行用法同“d”命令,将“d”或“y”操作的行粘贴到当前光标处,16,1.vi 使用,1.3 vi的编辑命令,1.3.14 查找命令,/查找“/”后面跟的内容,例:/ab
8、c,在文章中查找“abc”,n向后查找,N向前查找,“n”和“N”命令必须在“/”命令之后执行,17,1.vi 使用,1.4 vi的文件命令,ZZ保存文件并退出vi编辑状态:wq保存文件并退出vi编辑状态,:w只保存文件而不退出vi编辑状态:q!不保存文件而强行退出vi编辑状态,:r filename读入filename文件内容到当前行,18,2.Shell 编程,2.1 什么是Shell,Shell是一个命令行解释器,为系统解释用户的操作命令;Shell是用户使用UNIX系统的桥梁;Shell既是一种命令语言,又是一种程序设计语言;,19,2.Shell 编程,2.2 什么是Shell编程,
9、Shell编程是利用判断、流程控制等方法把多个Shell命令有机的组织成Shell脚本;Shell脚本类似于Windows系统中的批处理程序,通过执行Shell脚本来完成一系列Shell命令;,例:#!/bin/sh#Name:echohello.sh#Usage:print Hello,World#Author:Gene#Date:2005-03-18#echo Hello,World!,20,2.Shell 编程,2.3 Shell脚本的执行,脚本文件本身是一个文本文件,不可能直接执行。当脚本文件具有可执行属性,用户将它执行的时候,系统会启动shell程序文件/bin/sh,运行/bin/
10、sh文件中的CPU指令来解释执行脚本文件中的命令。脚本文件的第一个命令需要指明Shell命令解释程序:#!/bin/sh,“#!”必须出现在本文的最开头。,21,2.Shell 编程,2.3 Shell脚本的执行,三种方法可以执行脚本文件,例:$sh echohello.sh$sh echohello.sh$./echohello.sh,需要为echohello.sh脚本文件赋予“可执行”属性,22,2.Shell 编程,2.3 Shell脚本的执行,用vi编辑了Shell脚本之后,由于Shell脚本没有“可执行”属性,所以还无法执行;,例:chmod a+x echohello.sh,运行c
11、hmod命令为“echohello.sh”Shell脚本赋予“可执行”属性,23,信息流,在UNIX系统中,对输入输出信息流作了如下定义,系统启动Shell程序时缺省给定了3个标准流,标准输入流(stdin),标准输出流stdout,标准错误流stderr。,shell输入输出重定向,默认状态下,shell将命令的输入流设定为键盘,输出流设定为显示器,错误流也定义为显示器。但是在有些情况下,我们可以改变这些流的设定。改变流的设定常用的符号有,三个符号。,例如:ls-l ls.txt,ls-l/home/user1 ls.txt,ls-l/home/user1 ls.txt,shell输入输出重
12、定向,重定向符表示将标准输入从键盘重新定义到另外的流。例如:prog infile,即prog命令将从文件infile中读取参数。执行一个shell程序也可以使用这种方式。例如 sh user1.sh 就表示要执行user1.sh这个shell程序。,重定向符,也能够混合使用,例如:prog outfile 表示prog命令从infile中获取命令参数,然后将执行结果输出到文件outfile中。,错误流重定向,在UNIX系统中,错误信息流是指在命令或程序执行中出现错误时系统给出的提示或警告信息,UNIX中将它们作为一个独立的标准输出流进行定义,错误信息流通常定义为显示器。当然,用户也可以根据需
13、要对它进行重定向。不同的shell在这方面有所不同。,Cshell中使用的错误流重定向符是:&,例如:cc abc.c&log.txt,即将编译过程中的输出流和错误流定向为log.txt文件。在Bshell中则不用,需要如下书写:cc abc.c 2&1 log.txt,管道线处理,管道线可以实现将一个程序或命令的输出作为另外一个程序或命令的输入,管道线作为两个命令之间的分隔符。管道线的符号是“|”。,例如有这样一组命令:$ls l tempfile$wc l tempfile$rm tempfile,管道线处理:$ls-l|wc-l,管道线处理,除此之外,还有“;”、“&”、“&”、“|”可
14、替代管道线“|”作为命令列表的分隔符.其中:“;”:表示多个命令顺序执行“&”:命令行尾输入,表示将命令的执行过程放到后台处理。“&”:代替原有的符号“|”,表示当左边的命令为“真”值时,执行右边的命令。“|”:代替原有的符号“|”,表示当左边的命令为“假”值时,执行右边的命令。,管道线处理,例如:(a)pwd;who;ls l(b)cc prgm.c&(c)write zhang letter|mail zhang letter(d)mail zhang letter&rm letter,2.Shell 编程,2.4 Shell的变量的定义、赋值与引用,变量的定义与赋值 变量名以字母开头,由
15、字母、数字及下划线组成;变量名可以包含数字,但不能以数字打头。shell的变量只有字符串型,在shell程序中出现的数值计算都是基于字符串类型来完成的。,例:ux=hello,变量的引用在变量名前加“$”,例:echo$ux,例:echo$uxworld 或 echo“$ux”world,31,在某些场合下,为了明确表示对shell变量的引用,可以用花括弧或者双引号将变量括起来,例如:$echo$UNIX$echo$UNIXAaaaaa$echo“$UNIX”is very good,SYSTEM V,SYSTEM VAaaaaa,SYSTEM V is very good,2.Shell 编
16、程,2.4 Shell的变量的定义、赋值与引用,清除变量unset,例:unset ux,转义字符“”,例:echo$ux,例:echo$ux,结果为:hello,结果为:$ux,33,2.Shell 编程,2.5 Shell的变量中三种引号的作用,例:echo$ux结果为:$ux echo“$ux is date”结果为:hello is wed Aug 16 16:20:12 echo$ux结果为:报错,找不到$ux这个命令 name=whoami 结果为:john echo$name,单引号():屏蔽任意字符的特殊含义;双引号(“”):屏蔽任意字符的特殊含义,除了$、;反引号():(一般
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vi 使用 Shell 编程
链接地址:https://www.31ppt.com/p-5044034.html