几道shell面试题及答案

简介:

企业面试题1:

已知下面的字符串是通过RANDOM随机数变量md5sum|cut-c 1-8截取后的结果,请破解这些字符串对应的md5sum前的RANDOM对应数字?

21029299

00205d1c

a3da1677

1f6d12dd

890684b

    解题思路:通过每次传递一个参数的方式,来实现依次破解

              $RANDOM的范围为0-32767

1
2
3
4
5
6
7
8
9
10
11
12
13
         #!/bin/bash
         #Author: liuwei
         #Site: www.51liuzw.com
         for  in  {0..32767}
         do
             MD5=` echo  $n | md5sum |  cut  -c 1-8`
             if  "$MD5"  ==  "$1"  ]; then
                 echo  "$n is."
                 exit
             else
                 echo  "$n no."
             fi
         done

     注:也可以通过定义数组的方法,来一次全部对比

         

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
         #!/bin/bash    
         #Author: liuwei
         #Site: www.51liuzw.com
         array=(
                 00205d1c
                 21029299
                 a3da1677
                 1f6d12dd
                 890684b
         )
         for  in  {0..32767}
         do
                 MD5=` echo  $n | md5sum |  cut  -c 1-8`
                 for  in  ${array[@]}; do
                         if  "$MD5"  ==  "$i"  ]; then
                                 echo  "$n and $i"  >> c.log
                                 break
                         else
                                 echo  "$n no."
                         fi
                 done
         done

          #cat c.log 

         1346 and 00205d1c

         7041 and 1f6d12dd

         25345 and a3da1677

         25667 and 21029299



企业面试题2:批量检查多个网站地址是否正常 

要求:shell数组方法实现,检测策略尽量模拟用户访问思路

http://www.baidu.com

http://www.taobao.com

http://www.51liuzw.com

http://192.168.50.199

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/bin/bash
#Author: liuwei
#Site: www.51liuzw.com
array=(
http: //www .baidu.com
http: //www .taobao.com
http: //www .51liuzw.com
http: //192 .168.50.199
)
for  in  ${array[*]}; do
         URL=`curl -I -m 2 $n 2>  /dev/null  egrep  "200|302"  wc  -l`
         if  "$URL"  - eq  1 ]; then
                 echo  "$n is OK"
         else
                 echo  "$n is not OK"
         fi
done

结果:

    #sh test.sh

    http://www.baidu.com is OK

    http://www.taobao.com is OK

    http://www.51liuzw.com is not OK

    http://192.168.50.199 is not OK


企业面试题3::用shell处理以下内容

1、按单词出现频率降序排序!

2、按字母出现频率降序排序!

the squid project provides a number of resources toassist users design,implement and support squid installations. Please browsethe documentation and support sections for more infomation

    1.按单词出现频率降序排序!

        解决思路:把空格换为换行符,并排序统计   

1
       #sed 's# #\n#g' c.txt | sort | uniq -c

    2.按字母出现频率降序排序!

        解决思路:使用grep -o "\w",把单词拆开并去除种各符号

1
       #cat c.txt | grep -o "\w" | sort | uniq -c


        

本文转自激情燃烧的岁月博客51CTO博客,原文链接http://blog.51cto.com/liuzhengwei521/1773814如需转载请自行联系原作者

weilovepan520


相关文章
|
7月前
|
Shell Linux 应用服务中间件
ABAP 面试题:如何使用 ABAP 编程语言的 System CALL 接口,直接执行 ABAP 服务器所在操作系统的 shell 命令?
ABAP 面试题:如何使用 ABAP 编程语言的 System CALL 接口,直接执行 ABAP 服务器所在操作系统的 shell 命令?
107 0
|
监控 关系型数据库 MySQL
shell面试中的常见试题
shell面试中的常见试题
|
Linux Shell
热饭面试复习:【linux shell 相关】面试常问的复合复杂语句命令
热饭面试复习:【linux shell 相关】面试常问的复合复杂语句命令
|
Linux Shell
热饭面试复习:【linux shell 相关】-7
热饭面试复习:【linux shell 相关】-7
|
Linux Shell
热饭面试复习:【linux shell 相关】- 1
热饭面试复习:【linux shell 相关】- 1
|
Shell Linux 云计算
Shell脚本常见面试题
  Shell脚本面试题,虽然现在Python在运维工作中已经使用很普遍,但是很多企业在找Linux云计算工程师的时候还是会问到shell脚本的问题,它有助于你在工作环境中自动完成很多任务。今天为Linux云计算工程师准备了一些shell脚本面试题一起看看吧。
2594 0
|
监控 Shell Linux
企业面试 shell 入门脚本试题
楔子最近喜欢上了脚本所以重头学习一下也巩固一下自己。 简单的日志清空 注意!这是测试环境可以随便清空。 cd /var/logcat /dev/null>messagesecho "Logs cleaned up.
938 0
|
监控 Java Shell
10 个实战及面试常用 Shell 脚本编写
注意事项 1)开头加解释器:#!/bin/bash 2)语法缩进,使用四个空格;多加注释说明。 3)命名建议规则:变量名大写、局部变量小写,函数名小写,名字体现出实际作用。
1234 0