第10讲 Shell编程-1.ppt_第1页
第10讲 Shell编程-1.ppt_第2页
第10讲 Shell编程-1.ppt_第3页
第10讲 Shell编程-1.ppt_第4页
第10讲 Shell编程-1.ppt_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

Linux文件系统管理 沈超 E mail shenchao 单元目标 1 shell的作用和历史2 shell的常用功能3 shell变量种类3 shell脚本的运行4 编写简单的shell脚本 Shell的作用及常见种类 Shell 计算机用户 应用程序 Linux内核 输入 输入 控制 控制 系统硬件 输出 输出 Shell的作用 命令解释器 翻译官 Bash的常用功能 Tab键自动补齐命令历史命令别名标准输入输出重定向操作管道操作 Bash的命令历史 命令历史保存用户曾经执行过的命令操作存放位置 bash history文件查看历史命令使用 按键逐条翻看 允许编辑并重复执行执行 history清除历史命令执行 history c Bash的命令历史 调用历史命令 n 执行历史记录中的第n条命令 str 执行历史记录中以 str 开头的命令设置记录历史命令的条数修改HISTSIZE参数 默认为1000条 Bash的命令别名 命令别名为使用频率较高的复杂命令行设置简短的调用名称存放位置 bashrc查看命令别名格式 alias 别名 设置命令别名执行 alias别名 实际执行的命令 取消已设置的命令别名格式 unalias别名 Bash的标准输入输出 交互式硬件设备标准输入 从该设备接收用户输入的数据标准输出 通过该设备向用户输出数据标准错误 通过该设备报告执行出错信息 Bash的重定向操作 改变标准输入 标准输出 标准错误的方向 Bash的管道操作 管道操作符号 连接左右两个命令 将左侧的命令输出的结果 作为右侧命令的输入 处理对象 格式 cmd1 cmd2 cmdn awk 以空格或制表位为分隔 输出指定第n列数据 Shell变量的应用 Shell变量为灵活管理Linux系统提供特定参数 有两层意思 1 变量名 使用固定的名称 由系统预设或用户定义2 变量值 能够根据用户设置 系统环境变化而变化Shell变量的种类用户自定义变量 由用户自己定义 修改和使用环境变量 由系统维护 用于设置用户的Shell工作环境 只有极少数的变量用户可以修改预定义变量 Bash预定义的特殊变量 不能直接修改位置变量 通过命令行给程序传递执行参数 变量的赋值与引用 定义新的变量变量名要以英文字母或下划线开头 区分大小写格式 变量名 变量值查看变量的值格式 echo 变量名查看所有变量 set清除变量unset变量名 root localhost DAY Sunday root localhost echo DAYSunday 通过 符号引用指定名称的变量值 变量的赋值与引用 从键盘输入内容为变量赋值格式 read p 信息 变量名结合不同的引号为变量赋值双引号 允许通过 符号引用其他变量值单引号 禁止引用其他变量值 视为普通字符反撇号 将命令执行的结果输出给变量 变量赋值 引用和删除 root localhost echo FILESVR root localhost exportFILESVR root localhost zsh root localhost echo FILESVR root localhost exit root localhostroot unsetFILESVR root localhostroot echo FILESVR 数值变量的运算 计算整数表达式的运算结果格式 expr变量1运算符变量2 运算符变量n expr的常用运算符加法运算 减法运算 乘法运算 除法运算 求模 取余 运算 环境变量赋值 设置变量的作用范围格式 export变量名 export变量名 变量值 变量名n 变量值n 查看环境变量env或export清除用户定义的变量格式 unset变量名 系统环境变量 1 环境变量配置文件全局配置文件 etc profile etc bashrc用户配置文件 bash profile bashrc 有完整登陆流程时 加载环境变量顺序 先读 etc profile再读 bash profile再读 bashrc再读 etc bashrc开始Bash界面 用set查看环境变量 root localhostroot setSHELL bin bashTERM xtermUID 0USER rootconsoletype pty 环境变量 常见的环境变量 USER LOGNAME UID SHELL HOME PWD PATH PS1 PS2 查看环境变量 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 命令执行时查找顺序 1 以相对 绝对路径执行2 由alias找到的执行3 bash内部命令执行4 按 PATH路径执行 环境变量PS1 echo PS1 d日期 t时间 24 T时间 12 H完整主机名 h简写主机名 u用户名 vbash版本 w完整目录 W最后一个目录 执行了第几个命令 提示符PS1 u h W t root localhost exam01onetwothreefourfivesix 位置变量 表示为 n n为1 9之间的数字 0为第0个参数 脚本本身 1 第1个位置参数 2 第2个位置参数 6 第6个位置参数 预定义变量 表示形式如下 命令行中位置参数的个数 所有位置参数的内容 上一条命令执行后返回的状态 当返回状态值为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值 表示上一条命令正常 多命令运行 通配符与特殊符号 通配符 任意多个 任意一个 括号内任一个 0 9 非数字特殊符号 转义符 后台 非 Shell脚本的概念 Shell脚本1 用途 完成特定的 较复杂的系统管理任务2 格式 集中保存多条Linux命令 普通文本文件3 执行方式 按照预设的顺序依次解释执行 编写可执行的Shell脚本 建立包含执行语句的脚本文件 脚本文件中包括的内容运行环境设置 bin bash注释信息 以 开始的说明性文字可执行的Linux命令行为脚本文件添加可执行权限 给shell脚本增加执行权限 root localhost virepboot sh bin bash Toshowusageof bootdirectoryandmodeofkernelfile echo Useageof boot du sh bootecho Themodeofkernelfile ls lh boot vmlinuz root localhost chmoda xrepboot sh 运行Shell脚本程序 1 直接执行具有 x 权限的脚本文件例如 repboot sh2 使用指定的解释器程序执行脚本内容例如 bashrepboot sh shrepboot sh3 通过source命令 或 读取脚本内容执行例如 soucerepboot sh或 hello sh 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 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 dbbaktarzcvfmysqlbak DAY tar gz var lib mysql tmp dbinfo txtrm f tmp dbinfo txt root loc

温馨提示

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

评论

0/150

提交评论