21、计算a.txt中每行中出现的数字个数并计算一下整个文档中一共出现了几个数字。例如内容如下:
12aa*lkjskdj
alskdflkskdjflkjj
22、写一个shell脚本,先判断一下你linux的版本和bash版本,然后看看是否需要升级,若是升级,则使用yum直接升级,否则输出一条日志,告之不需要升级。参考信息:我们要保证对应版本的CentOS里的bash版本不低于以下版本。假设我们只判断centos5和centos6两种系统。
- Red Hat Enterprise Linux 7 - bash-4.2.45-5.el7_0.2
- Red Hat Enterprise Linux 6 - bash-4.1.2-15.el6_5.1
- Red Hat Enterprise Linux 5 - bash-3.2-33.el5.1
23、写一个脚本,检测你的网络流量,并记录到一个日志里。需要按照如下格式,并且一分钟统计一次:
2014-09-29 10:11
eth0 input: 1000bps
eth0 output : 200000bps
################
2014-09-29 10:12
eth0 input: 1000bps
eth0 output : 200000bps
24、统计当前通过 80 端口建立连接的进程数量
25、统计当前有多少ip 访问量,包括tcp和udp 协议
26、系统负载很高,通过top以及 ps 查看,是因为cron计划任务在运行一个 cleanmem.sh 的脚本,导致很多 sh 命令在运行,写个脚本,杀死所有的 sh 命令。
27、写脚本,判断Linux服务器是否开启了 web 服务,如果开启了,判断跑的是什么服务,httpd? 还是 nginx?或者其他的服务。
28、加入服务器上跑的是 httpd,写个脚本,每分钟检测一次 httpd 服务是否存在,如果不存在,就启动它。
29、创建一个带删除和添加选项的用户的脚本
- 只支持三个选项 ‘--del’ ‘--add’ --help输入其他选项报错。
- 使用‘--add’需要验证用户名是否存在,存在则反馈存在。且不添加。 不存在则创建该用户,切添加与该用户名相同的密码。并且反馈。
- 使用‘--del’ 需要验证用户名是否存在,存在则删除用户及其家目录。不存在则反馈该用户不存在。
- --help 选项反馈出使用方法
- 支持以,分隔   一次删除多个或者添加多个用户。
- 能用echo $?  检测脚本执行情况  成功删除或者添加为0,报错信息为其他数字。
- 能以,分割。一次性添加或者 删除多个用户。  例如 adddel.sh --add user1,user2,user3.......
- 不允许存在明显bug。

30、计算 100 以内能被 3 整除的数的总和。

21、答案
#!/bin/bash
sum=0
for fline in `cat $1`
do
i=`echo -n $fline |sed 's/[^0-9]//g'| wc -m`
echo $i
sum=$[$sum+$i]
done
echo 'sum:'$sum
echo -n do not output the trailing newline  不输出换行符,即在一行显示。
#!/bin/bash
sum=0
for i in `cat a.txt`; do
num=`echo $i|grep -o '[0-9]*'`
len=`expr length "$num"`
echo $len
sum=$[$sum+$len]
done
echo "sum:"$sum
22、答案
#!/bin/bash
#name:check_bash
#author: cityzenoldwang
#check bash version
os_version=`cat /etc/issue |grep release | awk '{print $3}'| awk -F '.' '{print $1}'`
bash_version=`rpm -qa bash | awk -F '-' '{print $2"-"$3}' | cut -c1-14`
echo $os_version
echo $bash_version
case $os_version in
5)
if [ "$bash_version" == "3.2-33.e15.1" ]
then
echo "the bash version is lastest"
else
yum update -y bash
fi
;;
6)
if [ "$bash_version" == "4.1.2-15.e16_5.1" ]
then
echo "the bash version is lastest"
else
yum update -y bash
fi
;;
*)
echo "can not ge the version"
;;
esac
23、 待整理 bc 命令
#! /bin/bash
#monitor average network traffic
#author cityzenoldwang
log=/tmp/netcount.log
while :; do
echo `date +'%F %T'` >> $log
sar -n DEV 1 3 > /tmp/nettraffic.log
receive_packets=`grep 'Average' /tmp/nettraffic.log|grep 'eth0'|awk '{print $5}'`
transmit_packets=`grep 'Average' /tmp/nettraffic.log|grep 'eth0'|awk '{print $6}'`
echo "eth0 input: "`echo "$receive_packets"*8|bc`"Kbps" >> $log
echo "eth0 output: "`echo "$transmit_packets"*8|bc`"Kbps" >> $log
echo "###########################" >> $log
done
24、netstat -an |grep :80 |grep -ic established
25、netstat -anp |egrep 'tcp|ndp' | awk '{print $5}' | wc -l
26、
#! /bin/bash
# auth: Cityzen Wang
# kill all sh command
for pids in `ps -aux |egrep 'clearmem.sh' | awk '{print $2}'`
do
kill -9 $pids 
echo "killed $pid"
done
27、
#! /bin/bash
# name: Cityzen wang
# check web nad service
server=`netstat -lnp |egrep ':80' | awk -F '/' '{print $2}'`
if [ -n "$server" ]
then
    echo "$server is running"
