《LINUX操作系统》实验指导书
内蒙古工业大学 信息工程学院计算机系
2014.10
实验一 简单SHELL程序设计
一、实验目的
通过上机实习,能够编写简单的Shell脚本,对操作系统进行基本的系统维护和管理。
二、实验内容
1、在UBUNTU下,利用VI编辑器编写一个SHELL脚本程序。 2、程序要求:
(1) 程序运行时,先显示欢迎信息,并显示当前在线用户;
提示: echo;显示当前在线用户利用who
(2) 将当前用户(执行该程序的用户)的主目录及个人用户信息(/etc/passwd中该
用户的信息)存入文件dlxxlog.log(dlxxlog.log存储于该用户的主目录)中;在信息存入文件dlxxlog.log前先判断dlxxlog.log是否存在,不存在新建,存在,将信息追加到dlxxlog.log中;
提示: 当前用户主目录可以从$HOME中提取;
个人用户信息可以利用grep $LOGNAME /etc/passwd 以上信息可以利用重定向输出 > 输出到文件中 判断dlxxlog.log是否存在,可以利用if语句加条件测试
(3) 在用户个人主目录下,建立一个目录,目录名称由键盘读入,然后判断此目录
是否存在,若存在,给出提示;不存在,建立此目录,将dlxxlog.log移动到此目录中,并将dlxxlog.log的文件权限改为rw- rw- r- -;
3、命令提示:echo who grep test if read mv chmod
三、实验要求
根据实验内容,编写Shell脚本程序,上机调试运行得出实验结果,写出实验报告。 实验报告要求如下:
(1) 写出程序设计思路(可附程序流程图); (2) 打印程序清单及程序运行的结果; (3) 写出调试程序出现的问题及解决的方法; (4) 实验报告按信息工程学院实验报告规范格式书写。
四、实验学时
3学时
实验二 菜单脚本程序设计
一、实验目的
通过上机实习,能够编写较复杂的Shell脚本,掌握菜单脚本程序设计,并熟悉一些常用的网络维护命令。
二、实验要求
1、在UBUNTU下,利用VI编辑器编写一个SHELL脚本程序。 2、程序要求:
(1) 在程序运行时,显示一个菜单,如:
Welcome to use the net tool program: 1) Ping 2) Nslookup 3) Netstat 4) Route 5) Log bak 6) Exit choice?_ 当用户选择某一菜单时,完成某一项功能,各菜单的功能如下: 1) Ping
用ping命令对目的主机发送数据包,目的主机的IP地址或主机域名由用户输入。
2) Nslookup
查询Internet上的名字服务器,服务器名称由用户输入。 3) Netstat
查看本机TCP/IP连接状况。 4)Route
显示本机核心路由表。 5) Log bak
执行一个日志文件处理子函数,该函数可显示某一日志文件的大小,并执行备份操作【备份文件的名称里应含有日期戳(即含有日期字段,日期戳的生成:
mydate=`date +%d%m` mydate即为日期戳)】,之后将备份文件的权限设置为400,并将备份文件利用tar命令归档,最后删除日志文件。日志文件的名称由用户输入。 6) Exit
退出程序。
提示:
(一)、该程序的菜单功能可用两种方法实现: 1、用while和case语句嵌套实现; 2、用select和case语句实现; select语句介绍:
select语句通常用于菜单设计,它自动完成接收用户输入的整个过程,包括显示一组菜单以及读入用户的选择。
select语句的语法形式为: select identifier [ in word ] do
命令表
done
举例: 【提示:将此程序拷贝到linux中建立一个文本文件,即shell脚本执行,同学们可以查看运行结果,理解select的用法, select的功能是:显示一个菜单,配合case使用可以接收用户输入自动匹配选项,分支执行程序】
#!/bin/bash #ex15 PS3=\
select choice in query add delete update exit do
case \
query) echo \ ;;
add) echo \
;;
delete) echo \ ;;
update) echo \ ;;
exit) echo \ break;; esac done
echo \ #end
(二)、命令使用帮助:
(1) 格式: ping -c n hostname/ip 举例: ping -c 2 202.100.30.114 (2) 格式: nslookup hostname/ip 举例: nslookuo ds0.cstd.imut.edu.cn (3) 格式: route -e (4) 格式: netstat
(5) 格式: du –h filename 功能:显示某一文件的大小 (5) 格式: tar -czvf filename.tar filename 功能:归档并压缩文件filename
三、实验要求
根据实验内容,编写Shell脚本程序,上机调试运行得出实验结果,写出实验报告。 实验报告要求如下:
(1) 写出程序设计思路(可附程序流程图); (2) 打印程序清单及程序运行的结果; (3) 写出调试程序出现的问题及解决的方法; (4) 实验报告按信息工程学院实验报告规范格式书写。
四、实验学时
3学时