`
tianyihuyidao9
  • 浏览: 165840 次
  • 性别: 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
分享到:
评论

相关推荐

    shell编程题目练习

    shell编程题目练习,练习基本的shell编程,学习脚本语言,提高效率

    SHELL试题(码农的欧洲杯:欢迎各路神仙和高手挑战!)(转发)

    在这场“码农的欧洲杯”中,参赛者可能需要解决一系列与Shell脚本编写相关的难题,以展示他们的技术水平和创新能力。 【描述】:描述中提到的“NULL”表明没有提供具体的博客内容摘要,因此我们需要通过博文链接...

    基于Shell的力扣试题解答设计源码

    它的核心在于使用Shell脚本语言来创建一个便捷的工具,这个工具能够对力扣平台上的试题进行高效地管理和解答。Shell脚本作为操作系统中的命令解释器,可以自动化执行一系列命令,对于处理文件、文本和数据非常有用,...

    技能大赛试题:linux 批量创建用户脚本

    技能大赛试题中的“Linux批量创建用户脚本文档”就是针对这一需求设计的,旨在测试参赛者对Linux用户管理和Shell脚本编写的掌握程度。 #### 二、关键知识点解析 ##### 1. Linux用户管理基础 - **useradd命令**:...

    shell编程案例最新版期末考试题.docx

    下面将详细解释提供的几个Shell脚本案例中的知识点。 1. **查找大文件并统计** 这个脚本使用`find`命令来查找当前目录下大小超过500MB(512000K)的所有文件,并将它们的名称追加到`new`文件中。同时,它还计算了...

    shell编程案例最新版期末考试题.pdf

    Shell脚本可以进行基本的算术运算。这里,`expr`命令用于执行减法操作。如果传递给脚本的参数不等于2,它会提示用户输入两个数字。然后,`expr`命令根据这些输入执行减法,并将结果打印出来。 4. **批量修改文件...

    shell编程案例_最新版期末考试题.pdf

    Shell编程是Linux/Unix系统中用于自动化任务和交互式操作的一种强大工具。它允许用户通过编写脚本来...在编写Shell脚本时,需要注意变量的正确引用、条件判断的准确性以及错误处理等方面,确保脚本的稳定性和可靠性。

    Linux基础试题及答案.docx

    * Linux shell 编程是通过 shell 脚本实现自动化任务 * shell 脚本的基本结构包括头部、变量、命令、控制结构等 * shell 脚本的应用场景非常广泛,包括系统管理、数据处理、自动化任务等 六、Linux 问题解答 * ...

    linux实训试题

    在本试题中,我们可以看到,shell程序设计需要使用bash shell,并且需要编写正确的shell脚本。 Linux实训试题涵盖了Linux操作系统的安装、配置、磁盘配额管理、目录和文件操作、shell程序设计等多方面的知识点。...

    NIIT第一模块试题集合

    以上是NIIT第一模块的部分知识点,主要涉及操作系统原理、Linux使用、文件管理、权限控制以及基本的Shell脚本编写。这些知识点对于理解和操作Linux系统至关重要,也是IT入门学习的基础内容。通过熟悉和掌握这些知识...

    Linux经典试题(二)

    此外,还涉及了常用的shell内置命令,如echo、read、source和alias,以及如何编写和执行shell脚本。 **chap08.pdf - 用户与用户组管理** 这一章讲解了Linux系统中的用户和用户组管理。讨论了如何使用adduser/...

    基于Java的试题生成与展示系统设计源码

    Shell脚本(7个)则可能用于后端的自动化部署和管理任务,提高了部署效率和系统的可维护性。 此外,系统中还包含了批处理脚本文件(7个),它们可能用于简单的命令行操作,如自动化测试和项目构建。YAML配置文件(5...

    Linux实战型企业运维工程师试题测评 433页

    最后,文档还提到了一些实际操作中可能遇到的细节问题,如TOMCAT启动脚本在定时任务中无法执行等,这需要运维工程师对系统工作原理和Shell脚本编程有较深的理解和经验积累。通过编写和调试Shell脚本,运维工程师可以...

    Linux期末考试试题4答案共5页.pdf.zip

    通常,这样的资料会涵盖Linux操作系统的基础知识、命令行操作、文件系统管理、用户权限、进程控制、网络配置、Shell脚本编写等多个方面。下面我会详细讲解这些可能出现在考试中的知识点。 1. **Linux基础知识**:...

    Linux操作系统试题

    编写一个反转字符串的Shell脚本,空缺部分填写如下: ```bash #!/bin/bash echo "Enter a String:" read str len=$(echo "$str" | wc -c) # 第一个空:str # 第二个空:$len # 第三个空:$str while test $len -ne 0...

    Linux程序设计2011-2012期末试题部分答案 小东编辑.pdf

    Linux程序设计涉及的知识点广泛,包括操作系统基础、进程管理、文件系统、shell脚本编写、命令行工具使用、网络通信以及错误处理等。以下是对题目中提到的一些关键知识点的详细解释: 1. 文件i结点:在Linux系统中...

    Linux的几套试题及答案

    - **A:** Shell脚本是使用Shell语言编写的可执行文本文件,用于自动化任务。通过添加`#!/bin/bash`作为首行指定Shell类型,然后编写命令和逻辑。 10. **系统日志** - **Q:** Linux系统日志存储在哪里?如何查看?...

    嵌入式Linux-期末考试题含答案.doc

    传递给 Shell 脚本的位置参数只有前 9 个可以被访问,为了访问第 9 个位置参数以后的参数,可以使用命令 shift。 Shell 不仅是用户命令的解释器,同时也是一种功能强大的编程语言,是 Linux 缺省的 shell。

    Linux基础试题及答案.pdf

    bash shell 脚本的第一行通常是 `#!/bin/bash`,它指定了该脚本的解释器。 ### 标准输出重定向 使用 `&gt;` 运算符可以将标准输出重定向到文件中,例如 `command &gt; file` 将命令的输出重定向到 file 文件中。 ### ...

    南京大学《Linux》期末试题.pdf

    南京大学的《Linux》期末试题通常会涵盖操作系统基础、Linux内核原理、用户管理、文件系统、Shell脚本编程、进程管理、网络配置、设备管理等多个方面。以下是一些可能出现在试题中的关键知识点: 1. **Linux操作...

Global site tag (gtag.js) - Google Analytics