else
    echo "No Web service"
fi
28、
#! /bin/bash
# Check service httpd is running or not, if not, start httpd.
# auth : Cityzen Wang
httpstat=`ps aux |grep httpd|grep -v "grep httpd"`
if [ -n "$httpstat" ]
then
echo "httpd is running"
else
/usr/local/apache2/bin/apachectl start
fi
crontab -e
* * * * * /bin/sh /path/filename.sh
29、有点难
#!/bin/bash
# Script function:
# --add :
#     add user[user2,user3,user4...]
# --del :
#     del user[user2,user3,user4...]
# --help:
#     help info
# Writen by Wangxiaoqiang 2014.11.24.
add_user(){
grep ${key[$i]} /etc/passwd > /dev/null
if [ $? -eq 0 ]
then
echo "User '${key[$i]}' is exist."
else
useradd ${key[$i]} > /dev/null
echo $1 | passwd --stdin ${key[$i]} > /dev/null
echo "Create User '${key[$i]}' Success."
fi
}
del_user(){
grep ${key[$i]} /etc/passwd > /dev/null
if [ $? -eq 0 ]
then
userdel -r ${key[$i]}
echo "Delete user '${key[$i]}' Success."
else
echo "User '${key[$i]}' does not exist."
fi
}
help_user(){
echo "--add
Add a user or multiple users,[user1,user2,user3...]"
echo "--del
Del a user or multiple users,[user1,user2,user3...]"
echo "--help
Help information"
echo "--version 1.1
Writen by Wangxiaoqiag 2014-11-24.
Thanks"
}
if [ $# -eq 0 ]
then
echo "Usage: $0 [--add|--del|--help] [user1,user2,user3...]"
exit 1
fi
case $1 in
--add)
if [ $# -eq 1 ]
then
echo "Please input username."
exit 2
else
key=(`echo $* | sed 's/,/ /g'`)
length=${#key[@]}
for ((i=1;i<$length;i++))
{
add_user ${key[$i]}
}
fi
;;
--del)
if [ $# -eq 1 ]
then
echo "Please input username."
exit 2
else
key=(`echo $* | sed 's/,/ /g'`)
length=${#key[@]}
for ((i=1;i<$length;i++))
{
del_user ${key[$i]}
}
fi
;;
--help)
if [ $# -eq 1 ]
then
clear
help_user
else
echo "Please input $0 --help"
fi
;;
*)
echo "Usage: $0 [--add|--del|--help] [user1,user2,user3...]"
;;
esac
30、
#!/bin/bash
# Test script.
# Writen by Wangxiaoqiang 2014-11-24.
SUM=0
for i in `seq 1 100`
do
if [ `expr $i % 3` -eq 0 ]
then
SUM=$(expr $i \+ $SUM)
fi
done
echo $SUM
# End

Shell 练习题 21—30,内附答案相关推荐

  1. java web试题_Java web开发经典面试题汇总(内附答案详解)

    原标题:Java web开发经典面试题汇总(内附答案详解) 1.说出Servlet 的生命周期,并说出Servlet 和CGI 的区别? 答:Web 容器加载Servlet 并将其实例化后,Servl ...

  2. 计算机组装与维修问答题答案,计算机组装与维修试题精选(内附答案).doc

    计算机组装与维修试题精选(内附答案).doc 计算机组装与维修试题精选? 一.?填空题?? 1.一个完整的计算机系统是由(?)和(?)两部分组成的. 2.?冯·诺依曼结构计算机主要有(?).(?).( ...

  3. 化学中计算机模拟试题,高三期中化学考试试题(内附答案)

    高三期中化学考试试题(内附答案) 为了帮助大家巩固化学知识点,百分网小编为大家准备了一套高三期中化学考试试题,内附答案,欢迎大家阅读参考,更多内容请关注应届毕业生网! 可能用到的原子量::H-1 O- ...

  4. Shell 练习题 31-40题,内附答案

    31-40题 31.写一个交互脚本,直接运行脚本,出现提示,选择一个数字:1:重启 httpd 服务,2:重启 mysqld 服务 3:重启vsftpd服务,加选项--httpd重启 httpd 服务 ...

  5. 软件测试面试,秋招你准备好了吗?(内附答案)

    一直以来大大小小参与过不少面试,遇到过不少坑,但是没来的及好好总结汇总下.现在把之前遇到的问题汇总下,希望以后自己能加深印象. 1.appium 怎么定位toast弹框 appium1.6以后回答需要 ...

  6. 携程测试经理网盘爆出面试题!!!【内附答案】

    这将有助于行业新人,以及想要切换当前工作的测试专业人士!!! 首先,你需要了解有关软件测试的内容! 第一个基本的东西 - 测试概念:你需要非常擅长这一点,特别是手动测试方法.但只知道不同的测试概念只完 ...

  7. SQL练习题(一) 附答案

    表数据以及题 CREATE DATABASE db1; USE db1;-- 班级表 CREATE TABLE class (cid INT(11) NOT NULL AUTO_INCREMENT,c ...

  8. 软件测试面试题,精选100 道,内附答案

    精挑细选,整理了100道软件测试面试题,都是非常常见的面试题,篇幅较长,所以只放出了题目,答案在评论区! 测试技术面试题 1.什么是兼容性测试?兼容性测试侧重哪些方面? 2.我现在有个程序,发现在 W ...

  9. c语言机考答案,全国计算机等级考试C语言上机试题题库(内附答案)

    程序填空题(也叫填空题)参考答案: 1.(1)double(2)f1(3)f2 2.(1)struct student(2)n-1(3)a[i].name,a[j].name 3.(1)0(2)x[i ...

  10. 软件测试面试官都问些啥?(内附答案)

    转眼2021年招聘季已将到来,没点真本事真技术,没点面试经验,不了解点职场套路,如何过五关斩六将?如何打败面试官?如何拿下那梦寐以求的offer? 如果你的跳槽意向已经很确定,那么请往下看! 跳槽最重 ...

最新文章

  1. missing LSB tags and overrides
  2. 【错误记录】Android Studio 编译报错 ( Gradle 下载错误导致 Failed to open zip file 报错 )
  3. 慎用MySQL replace语句
  4. 5G 是否有过度承诺之嫌?
  5. shell脚本执行冲突事件-sshwhile
  6. Educational Codeforces Round 52: D. Three Pieces(记忆化搜索)
  7. 机器学习----朴素贝叶斯详解
  8. iOS 视频播放器开发(一)
  9. openwrt MT7621 支持512M内存
  10. Is your horseshoe on the other hoof?
  11. 关于神经网络中的shape问题
  12. MODBUS CRC16 工具类
  13. 为什么项目验收前的总是非常忙乱?
  14. BreederDAO 直播AMA 1:与创始人会面回顾
  15. VCollab—大数据轻量化、可视化工具
  16. 养老院人员定位系统包含室内人员定位,老人防跌倒报警系统-新导智能
  17. 什么是字长(百度百科)
  18. Photoshop:将白色背景转换成透明背景+三原色叠加
  19. 局域网传输工具需求分析
  20. Hadoop学习篇(一)——初识Hadoop Hadoop单机配置

热门文章

  1. php-fpm 讲解
  2. 施一公:如何提高专业英文文献阅读能力?
  3. Layui文件下载(VIP典藏版)
  4. matlab飞思卡尔工具包,IMX6开发板飞思卡尔系统烧写工具MFGTool2工具详解-迅为电子...
  5. 【Winform-右下角弹窗】实现右下角弹窗,提示信息
  6. 备份jar包的一些坑
  7. 0xl c语言中003是整形常量,整型常量
  8. k8s+docker集群整合搭建(完整版)
  9. 电脑技巧:Win10操作系统关闭这几个功能,可以大幅度提升电脑的运行速度
  10. 当当当~他来喽CCRC-PIP个人信息保护专业人员