shell脚本教程详细讲解(很好)PPT课件

上传人:日度 文档编号:135065320 上传时间:2020-06-11 格式:PPT 页数:80 大小:984KB
返回 下载 相关 举报
shell脚本教程详细讲解(很好)PPT课件_第1页
第1页 / 共80页
shell脚本教程详细讲解(很好)PPT课件_第2页
第2页 / 共80页
shell脚本教程详细讲解(很好)PPT课件_第3页
第3页 / 共80页
shell脚本教程详细讲解(很好)PPT课件_第4页
第4页 / 共80页
shell脚本教程详细讲解(很好)PPT课件_第5页
第5页 / 共80页
点击查看更多>>
资源描述

《shell脚本教程详细讲解(很好)PPT课件》由会员分享,可在线阅读,更多相关《shell脚本教程详细讲解(很好)PPT课件(80页珍藏版)》请在金锄头文库上搜索。

1、 CollegeofInformationScienceandEngineering ShandongAgriculturalUniversity SHELL脚本编程 1 2 shell脚本能提高用户操作和管理员进行系统管理的效率 一般步骤编辑器编写脚本程序shell做解释程序 非交互地执行脚本 两种执行方式 用sh命令执行脚本文件给脚本文件添加执行权限 用 命令执行 3 HELLOWORLD vihello sh按i进入插入模式输入echo helloworld 输入wq保存退出shhello sh或者chmod755hello sh hello sh 4 一 VI编辑器 VI的三种工作模式

2、VI的启动VI的退出VI的文本编辑VI命令模式下的操作VI行命令模式下的操作 5 系统配置文件 shell脚本文件等都是文本文件 编辑它们都要使用文本编辑器 在Linux系统中有多种文本编辑器 其中既有字符界面如的VI EMACAS等 也有图形界面的如 附件 菜单下的 文本编辑器 gedit 等 用户可以根据自己的喜好选择使用 学习vi的方法 vi的命令太多且难以记忆 而实际上真正经常使用的命令并不是太多 只要掌握几个关键的并加以适当练习很快就上手使用vi 6 为什么选择VI 就使用的方便性而言 有比vi更好的编辑器 还要图形化的edit 为什么还要用vi 历史久远 功能强大 在有些情况下系统

3、中能够找到的编辑器只有vi 用户一旦熟悉后 使用非常方便 系统管理员使用正则表达式可以极大地提高工作效率 而学习vi也是掌握正则表达式的有效途径 由于vi的版本不同 其命令格式 功能和用法会有一些差别 Shell中执行vi命令 RedHat系统实际上是执行vim 它是传统vi的增强版本 7 1 VI的三种工作模式 命令模式启动VI默认进入命令模式 此时界面不能编辑 只能接受命令 键入的命令看不到 文件的保存 退出 文本的删除 复制 搜索等操作输入模式编辑模式命令模式下用i sert a ppend o s等均可进入该模式 按esc返回命令模式行编辑模式实际上也是命令模式的一种 在命令模式下输入

4、冒号进入一个命令行 可显示地输入命令 所以也有些书认为是两种工作模式 三种模式可自由切换 一般切换命令就是操作的英文单词的首字母 8 2 VI的启动 启动命令 vimy txt如果文件存在 则vi显示文件内容并等待用户的命令 如果指定的文件不存在 则vi将告知用户这是未命名的文件 并进入一个空白的界面 启动vi时都是默认处于命令模式 用户必须使用命令切换到文本输入模式才能进行输入编辑 或者可执行删除 复制等编辑命令 vi Rfile name 以只读方式打开文件 9 3 VI的退出 冒号进命令行模式下 q 不存档强制退出 w保存但不退出 w rite 后可加所要存档的文档名 wq存档后退出 命

