RHCE-Shell练习题_原创文档.pdf
Shell练习题1
1.在你的bashrc里给grep添加别名,可以给过滤的关键字显示颜色,之后找出你曾用过的所
有vi命令
2.使用root用户查找/var/log的文件,要求:后缀名为.log文件大于100K并追加到一
个新文件
使用普通用户查找/var/log文件,要求:只显示文件不要目录,该文件一天内被修改
过,stdout和stderr输出到不同文件里
3.在access.log里面统计所有的GET条目的数量
在access.log里面统计所有POST请求的独立IP的数量,同时把这些IP导入到一个文件里
4.写一个shell脚本,用键盘输入内容的方式为a和b赋值,然后计算a+b,a-b,a*b,a/b的结
果,输出格式类似以下
Enterfirstnumber:6
Entersecondnumber:3
6+3=9
6-3=3
6*3=18
6/3=2
5.在例题4的shell脚本里添加三个预定义变量:执行结果的返回码,当前进程的进程号,
当前执行的进程名
6.写一个shell脚本,用位置变量的方式赋值5个数字,并求和以及求平均,输出类似以下格
式
7.写一个shell,以自定义名加时间的方式创建3个文件,要求3个文件名中的时间分别
以当天,前一天,前一个月为命名,类似如下:
Filenam
答案:
1.aliasgrep=grep--color
history|grepvi
2.
find/var/log-typef-mtime-1list_right2list_error
3.–ll
–l
4.
#!/bin/bash
5.
6.
#!/bin/bash
letsum=$1+$2+$3+$4+$5letsum=$1+$2+$3+$4+$5
letavg=$sum/$#letavg=$sum/$#
~
7.
#!/bin/bash
date1=`date+%Y%m%d`date1=`date+%Y%m%d`date1=`date+%Y%m%d`
file1=$filename$date1
file2=$filename$date2
file3=$filename$date3
touch$file1
touch$file2
touch$file3
8.
Shell练习题2
练习1:写一个脚本
1.设定变量file的值为/etc/passwd
2.使用循环读取文件/etc/passwd的第2,4,6,10,13,15行,并显示其内容
3.把这些行保存至/tmp/mypasswd文件中
练习2:写一个脚本
添加10个用户user1到user10,但要求只有用户不存在的情况下才能添加
练习3设计一个shell程序,首先检查是否是root用户在执行,不是就退出,是的话,清空
/var/log目录下的所有.log结尾文件的内容,保留文件
练习4:写一个脚本
用while循环每10秒中检查一次httpd服务是否启动,如果停止后则自动启动,记录
每次检查的结果,该脚本后台运行,
练习5设计一个shell程序,备份并压缩/etc目录的所有内容,存放在/root/bak目录里,
且文件名为如下形式yymmdd_etc,yy为年,mm为月,dd为日。
练习6
用case语句写一个简单的启动,停止,重启的shell程序,来控制一个sleep10000的脚本,要
有startstoprestart参