Linux System-PPT-chap07-v1.2.ppt_第1页
Linux System-PPT-chap07-v1.2.ppt_第2页
Linux System-PPT-chap07-v1.2.ppt_第3页
Linux System-PPT-chap07-v1.2.ppt_第4页
Linux System-PPT-chap07-v1.2.ppt_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

BENET3 0第二学期课程 第七章编写Shell管理脚本 一 理论部分 2 课程回顾 如何使系统开机后默认进入字符模式 如何禁止bluetooth等服务开机后自动运行 如何查看 终止系统中的进程 使用at crontab计划任务的区别是什么 crontab的配置记录由哪几部分组成 3 技能展示 理解Shell的作用及分类掌握Bash的常用功能会设置和使用Shell变量会编写简单的Shell脚本 4 本章结构 Shell环境概述 Shell的作用及常见种类 Shell脚本的概念 Shell环境的切换 编写Shell脚本 Bash的常用功能 编写Shell管理脚本 一 Shell变量应用 编写并执行Shell脚本 用户自定义变量 环境变量 位置变量 预定义变量 Shell脚本应用实例 执行Shell脚本 5 Shell的作用及常见种类 Shell的作用 命令解释器 翻译官 介于操作系统内核与用户之间 负责解释命令行 6 Shell的作用及常见种类 兼具Bsh的语法和Csh的交互特性 70年代中期诞生于贝尔实验室 有较强的脚本编程功能 80年代早期诞生于加利福尼亚大学 使用C语言风格 命令交互方便 Bsh的升级版 Linux系统中的默认Shell 兼具各种Shell程序优点 交互式操作效率更高 7 root localhost cat etc shells bin sh bin bash sbin nologin bin tcsh bin csh bin ksh 如何切换Shell环境临时切换 直接执行其他Shell程序 例如ksh zsh等更改用户登录Shell 需修改 etc passwd文件中用户记录的最后一个字段或执行 usermod sShell程序路径用户名 Shell环境的切换 登录Shell指用户每次登录系统后自动加载的Shell程序 大多数Linux系统采用 bin bash作为默认登录Shell etc shells文件记录了系统支持的有效登录Shell 8 Bash的常用功能 Tab键自动补齐命令编辑快捷键命令历史命令别名标准输入输出重定向操作管道操作 9 Bash的命令历史 命令历史保存用户曾经执行过的命令操作存放位置 bash history文件查看历史命令使用 按键逐条翻看 允许编辑并重复执行执行 history清除历史命令执行 history c root localhostroot history 556useraddjerry557passwdjerry558crontab e ujerry559crontab l ujerry 10 Bash的命令历史 调用历史命令 n 执行历史记录中的第n条命令 str 执行历史记录中最近一次以 str 开头的命令设置记录历史命令的条数修改HISTSIZE参数 默认为1000条 root localhostroot 562crontab l ujerrynocrontabforjerry root localhost vi etc profileHISTSIZE 200 11 Bash的命令别名 命令别名为使用频率较高的复杂命令行设置简短的调用名称存放位置 bashrc查看命令别名格式 alias 别名 设置命令别名执行 alias别名 实际执行的命令 取消已设置的命令别名格式 unalias别名unalias a root localhost aliasaliascp cp i aliasl ls d color tty aliasll ls l color tty aliasls ls color tty aliasmv mv i aliasrm rm i 12 Bash的标准输入输出 交互式硬件设备标准输入 从该设备接收用户输入的数据标准输出 通过该设备向用户输出数据标准错误 通过该设备报告执行出错信息 13 Bash的重定向操作 改变标准输入 标准输出 标准错误的方向 14 Bash的管道操作 管道操作符号 连接左右两个命令 将左侧的命令输出的结果 作为右侧命令的输入 处理对象 格式 cmd1 cmd2 cmdn root localhost free m head 2totalusedfreesharedbufferscachedMem 503339163087199 root localhost free m grep Mem awk print 2 4 503163 awk 以空格或制表位为分隔 输出指定第n列数据 15 Shell变量的应用 Shell变量为灵活管理Linux系统提供特定参数 有两层意思 变量名 使用固定的名称 由系统预设或用户定义变量值 能够根据用户设置 系统环境变化而变化Shell变量的种类用户自定义变量 由用户自己定义 修改和使用环境变量 由系统维护 用于设置用户的Shell工作环境 只有极少数的变量用户可以修改预定义变量 Bash预定义的特殊变量 不能直接修改位置变量 通过命令行给程序传递执行参数 16 变量的赋值与引用 定义新的变量变量名要以英文字母或下划线开头 区分大小写格式 变量名 变量值查看变量的值格式 echo 变量名 root localhost DAY Sunday root localhost echo DAYSunday 通过 符号引用指定名称的变量值 17 变量的赋值与引用 从键盘输入内容为变量赋值格式 read p 提示信息 变量名结合不同的引号为变量赋值双引号 允许通过 符号引用其他变量值单引号 禁止引用其他变量值 视为普通字符反撇号 将命令执行的结果输出给变量 18 变量的赋值与引用 设置变量的作用范围格式 export变量名 export变量名 变量值 变量名n 变量值n 清除用户定义的变量格式 unset变量名 root localhost echo FILESVR root localhost exportFILESVR root localhost zsh root localhost echo FILESVR root localhost exit root localhostroot unsetFILESVR root localhostroot echo FILESVR root localhostroot 输出为全局变量 清除该变量内容 19 数值变量的运算 计算整数表达式的运算结果格式 expr变量1运算符变量2 运算符变量n expr的常用运算符加法运算 减法运算 乘法运算 除法运算 求模 取余 运算 20 环境变量 环境变量配置文件全局配置文件 etc profile用户配置文件 bash profile查看环境变量set命令可以查看所有的Shell变量 其中包括环境变量 root localhostroot set SHELL bin bashTERM xtermUID 0USER rootconsoletype pty 21 root localhost echo PATH usr kerberos sbin usr kerberos bin usr local sbin usr local bin sbin bin usr sbin usr bin root bin root localhost PATH opt bin PATH root localhost echo PATH opt bin usr kerberos sbin usr kerberos bin usr local sbin usr local bin sbin bin usr sbin usr bin root bin 环境变量 常见的环境变量 USER LOGNAME UID SHELL HOME PWD PATH PS1 PS2 22 root localhost exam01onetwothreefourfivesix 位置变量 表示为 n n为1 9之间的数字 1 第1个位置参数 2 第2个位置参数 6 第6个位置参数 23 预定义变量 表示形式如下 命令行中位置参数的个数 所有位置参数的内容 上一条命令执行后返回的状态 当返回状态值为0时表示执行正常 非0值表示执行异常或出错 当前所在进程的进程号 后台运行的最后一个进程号 0 当前执行的进程 程序名 root localhost bash root localhost echo 0 bash5887 root localhost exxitbash exxit commandnotfound root localhost echo 127 root localhost exitexit root localhost echo 0 查看当前所执行进程的名称 PID号 执行一条错误命令 返回非0值 表示上一条命令异常 返回0值 表示上一条命令正常 24 小结 请思考 RHEL5系统中默认使用哪种Shell 在Shell的变量应用中 三种引号的作用有何区别 环境变量PWD的作用是什么 如何查看该变量的值 变量A的值为13 B的值为17 如何计算其乘积 25 Shell脚本的概念 Shell脚本用途 完成特定的 较复杂的系统管理任务格式 集中保存多条Linux命令 普通文本文件执行方式 按照预设的顺序依次解释执行 26 编写可执行的Shell脚本 建立包含执行语句的脚本文件脚本文件中包括的内容运行环境设置 bin bash注释信息 以 开始的说明性文字可执行的Linux命令行为脚本文件添加可执行权限 root localhost virepboot sh bin bash Toshowusageof bootdirectoryandmodeofkernelfile echo Useageof boot du sh bootecho Themodeofkernelfile ls lh boot vmlinuz root localhost chmoda xrepboot sh 27 运行Shell脚本程序 直接执行具有 x 权限的脚本文件例如 repboot sh使用指定的解释器程序执行脚本内容例如 bashrepboot sh shrepboot sh通过source命令 或 读取脚本内容执行例如 soucerepboot sh或 hello sh 28 Shell脚本应用示例 示例1 每周五17 30清理FTP服务器的公共共享目录检查 var ftp pub 目录 将其中所有子目录及文件的详细列表 当时的时间信息追加保存到 var log pubdir log日志文件中 然后清空该目录 root localhost vi opt ftpclean sh bin bashdate var log pubdir logls lhR var ftp pub var log pubdir logrm rf var ftp pub root localhost crontab e3017 5 opt ftpclean sh 29 Shell脚本应用示例 示例2 每隔3天对数据库目录做一次完整备份统计 var lib mysql目录占用的空间大小 查看当前的日期 并记录到临时文件 tmp dbinfo txt中将 tmp dbinfo txt文件 var lib mysql目录进行压缩归档 备份到 opt dbbak 目录中备份后的包文件名中要包含当天的日期信息最后删除临时文件 tmp dbinfo txt root localhost vi opt dbbak sh bin bashDAY date Y m d SIZE du sh var lib mysql echo Date DAY tmp dbinfo txtecho DataSize Size tmp dbinfo txtcd opt dbbaktarzcfmysqlbak DAY tar gz var lib mysql tmp dbinfo txtrm f tmp dbinfo txt root localhost crontab e5523 3 opt dbbak sh 30 本章总结 Shell环境概述 Shell的作用及常见种类 Shell脚本的概念 Shell环境的切换 编写Shell脚本 Bash的常用功能 编写Shell管理脚本 一 Shell变量应用 编写并执行Shell脚本 用户自定义变量 环境变量 位置变量 预定义变量 Shell脚本应用实例 执行Shell脚本 BENET3 0第二学期课程 第七章编写Shell管理脚本 一 上机部分 32 实验案例1 定制root用户的Shell环境 需求描述使root用户能通过 服务名start 形式控制系统服务的状态 而无需使用service命令或绝对路径将root用户的命令历史记录限制为50条添加一个命令别名lh 用于以长格式并使用K M等容量单位显示目录及文件列表信息每次root用户登陆到时 自动报告当前登录的用户数 打开的进程数 剩余可用内存 剩余交换空间练习重定向 变量操作 脚本应用等相关知识 33 实验案例1 定制root用户的Shell环境 实现思路修改 root bash profile 文件在环境变量PATH中添加 etc rc d init d 目录的内容设置HISTSIZE变量的值为50将PATH HISTSIZE变量输出为全局变量 编写登录欢迎脚本文件welcome root使用who ps wc命令及管道操作统计登录用户数 进程数使用free awk命令结合管道操作提取剩余可用内存 剩余交换空间信息 34 实验案例1 定制root用户的Shell环境

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论