网站大量收购闲置独家精品文档,联系QQ:2885784924

7.4项目7 熟练使用vim程序编辑器与shell.pptxVIP

7.4项目7 熟练使用vim程序编辑器与shell.pptx

  1. 1、本文档共52页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

项目导入

;项目七熟练使用vim程序编辑器与shell;7.1任务1熟练使用vim编辑器;如果只输入vim,而不带文件名,也可以进入vim,如图7-1所示。;7.1.2子任务2熟练掌握vim的工作模式;3.命令模式

在编辑模式下,用户按“:”键即可进入命令模式。此时vim会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个“:”作为命令模式的提示符,等待用户输入命令。多数文件管理命令都是在此模式下执行的。末行命令执行完后,vim自动回到编辑模式。

若在命令模式下输入命令的过程中改变了主意,可在用退格键将输入的命令全部删除之后,再按一下退格键,即可使vim回到编辑模式。;7.1.3子任务3使用vim命令;移动光标的方法;查找与替换;删除、复制与粘贴;2.进入插入模式的命令说明

编辑模式切换到插入模式的可用的按键的相关说明如表7-4所示。;3.命令模式的按键说明

如果是插入模式,先按“Esc”键进入编辑模式。在编辑模式下按“:”进入命令模式。

保存文件、退出编辑等的命令按键如表7-5所示。;7.1.4子任务4完成案例练习;2.参考步骤

(1)输入mkdir/tmp/mytest;cd/tmp/mytest。

(2)输入cp/etc/man_db.conf.;vimman_db.conf。;7.2任务2熟练掌握shell环境变量;在定义变量时,若string中包含空格、制表符和换行符,则string必须用?string?或者?string的形式,即用单(双)引号将其括起来。双引号内允许变量替换,而单引号内则不可以。;;3.环境变量

环境变量是指由shell定义和赋初值的shell变量。shell用环境变量来确定查找路径、注册目录、终端类型、终端名称、用户名等。所有环境变量都是全局变量,并可以由用户重新设置。表7-6列出了一些系统中常用的环境变量。

不同类型的shell的环境变量有不同的设置方法。在bash中,设置环境变量用set命令,命令的格式是:;不加任何参数地直接使用set命令可以显示出用户当前所有环境变量的设置,如下所示:;在环境变量前面加上?$?符号,表示引用环境变量的值,例如:;4.命令运行的判断依据:;、、||

若想使多条命令一次输入而顺序执行,一个是通过项目9要介绍的shellscript撰写脚本去执行,一个则是通过??面的介绍来一次输入多重命令。

(1)cmd;cmd(不考虑命令相关性的连续命令执行)。

一次运行多个命令,例如在关机的时候希望可以先运行两次sync同步化写入磁盘后才关机。;上述的cmd1及cmd2都是命令。现在回到我们刚刚假想的如下情况。

先判断一个目录是否存在。

若存在,则在该目录下面创建一个文件。

由于我们尚未介绍“条件判断式(test)”的使用,在这里我们使用ls以及回传值来判断目录是否存在。让我们进行下面的练习。

【例7-1】使用ls查阅目录/tmp/abc是否存在,若存在,则用touch创建/tmp/abc/hehe。;如果/tmp/abc不存在时,touch就不会被运行;若/tmp/abc存在,那么touch就会开始运行。在上面的例子中,我们还必须手动自行创建目录,很麻烦。能不能自动判断:如果没有该目录就创建呢?看下面的例子。

【例7-2】测试/tmp/abc是否存在,若不存在,则予以创建;若存在,就不做任何事情。;上面的例7-3总是会创建/tmp/abc/hehe,不论/tmp/abc是否存在。那么例7-3应该如何解释呢?由于Linux下面的命令都是由左往右执行的,所以例7-3有下面两种结果。

若/tmp/abc不存在。回传$?≠0;因为||遇到非为0的$?,故开始执行mkdir/tmp/abc,由于mkdir/tmp/abc会成功执行,所以回传?$?=0;因为遇到?$?=0,故会执行touch/tmp/abc/hehe,最终hehe就被创建了。

若/tmp/abc存在。回传?$?=0;因为||遇到?$?=0不会执行,此时?$?=0继续向后传;因为遇到?$?=0就开始创建/tmp/abc/hehe,所以最终/tmp/abc/hehe被创建。

整个流程如图7-2所示。;上面这张图显示的两股数据中,上方的线段为不存在/tmp/abc时所进行的命令行为,下方的线段则是存在/tmp/abc时所进行的命令行为。如上所述,下方线段由于存在/tmp/abc所以导致?$?=0,中间的mkdir就不运行了,并将?$?=0继续往后传给后续的touch去利用。

我们再来看看下面这个例题。;这其实是有问题的,为什么呢?由图7-2的流程介绍,我们知道命令是一个一个往后执行,

文档评论(0)

释然 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档