全部博文(76)
分类: LINUX
2010-09-21 16:26:19
编写shell程序,实现自动删除50个账号的功能。账号名为stud1至stud50。
程序实现及注释如下:
#! /bin/bash
#deluser.sh
#考察while循环
i=1
while [ $i -le 50]
do
#查看账户是否存在:只需要在/etc/passwd文件查找就可以了。我是利用了一个管道符,再利用grep进行查#找;存在就删除,不存在给出提示。
#具体含义如下:
#
#打印到标准输出上了,就直接转到了下一个命令的标准输入里。那么grep
#查找了。
if [ -n "`cat /etc/passwd | grep stud$i`" ]
then
else
i=$(($i+1))
done
#本题目考察到while、if语句、test命令等知识。难点在于要删除的用户是否存在我们需要自己判断。
#其实只要我们对grep或正则表达式学过一点就能写出来。大家多练练,下次碰到类似的题目就没有问题
#了。
设计一个Shell程序,在/userdata目录下建立50个目录,即user1~user50,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为:读、执行。
程序实现及注释如下:
#! /bin/bash
#adddir.sh
i=1
#while循环
while [ $i -le 50 ]
do
#利用 test命令 [ -d /userdata ]:判断/userdata是否存在,如果存在直接创建子目录,不#存在先创建/userdata再创建子目录。
if [ -d /userdata ]
then
#mkdir -p的意思是:无论父目录/userdata存在与否,都会创建/userdata/user$i
else
fi
#根据题目的意思:/userdata/user$i应该是具有754权限,所以利用chmod赋权限。
chmod
i=$(($i+1))
done
用Shell编程,判断一文件是不是字符设备文件,如果是将其拷贝到 /dev 目录下。
程序实现以及注释如下:
#! /bin/bash
#cp.sh
#shell脚本的第一行是必须按照上面那种格式写,因为它表示的含义是
#当前的shell脚本使用/bin/bash处理;第二行一般写脚本的文件名。
#1.echo 在屏幕上输出后面的字符串,和C的printf功能一样。
echo -e "please input filename \n"
#2.判断是那个文件?可以使用read命令从键盘上获取文件名。
read FILENAME
#3.如何判断是否是字符设备,3.1.这个就要使用到Test命令。而Test命令都是系统内置的,我们记住了,
#使用就可以了。其中有[ -c FILENAME ]这个命令就是判断FILENAME是否是字符设备,如果是为真;如果不是为假;
#3.2.这个程序中有如果...就....的问题,所以要用到if语句.但shell所用的if的语法和以前所学的C不
#一样,但完成的功能一样。if [ ... ]; then fi
if[ -c $FILENAME ]
then
cp $FILENAME /dev
else
echo "It's not Charactor device file"
fi
#这个题目考察到了Shell的语法格式,以及read、if、test命令。特别test命令可以测试文件状态,可以测
#试数值大小,也可以比较字符串。所以我们以后if、while、for、until所用到条件都会使用到test命令。
#其实shell编程的面试不难,大家加油哈!
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/djbtestingsky/archive/2009/02/20/3915592.aspx
要求分析apache访问日志,找出访问页面数量在前100位的IP数。日志大小在78M左右。以下是apache的访问日志节选,相信大家都不陌生
下面是我个人的shell脚本,虽然实现了,但是效率及其低下,看大家有没有更好的思路。
标签:
it杂谈 |
分类: Bash脚本(Redhat) |
1.有一个文件,里面有二列,第一列ip地址,第二列是时间,同一个ip可能出现多次,但时间不同.
2.假设Apache产生的日志文件为access.log,在Apache正在运行的时候,执行命令mv access.log access.bak
3.在shell环境中,如何查看远程Linux系统运行了多少时间?
4.处理一下文件内容,将域名取出并进行计数排数,如处理:
5.如果得到随机的字串,长度和字串中出现的字符表可定义并将字串倒序显示,如把0123456789作为基准的
6.如何查看当前Linux状态。如cpu使用,内存使用,负载情况等
7.比如,ext2文件系统,如果异常死机,开机如何修复文件系统?
8.如何检查一个进程所使用的文件句柄?
9.查看Apache的进程数。
10.如何统计apache的每秒访问数?
11.说明一下/proc/sys子目录的作用