说明:
1、号码为奇数号的同学做第9题,座号为偶数的同学做第8题;
2、变量名均以自己名字首字字母缩写开头;
1、写一个脚本:
1)如果其不存在,就创建目录/backup;
2)备份/etc目录至/backup中,并在原有名字后面加上日期后缀,形如:etc-2011-07-29 ;
3)设定此脚本每周四和周日凌晨3点10分自动执行;
2、写一个脚本:
1、创建目录/tmp/test
2、切换工作目录至此目录中
3、复制/etc/pam.d目录至当前目录,并重命令为pam
4、将当前目录中的pam及其里面的文件和子目录的属主改为redhat
5、将test及其子目录中的文件的其它用户的权限改为没有任何权限
6、使用函数实现以上功能;
3、写一个脚本:
1)获取本机的网络地址;比如:本机的ip地址是:192.168.100.2/255.255.255.0,那么它的网络地址是192.168.100.1/255.255.255.0。
2)获取本机的网关;没有则显示为none;
3)获取本机的DNS服务器地址,没有则显示为none;
4、写一个脚本:
某文件内容如下:
jack F 90
tom M 70
jerry F 99
lily M 80
其中F为女,M为男;要求算出男性的平均年龄和女性的平均年龄;
5、写一个脚本:
1)使用函数实现:
判断一个用户是否存在,用户名通过参数传递而来;
如果存在,就显示此用户的shell和UID
如果不存在,就说此用户不存在;
2)主调函数中,一直提示用户输入用户名,并显示;直到用户输入q或Q退出;
6、写一个脚本,给网卡设置静态地址:
1)提示用户选择所要设置的网卡;
2)提示用户输入IP地址,子网掩码和网关;其中网关可以为空,但IP地址或子网掩码不能为空;设置完成后重启此网卡;
3)如果过程中用户按下Ctrl+c,要能捕捉到信号并撤消此前的操作;
7、写一个脚本,满足如下应用:
一个文本文件内容如下:
user1 abcd
user2 g23d
user3 vgq2
根据文件内容批量创建用户,第一列为用户名,第二列为对应用户的密码;要求:
使用函数实现用户添加过程;并且在用户添加前要判断用户是否存在;
8、写一个脚本:
1、下载文件ftp://192.168.0.254/pub/Files/access_log至/tmp目录;
2、分析并显示/tmp/access_log文件中位于行首的IP中出现次数最多的前5个,并说明每一个出现了多少次;
3、取出/tmp/access_log文件中以http://开头,后面紧跟着一个域名或IP地址的字符串,比如:http://www.linux.com/install/images/style.css 这个串的http://www.linux.com的部分;而后显示出现次数最多的前5个;
要求:第2、3功能各以函数的方式实现;
9、写一个脚本:
1、定义一个函数
1)可以接受参数mem、swap或disk;
2)当接受参数mem时获取当前主机物理内存的大小,已经使用的空间及空闲空间大小;如果已用空间超出总空间的90%,则以红色字体警告;否则,则以绿色字体显示空间剩余百分比;
3)当接受参数swap时获取当前主机虚拟内存的大小,已经使用的空间及空闲空间大小;如果已用空间超出总空间的90%,则以红色字体警告;否则,则以绿色字体显示空间剩余百分比;
#4)当接受参数swap时获取当前主机/dev/sda磁盘为区的大小,已经使用的空间及空闲空间大小;如果已用空间超出总空间的90%,则以红色字体警告;否则,则以绿色字体显示空间剩余百分比;
3、在主程序中显示一个提示给用户,说明输入mem可以显示物理内存空间使用情况;输入swap可以显示虚拟内存空间使用情况;其它任意字符提示用户脚本使用方法后退出脚本;
2、写一个脚本,实现手动添加一个用户:
1)提示用户输入用户名;
2)根据格式,向/etc/group文件中追加一行,建立跟用户同名的组;要求所用ID号不能跟已有的组的相同;
3)根据格式,向/etc/passwd文件中追加一行,以建立此新用户;要求所用ID号不能跟已有的用户的相同;
4)根据格式,向/etc/shadow文件中追加一行;
5)为此用户添加密码;
6)为此用户建立家目录;要求权限和属主属组等设定得当,且必须具有相应的环境配置文件;