5、令模式下按zz 功能与 wq相同 x与 wq相同命令模式 ZZ ZQ保存 不保存退出 10 4 怎么编辑 必须从命令模式转入插入模式才能进行输入编辑 可用命令有 新增 append a 从光标所在位置后面开始新增资料A 从光标所在行最后面的地方开始新增资料 插入 insert i 从光标所在位置前面开始插入资料I 从光标所在行的第一个非空白字元前面开始插入资料 开始 open o 在光标所在行下新增一列并进入输入模式 O 在光标所在行上方新增一列并进入输入模式 冒号进入行命令模式 输入setnu可设置vi显示行号 11 5 命令模式下的操作 删除与修改 x 删除光标所在字符dw删除一个单词dd

6、 删除光标所在的行s 删除光标所在字节 并进入输入模式 表示数字 x删除几个字符 如3x dw删除几个单词 如3dw表示删除三个单词 dd删除多个行 如3dd表示删除光标行及光标的下两行d 删除光标到行尾的内容 d光标键 左 删除光标前面的字符 右 删除光标所在的字符 上 将当前行与上一行删除 下 当前行与下一行删除 nd上下光标键 删除当前行之上 下的几行文本 包括当前行 u 恢复刚才被修改的文本U 恢复光标所在行的所有修改 重复上一次命令的操作 12 命令模式下的操作 文本复制 粘贴 复制命令 yyy 复制整行yw 复制光标所在的单词nyw 复制包括光标所在的n个单词nyy 复制包括当前行

7、在内的n行粘贴命令P光标移动h j k lnG 移动到底n行行首 13 6 行命令模式下的操作 字符串的查找 替换 string搜索指定的字符串 按键n 继续进行搜索如果写的是斜杠 按n会从当前位置向后查找 如果写的是问号 按n键则从当前位置向前查找查找且替换 s SEARCH REPLACE把文档中所有SEARCH替换成REPLACE s SEARCH REPLACE g 号表示数字 表示从多少行到多少行 把SEARCH替换成REPLACE s SEARCH REPLACE g把当前光标所在行中的SEARCH单词 替换成REPLACE 并把所有SEARCH高亮显示 14 7 设置vi 全局的

8、配置文件位于 etc vim vimrc 或者 etc vimrc 也可以拥有自己独立的配置文件 配置文件位 vimrc 如果没有该文件 也可以直接用如下命令创建并编辑比如 setnu 显示行号setruler 显示光标位置setundolevel 显示光标位置setsmartindent 智能缩进syntaxon 或synon 语法高亮 15 三种模式间的转换关系 16 案例练习 1 请在 tmp这个目录下建立一个名为vitest的目录 2 进入vitest这个目录当中 3 将 etc man config拷贝到本目录底下4 使用vi开启本目录下的man config这个档案 5 在vi中设

9、定一下行号 6 移动到第58行 向右移动40个字符 请问您看到的双引号内是什么目录 7 移动到第一行 并且向下搜寻一下 bzip2 这个字符串 请问他在第几行 8 接着下来 我要将50到100行之间的man改为MAN 并且一个一个挑选是否需要修改 如何下达指令 9 修改完之后 突然反悔了 要全部复原 有哪些方法 10 我要复制51到60行这十行的内容 并且贴到最后一行之后 11 删除11到30行之间的20行 12 将这个文件另存成一个man test config的文件 13 到第29行 并且删除15个字符 14 储存后离开 17 1 mkdir tmp vitest2 cd tmp vite

10、st3 cp etc man config 4 viman config5 setnu6 先按下58G再按下40 会看到 dir bin foo这个字样在双引号内 7 先执行1G或gg后 直接输入 bzip28 直接执行 50 100s man MAN gc即可9 1 简单的方法可以一直按u恢复到原始状态 2 使用不储存离开 q 之后 再重新读取一次该文件 10 51G然后再10yy之后按下G到最后一行 再p粘贴10行11 11G之后 再给他20dd即可删除20行了 12 wman test config13 29G之后 再给他15x即可删除15个字符 14 wq 18 二 SHELL变量与语

