`
tianyihuyidao9
  • 浏览: 159258 次
  • 性别: Icon_minigender_1
  • 来自: 济南
文章分类
社区版块
存档分类
最新评论

shell脚本试题

 
阅读更多
1.从 a.log 文件中提取包含“WARNING”或”FATAL”,同时不包含“IGNOR”的行,然后,提取以“:”分割的第五个字段?

grep -E 'WARNING|FATAL' a.log | grep-v'IGNOR' | awk -F : '{print $5 }'

2.添加一个新组为class01,然后,添加属于这个组的30个用户,用户名的形式为stdXX,其中,XX从 01到 30?

#!/bin/bash
groupadd class01
for((i=1;i<=9;i++))
do
    useradd std0$i -G class01
done

for((i=10;i<=30;i++))
do
    useradd std$i -G class01
done

3.在每个月的第一天备份并压缩/etc目录下的所有内容,存放在/root/backup目录里,且文件名为如下形式yymmdd_etc,yy为年,mm为月,dd为日。shell程序 fileback存放在/usr/bin 目录下?
tar -zcf /root/backup/`date+%y%m%d`_etc /etc
4.用shell编程,判断一文件是不是字符设备文件,如果是将其拷贝到/dev目录下?
#!/bin/bash
if test$# -ne1
then
    echo "ERROR"
    exit 1
fi
if test -c $1
then
    /bin/cp -a $1 /dev/
    exit0
fi
exit 1

5.某系统管理员需要每天做一定的重复工作,编制一个解决方案:
(1).从下午 4:50 删除/abc 目录下的全部子目录和全部文件;
(2).从早上 8:00~下午 6:00每小时读取/xyz目录下x1 文件中每行第一个域的全部数据加入到/backup目录下的 back01.txt文件内;
(3).每逢周一下午 5:50 将/data目录下的所有目录和文件归档并压缩为文件backup.tar.gz;
(4).在下午 5:55 将IDE接口的CD-ROM缷载(假设CD-ROM的设备名为 hdc);
(5).在早上 8:00 开机后启动。

使用计划任务来完成:
crontab-e
-----------------------
50 16 * * * rm-rf/abc/*
00 08-18 * * * awk '{print$1 }' /xyz/x1 >> /backup/back01.txt
50 17 * * 01 tar-zcf/backup/backup.tar.gz /data
55 17 * * * umount/dev/hdc
-----------------------
设定BIOS每日上午 08:00开机。


.有一个文件,里面有二列,第一列ip地址,第二列是时间,同一个ip可能出现多次,但时间不同.
   文件类似下面的样子:
              192.168.1.2              13:10
              192.127.12.1             13.11
              192.168.1.2              14:22
   现要求写一脚本,显示出现最多的ip top 10
          awk '{print $1}' file|sort|uniq -c|sort -nr|head -10
2.假设Apache产生的日志文件为access.log,在Apache正在运行的时候,执行命令mv access.log access.bak
  ,执行完毕后,请问新的apache日志会打印到那里?为什么?
   答: 新的日志会打印在access.bak中. 因为apache启动时,会找到access.log文件,随时准备向文件中追
       加日志,虽然此时文件被改名,但是由于服务正在运行,因为它的inode节点的位置没有变,程序打开的
       fd仍然会指向原来的那个inode.不会因为文件名的改变而改变,但若重启服务器之后,系统就会检查
       access.log文件是否存在,不存在,则创建.
3.在shell环境中,如何查看远程Linux系统运行了多少时间?
       ssh user@被监控的主机ip "uptime"|awk '{print $3,$4}'
4.处理一下文件内容,将域名取出并进行计数排数,如处理:
        http://www.baidu.com/index.html
        http://ww.baidu.com/1.html
        http://www.baidu.com/2.html
        http://post.baidu.com/index.html
        http://mp3.baidu.com/index.html
        http://www.baidu.com/3.html
        http://post.baidu.com/2.html
   得到如下结果:域名的出现次数,域名
                4     www.baidu.com
                2     post.baidu.com
                1     mp3.baidu.com
   shell程序如下:
        方法一: #cat file|sed -e 's/http:\/\///' -e 's/\/.*//'|sort|uniq -c|sort -nr|head -10
        方法二: #awk -F/  '{print $3}' file|sort -r|uniq -c|awk '{print $1 "\t",$2}'
5.如果得到随机的字串,长度和字串中出现的字符表可定义并将字串倒序显示,如把0123456789作为基准的
  字串字符表,产生一个6位的字串642031,打印出的字符串为130246,可使用bash/perl/php/c任一种。
          bash程序如下:
             #awk -v count=6 'BEGIN {srand();str="0123456789";len=length(str);for(i=count;i>0;
                     i--)marry[i]=substr(str,int(rand()*len),1);for(i=count;i>0;i--)printf(
                     "%c",marry[i]);printf("\n");for(i=0;i<=count;i++)printf("%c",marry[i]);
                     printf("\n")}'
             输出结果:838705
                       507838
6.如何查看当前Linux状态。如cpu使用,内存使用,负载情况等
      答:linux 中,"/proc"是个伪文件目录,不占用系统空间,及时反应出内存现在使用的进程情况
          其中许多文件都保存系统运行状态和相关信息。
          对于/proc可以浏览其文件内容:
              cpuinfo                   主机cpu信息
              filesystems               文件系统信息
              meninfo                   主机内存信息
              version                   Linux版本信息
              diskstatus                磁盘负载情况
           另外top命令可以动态的显示出当前系统进程用户的使用情况,free命令可以查看内存信息
           ps 查看进程情况。
7.比如,ext2文件系统,如果异常死机,开机如何修复文件系统?
       答: 如果异常死机,如断电,通知机房的人开机之后,我们需要远程修复,检查文件系统。除了
            / 分区之外,其他分区:umount /home
                                  fsck -y /home
            / 分区需要开机之后由机房人员检查。随后我们登录并扫描/home分区
8.如何检查一个进程所使用的文件句柄?
       答:看这里面/proc/进程号/fd/ 的文件个数就行了
9.查看Apache的进程数。
        # ps -ef|grep httpd|wc -l
10.如何统计apache的每秒访问数?
        tail access_log|awk '{print $1,$4}'
       其中文件在:/etc/httpd/access_log
11.说明一下/proc/sys子目录的作用
        答:该子目录的作用是报告各种不同的内核参数,并让你能交互的更改其中某些。与/proc中所有
            其他文件不同,该目录中的某些文件可以写入,不过针对root。一下是该子目录的两个最常见
            的用途:
           (1)允许路由:即便是Mandrakelinux 默认的内核也是允许路由的。你必须显式允许它这么做
                为此:#echo 1 >/proc/sys/net/ipv4/ip_forward.
                如果您要禁用,则让上述1改为0
           (2)阻止ip欺骗:ip欺骗会让人认为某个来自于外部的某个数据包来自于它到达的那个接口,
                这一技术常被crack利用。你可以阻止这种入侵:
                      #echo 1 >/proc/sys/net/ipv4/conf/all/rp_filter.
                这次改变仅由系统运行时有效,系统重启后,会改变为默认值。你可以将以上命令添加到
                /etc/rc.d/rc.local中,启动就会运行。另一方法:修改/etc/sysctl.conf


写一个登录shell文件,输入6次错误的用户名或密码不能登录,输入xxx用户,xxx密码登录成功

shell脚本

#!/bin/bash
flag=0;
for ((i=1;i<7;i++))
do
        echo -n "please input your name:";
        read username;
        echo -n "please input your password:";
        read password;
        echo -n "your name is "
        echo $username
        echo -n "your password is ";
        echo $password;
        if [ $username = "user" -a $password = "pswd" ]
        then
                echo "login success!";
                flag=1;
                break;
        fi
        echo "your name or password wrong! Try it again.";
done

if [ "$flag" -eq "0" ]
then
        echo "you have tried 6 times.login fail!"
fi
分享到:
评论

相关推荐

    LinuxShell脚本学习基础视频

    资源名称:Linux Shell脚本学习基础视频资源目录:【】11a00d99b60c4e2eba3440b8aa3a6bdd【】linux_shell脚本编程_01认识shell,如何编写shell脚本和执行【】linux_shell脚本编程_02vivim简单的常用操作【】linux_...

    Shell脚本中获取进程ID的方法

    我该如何在shell脚本中得到PID。 当我在执行shell脚本时,它会启动一个叫子shell的进程。作为主shell的子进程,子shell将shell脚本中的命令作为批处理运行(因此称为“批处理进程”)。 在某些情况下,你也许想要...

    shell 脚本shell 脚本shell 脚本

    shell 脚本shell 脚本shell 脚本shell 脚本shell 脚本shell 脚本shell 脚本shell 脚本shell 脚本shell 脚本shell 脚本

    Linux_shell脚本全面学习

    Linux_shell脚本全面学习 Linux_shell脚本全面学习

    250个shell脚本

    Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合。 Shell可以直接使用在win/Unix/Linux上面,并且可以调用大量系统内部的功能来...

    shell脚本写的加密脚本

    学习shell脚本,了解linux知识。

    Shell脚本编程100例

    Shell脚本编程100例。 融汇 shell 脚本知识点,集大成之作。 本书实在是学习、进修、面试、居家旅行必备精品!

    python编写shell脚本

    python编写shell脚本python编写shell脚本python编写shell脚本python编写shell脚本python编写shell脚本python编写shell脚本python编写shell脚本python编写shell脚本python编写shell脚本python编写shell脚本

    Shell脚本专家指南

    Shell脚本专家指南》旨在为Linux、Unix以及OSx系统管理员提供短小精悍且功能强大的shell实现解决方案,教会读者如何使用现有调试器调试shell脚本。全书分为3个部分:脚本技术基础、系统交互和高级技术、有用的脚本...

    109个shell脚本合集.pdf

    109个shell脚本合集.pdf

    shell脚本shell脚本shell脚本

    shell脚本shell脚本shell脚本

    Linux-shell脚本全面学习.pdf

    Linux-shell脚本全面学习.pdf

    shell 脚本 实例 shell 脚本 实例

    参考shell脚本实例.rar参考shell脚本实例.ra参考shell脚本实例.rarr

    提高cpu利用率的shell脚本

    需要提高cpu利用率的shell脚本

    输出执行操作和打印日志的shell脚本实例

    cat /mnt/log_function.sh #!/bin/bash #log function ####log_correct函数打印正确的输出到日志文件 function log_correct () { DATE=`date “+%Y-%m-%d %H:%M:%S”` ####显示打印日志的时间...log_error打印shell脚本

    Linux 命令与Shell 脚本编程pdf书籍

    Linux命令与shell 脚本大全,内容丰富,包含了shell脚本的技术命令 以及大量的实践内容

    IDEA中编写并运行shell脚本的实现

    主要介绍了IDEA中编写并运行shell脚本的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    linux下shell脚本实现数据的导出

    第一次接触linux系统,之前写的数据导出不好使了。...找了好多资料,最后决定写个shell脚本;没接触过shell脚本,网上大部分例子都写的挺复杂的;贴个简单的,不带传参什么的;只是最简单的数据表的导出备份

    shell脚本生成.txt数据文件

    shell脚本生成.txt数据文件,shell脚本生成.txt数据文件

Global site tag (gtag.js) - Google Analytics