《Linux操作系统应用kj10_1》由会员分享,可在线阅读,更多相关《Linux操作系统应用kj10_1(21页珍藏版)》请在金锄头文库上搜索。
1、Linux操作系统应用课程开发组10.1 子情境:Shell程序的编写与执行学习情境10 Shell编程Linux Linux 操作系统应用操作系统应用上一页下一页退出10.1 子情境:Shell程序的编写与执行实施流程相关资讯任务准备任务实施任务检测技能拓展任务总结操作练习任务描述任务描述统计车间 生产数据每天上午和下 午下班前必须对 数据进行双硬盘 备份,且要求保 存最近3次备份。 改手工为Shell 程序进行备份 。备份的数据存放于 /home/hbzy/workdata/最近三次备份文件为 worknewdata.tar、 work2nddata.tar、 work3rddata.ta
2、r 备份文件存放于 /home/hbzy/disk1backup/ 和/dev/disk2backup/ Linux Linux 操作系统应用操作系统应用上一页下一页退出10.1 子情境:Shell程序的编写与执行实施流程相关资讯任务准备任务实施任务检测技能拓展任务总结操作练习任务描述任务实施流程浏览“相关资讯”任务准备设计执行任务的程序结构与流程 用vi编辑Shell程序调试shell程序执行shell程序Linux Linux 操作系统应用操作系统应用上一页下一页退出10.1 子情境:Shell程序的编写与执行实施流程相关资讯任务准备任务实施任务检测技能拓展任务总结操作练习任务描述2为什么
3、要使用Shell编程 相关资讯1什么是Shell程序Shell本身就是一个解释型的程序设计语言,输入的任 何命令都能直接添加到一个可执行的Shell程序中;它还提 供了定义变量和参数的手段、丰富的程序控制结构。把多个命令编制成一个Shell程序(Shell脚本)来完 成这些复杂任务。Linux Linux 操作系统应用操作系统应用上一页下一页退出10.1 子情境:Shell程序的编写与执行实施流程相关资讯任务准备任务实施任务检测技能拓展任务总结操作练习任务描述相关资讯3Shell程序基本组成 主体:是变量、控制语句及命令语句组成。 以#!作为第一行开头,用#表示注释。4在Shell脚本中常用的
4、bash内部命令 (1)echo 功能:在屏幕上显示出由arg参数指定的字符串。 格式:echo argLinux Linux 操作系统应用操作系统应用上一页下一页退出10.1 子情境:Shell程序的编写与执行实施流程相关资讯任务准备任务实施任务检测技能拓展任务总结操作练习任务描述4在Shell脚本中常用的bash内部命令 相关资讯(2)eval 功能:读入参数args,并将它们合并成一个新的命令,然后执行。 格式:eval args (3)exec 功能:不创建新的子进程,而是转去执行指定的命令,当指定的命令执 行完成时,该进程就终止。 格式:exec 命令参数 (4)wait 功能:使S
5、hell等待在后台启动的所有子进程结束,wait的返回值总为真 。 格式:wait(5)exit 功能:退出Shell程序。 格式:exit 数字(6)“.”(点) 功能:使Shell读入指定的Shell程序文件并依次执行文件中的所有语句 。 格式: .Shell程序文件名Linux Linux 操作系统应用操作系统应用上一页下一页退出10.1 子情境:Shell程序的编写与执行实施流程相关资讯任务准备任务实施任务检测技能拓展任务总结操作练习任务描述任务准备 1一台装有RHEL 5 Server操作 系统的计算机,系统装载2块硬盘 ,其中非引导硬盘挂载为 /dev/disk2backup;在主
6、硬盘 /home/hbzy/下建立有workdata、 disk1backup两个目录分别用来存 放用户工作数据文件和用户工作数 据备份文件(worknewdata.tar、 work2nddata.tar、work3rddata.tar) 。2启动该计算机以hbzy帐号( 密码hbzy123)进入字符界面。 Linux Linux 操作系统应用操作系统应用上一页下一页退出10.1 子情境:Shell程序的编写与执行实施流程相关资讯任务准备任务实施任务检测技能拓展任务总结操作练习任务描述3任务准备查看执行任务前相关目录的状态。 -用cd命令进入/home/hbzy/disk1backup/目录
7、,再用ls l 命令显示,如图10-1所示。-用cd命令进入/dev/disk2backup/目录,然后用ls l 命令显示,如图10-2所示。图10-1 查看/home/hbzy/disk1backup目录图10-2 查看/dev/disk2backup目录Linux Linux 操作系统应用操作系统应用上一页下一页退出10.1 子情境:Shell程序的编写与执行实施流程相关资讯任务准备任务实施任务检测技能拓展任务总结操作练习任务描述任务实施步骤步骤1 1 设计完成任务的程序结构、流程设计完成任务的程序结构、流程在动手编写程序前,必须先构思并设计出完成任务的程序基本结构、 流程如下: (1)
8、 使用rm命令删除/home/hbzy/disk1backup/目录下的work3rddata.tar文 件。 (2) 使用mv命令将/home/hbzy/disk1backup/目录下的work2nddata.tar改名 为work3rddata.tar。 (3) 使用mv命令将/home/hbzy/disk1backup/目录下的worknewdata.tar改 名为work2nddata.tar。 (4) 使用tar命令将/home/hbzy/workdata/目录备份为worknewdata.tar文件 存放于/home/hbzy/disk1backup/目录中。 (5) 使用rm命令
9、删除/dev/disk2data/目录中的worknewdata.tar、 work2nddata.tar、work3rddata.tar三个文件。 (6) 使用cp命令将/home/hbzy/disk1backup/目录下worknewdata.tar、 work2nddata.tar、work3rddata.tar三个文件复制到/dev/disk2backup/目录 中。 (7) 使用输出任务完成的提示信息。Linux Linux 操作系统应用操作系统应用上一页下一页退出10.1 子情境:Shell程序的编写与执行实施流程相关资讯任务准备任务实施任务检测技能拓展任务总结操作练习任务描述任务
10、实施步骤步骤2 2 使用使用vivi编辑编辑ShellShell程序程序autobackupdata.shellautobackupdata.shell(1)启动vi编辑器 输入命令:vi autobackupdata.shell (2)输入程序 在vi编辑器界面输入下列程序内容,输入完毕后保存退出vi。程序 内容见下页。Linux Linux 操作系统应用操作系统应用上一页下一页退出10.1 子情境:Shell程序的编写与执行实施流程相关资讯任务准备任务实施任务检测技能拓展任务总结操作练习任务描述任务实施#!/bin/bash #delete file work3rddata.tar rm
11、/home/hbzy/disk1backup/work3rddata.tar #rename file work2nddata.tar to work3rddata.tar mv /home/hbzy/disk1backup/work2nddata.tar /home/hbzy/disk1backup/work3rddata.tar #rename file worknewdata.tar to work2nddata.tar mv /home/hbzy/disk1backup/worknewdata.tar /home/hbzy/diskbackup/work2nddata.tar #bac
12、kup /home/hbzy/workdata to /home/hbzy/disk1backup/worknewdata.tar tar cf /home/hbzy/disk1backup/worknewdata.tar /home/hbzy/workdata #delete files worknewdata.tar、work2nddata.tar、work3rddata.tar in /dev/disk2data folder rm /dev/disk2backup/worknewdata.tar rm / dev/disk2backup/work2nddata.tar rm / dev
13、/disk2backup/work3rddata.tar #copy worknewdata.tar、work2nddata.tar、work3rddata.tar to /dev/disk2backup cp /home/hbzy/disk1backup/worknewdata.tar /dev/disk2backup/ cp /home/hbzy/disk1backup/work2nddata.tar /dev/disk2backup/ cp /home/hbzy/disk1backup/work3rddata.tar /dev/disk2backup/ echo “Task is fin
14、ished”Linux Linux 操作系统应用操作系统应用上一页下一页退出10.1 子情境:Shell程序的编写与执行实施流程相关资讯任务准备任务实施任务检测技能拓展任务总结操作练习任务描述任务实施输入命令:bash autobackupdata.shell 如果程序有错,返回“步骤2”修改程序,直到程序正确。输入命令如图10-4所示:图10-4 运行Shell程序步骤步骤3 3 调试调试ShellShell程序程序步骤步骤4 4 增加增加ShellShell程序的可执行权并运行程序的可执行权并运行Linux Linux 操作系统应用操作系统应用上一页下一页退出10.1 子情境:Shell程
15、序的编写与执行实施流程相关资讯任务准备任务实施任务检测技能拓展任务总结操作练习任务描述任务检测1 查看任务 完成后相 关文件状 况 查看任务完成后/home/hbzy/disk1backup/ 、/dev/disk2backup/目录下文件状况。2 分析观测结 果 通过任务完成前后显示的文件创建时间对 比可知任务按要求完成。Linux Linux 操作系统应用操作系统应用上一页下一页退出10.1 子情境:Shell程序的编写与执行实施流程相关资讯任务准备任务实施任务检测技能拓展任务总结操作练习任务描述知识或技能拓展每种Shell都有自己的配置文件,用户可设置各种环境变量。重要的 Shell环境
16、配置文件有: /etc/bashrc 包含系统定义的命令别名和bash的环境变量定义。 /etc/profile 包含系统的环境定义,并指定启动时必须运行的程序。 /etc/inputrc 包含系统的键盘设定,以及针对不同终端程序的键位配置 信息。 $HOME/.bashrc 包含为用户定义的命令别名和bash的环境变量定义。 $HOME/bash_profile 包含为用户定义的环境变量,并指定用户登录时需要 启动的程序。 $HOME/.inputrc 包含用户的键盘设定,以及针对用户终端的键位配置信 息。1Shell环境配置文件 Linux Linux 操作系统应用操作系统应用上一页下一页退出10.1 子情境:Shell程序的编写与执行实施流程相关资讯任务准备任务实施任务检测技能拓展任务总结操作练习任务描述知识或技能拓展(1 1) ShellShell预定义预定义 变量(内建变量(内建 变量)变量)常用的Shell预