11、法 Shell概述shell变量和符号shell控制流程语法shell中的输出重定向脚本实例 19 1 shell的基本元素 1 bin bash必须的 指出shell的类型 2 注释 3 变量 4 控制 一 Shell概述 一个shell脚本viclearup sh bin bash thisisclearcd var logcat dev null var log messages dev nullLinux中的无限大的垃圾回收站echo Logscleanedup 20 2 一般步骤 1 编辑文件 2 保存文件 3 将文件赋予可执行的权限 4 运行及排错 21 注意 一般以 sh为文件后

12、缀 没有也能执行 常见的两种执行方式 文件名在当前目录下写明路径执行 要求文件必须有执行权限 如chmod755run sh run shsh文件名shrun sh文件开头指定一个或多个解释脚本程序的shell 如 bin bash如果指定 注意 bin不要漏了 否则用 方式执行会找不到路径 不指定的话一般默认以 bin sh执行shell脚本 22 3 Shell的一般结构shell类型函数主过程一般模板abc sh bin bashshell类型 asimpleshellscriptexample afunctionfuncitonsayhello 函数 echo EnterYournam

13、e readname读取来自键盘输入的变量echo Hello name echo programmestartshere 主过程sayhelloecho programmeends 23 1 注释符 除了 bin bash里的 特殊2 美元符 变量符 与反斜杠转义符相反 使其后的普通字符作为变量名 如 a表示变量a的值 变量字符长度超过1个时 用 括起来3 单引号被引起的字符全部做普通字符 即全部原样echo my SHELL 二 Shell中的特殊符号 24 4 双引号引号内的内容 除 转义符 倒引号 这三个保留特殊功能 其他字符均做普通字符 5 倒引号 数字1键旁边的那个键 引号内的字符

14、串当做shell命令行解释执行 得到的结果取代整个倒引号括起来的部分 pwd 即pwd命令的执行结果 LOGNAME系统变量 25 练习一下 区别下面几句 echo myhomeis HOME echo myhomeis HOME echo myhomeis HOME echo myhomeis pwd echo myhomeis pwd 用于括起来shell命令 用于原样显示 26 6 反斜线反斜线是转义字符 它能把特殊字符变成普通字符 在某个字符前面利用反斜杠 能够阻止shell把后面的字符解释为特殊字符 例4 yuqun yuqun echo FilenameisN0 Filenamei

15、sN0 注意 在单引号括起来的字符串中 反斜线也成为普通字符 而失去转义字符功能 27 三 变量 shell变量可以保存如路径名 文件名或者一个数字本地变量局部变量只在创建它们的Shell中使用 可以在shell程序内任意使用和修改它们 环境变量可以在创建它们的Shell及其派生出来的任意子程序中使用 有些变量是用户创建的 其他的则是专用的 比如PATH HOME 是系统环境的一部分 不必去定义它们 可以在shell程序中使用它们 还能在shell中加以修改 内部变量由系统提供的 与环境变量不同 但用户不能修改它们 28 本地变量和环境变量的对比 29 1 本地变量 局部变量 用户变量 本地变

16、量在用户现在的shell生命期的脚本中使用变量名 值注意 1 等号两边不可以有空格 2 取值包含空格 必须用双引号括起来 3 Shell变量可以用大小写字母 区分大小写 30 变量的声明和使用 1 变量是弱类型的 不用声明类型 2 变量声明及赋值格式变量 值 等号两边不能有空格 3 变量的引用 变量名 变量名 变量名为1个字符时建议使用方式一 多余一个字符时建议使用方式二举例 a abc 31 显示变量echo命令可以显示单个变量取值 变量名前加 echo Nameecho nameecho nameareecho name are 输出引用变量时加 比较好 32 清除变量unset变量名举例 echo name unsetname 注意 name前没有 显示本地所有变量set 33 设置只读变量 设置变量时 不想再改变其值 可以将之设为只读变量变量名 值readonly变量名 34 2 环境变量 环境变量用于所有用户进程 通常称为子进程 登陆进程称为父进程 通过pstree可以查看环境变量可以用于所有子程序 着包括编辑器 脚本和应用举例 via sh bin bash 检测环境变量e

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

最新文档


当前位置:首页 > IT计算机/网络 > 计算机应用/办公自动化

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