(转)2017年最新企业面试题之shell(一,二)
2017年最新企业面试题之shell(一)
**********************************************
企业Shell面试题1:批量生成随机字符文件名案例 *
**********************************************
使用for循环在/oldboy目录下批量创建10个html文件,其中每个文件需要包含10个随机小写字母加固定字符串oldboy,名称示例如下:
|
1
2
3
4
5
|
[root@oldgirl C19]# ls /oldboyapquvdpqbk_oldboy.html mpyogpsmwj_oldboy.html txynzwofgg_oldboy.htmlbmqiwhfpgv_oldboy.html mtrzobsprf_oldboy.html vjxmlflawa_oldboy.htmljhjdcjnjxc_oldboy.html qeztkkmewn_oldboy.htmljpvirsnjld_oldboy.html ruscyxwxai_oldboy.html |
解答:
脚本内容如下:(for循环实现脚本)
|
1
2
3
4
5
6
7
8
|
#!/bin/bash#date=2017-8-3cd /oldboyfor (( i=0;i<10;i++ ))do r=` head -c 500 /dev/urandom|tr -dc [a-z]|head -c 10|sed -r 's#[^a-z]#m#g'` touch "$r"_oldboy.htmldone |
说明:

脚本执行结果如下:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
[root@ceshiji oldboy]# ll总用量 8-rw-r--r-- 1 root root 0 8月 3 13:35 defozmpplm_oldboy.html-rw-r--r-- 1 root root 175 8月 3 13:35 for.sh-rw-r--r-- 1 root root 0 8月 3 13:35 fpwxukgqho_oldboy.html-rw-r--r-- 1 root root 0 8月 3 13:35 gwtwtmdwaf_oldboy.html-rw-r--r-- 1 root root 0 8月 3 13:35 htttummyjh_oldboy.html-rw-r--r-- 1 root root 0 8月 3 13:35 myqmgyixuj_oldboy.html-rw-r--r-- 1 root root 0 8月 3 13:35 rmsyxakjbx_oldboy.html-rw-r--r-- 1 root root 0 8月 3 13:35 sxarorojil_oldboy.html-rw-r--r-- 1 root root 0 8月 3 13:35 wfqaymdmxc_oldboy.html-rw-r--r-- 1 root root 184 8月 3 13:32 while.sh-rw-r--r-- 1 root root 0 8月 3 13:35 yvgviwswze_oldboy.html-rw-r--r-- 1 root root 0 8月 3 13:35 zhikoyxipv_oldboy.html |
脚本内容如下:(while循环实现脚本)
|
1
2
3
4
5
6
7
8
9
10
|
#!/bin/bash#date=2017-8-3cd /oldboyi=0while (( i<10 ))do r=` head -c 500 /dev/urandom|tr -dc [a-z]|head -c 10|sed -r 's#[^a-z]#m#g'` touch "$r"_oldboy.html ((i++))done |
说明:

脚本执行结果如下:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
[root@ceshiji oldboy]# ll总用量 4-rw-r--r-- 1 root root 0 8月 3 13:28 atncjmfwtd_oldboy.html-rw-r--r-- 1 root root 0 8月 3 13:28 bmbhdhvqmb_oldboy.html-rw-r--r-- 1 root root 0 8月 3 13:28 bmuqvcehgc_oldboy.html-rw-r--r-- 1 root root 0 8月 3 13:28 irfrxjjmny_oldboy.html-rw-r--r-- 1 root root 0 8月 3 13:28 mvprsmwvah_oldboy.html-rw-r--r-- 1 root root 0 8月 3 13:28 nxyfjkvekl_oldboy.html-rw-r--r-- 1 root root 0 8月 3 13:28 omqyxuykgq_oldboy.html-rw-r--r-- 1 root root 0 8月 3 13:28 smkxwfjepd_oldboy.html-rw-r--r-- 1 root root 184 8月 3 13:28 while.sh-rw-r--r-- 1 root root 0 8月 3 13:28 wkwmkktdcn_oldboy.html-rw-r--r-- 1 root root 0 8月 3 13:28 xtznpcuxem_oldboy.html |
************************************
企业Shell面试题2:批量改名特殊案例 *
************************************
将以上面试题1中结果文件名中的oldboy字符串全部改成oldgirl(最好用for循环实现),并且将扩展名html全部改成大写。
解答:
for循环实现脚本如下:
|
1
2
3
4
5
6
7
|
#!/bin/bash#date=2017-8-3cd /oldboyfor i in `ls|grep .*html`do mv $i `echo $i|sed -r 's#(.*)_oldboy.html#\1_oldgirl.HTML#'`done |
说明:


脚本执行结果如下:
|
1
2
3
4
5
6
7
8
9
10
11
|
[root@ceshiji oldboy]# sh for2.shahqrvgmewi_oldgirl.HTMLcekphjpxmf_oldgirl.HTMLfodvkohejd_oldgirl.HTMLllymsvwhim_oldgirl.HTMLmejlzbfmna_oldgirl.HTMLmxqrnbgmnt_oldgirl.HTMLpkviyuhrum_oldgirl.HTMLshmmlxzkdu_oldgirl.HTMLwmgokfirna_oldgirl.HTMLwmmknomcmy_oldgirl.HTML |
其他方法参考:http://wutengfei.blog.51cto.com/10942117/1951146
********************************************
企业Shell面试题3:批量创建特殊要求用户案例 *
********************************************
批量创建10个系统帐号oldboy01-oldboy10并设置密码(密码为随机数,要求字符和数字等混合)。
不用for循环的实现思路:http://user.qzone.qq.com/49000448/blog/1422183723
解答:
|
1
2
3
4
5
6
7
|
#!/bin/bash#date=2018-8-3for i in `seq -w 1 10`do useradd oldboy$i -M echo "`openssl rand -base64 8`"|passwd --stdin oldboy$idone |
说明:


2017年最新企业面试题之shell(二)
练习题1:写一个shell脚本,将192.169.5.0/24网段在线的ip列出来。(找出活动ip)
要求如下:
1.将在线ip与不在线ip分别放在两个文件中,方便后期查阅;
2.不影响对当前终端进行操作;
3.脚本运行结束后,给予提示信息,表明脚本已经运行结束。
脚本内容如下:
方法一:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#!/bin/bash[ -f /etc/init.d/functions ] && . /etc/init.d/functions||exit1# 验证系统函数文件是否存在,如存在则调用系统函数,否则退出!ips="192.169.5."for i in $(seq 254)doping -c 2 $ips$i >/dev/null 2>/dev/nullif [ "$?" == "0" ]then echo "echo $ips$i is online" >>/root/ip_online.txtelse echo "echo $ips$i is not online" >>/root/ip_noline.txtfidoneif [ "$ips$i" != "192.169.5.255" ];then action "shell脚本执行完毕!" /bin/truefi |
方法二:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#!/bin/bash[ -f /etc/init.d/functions ] && . /etc/init.d/functions||exit1 # 验证系统函数文件是否存在,如存在则调用系统函数,否则退出!for ip in $(cat /root/ip.txt)doping -c 2 $ip >/dev/null 2>/dev/nullif [ "$?" == "0" ]then echo "echo $ip is online" >>/root/ip_online.txtelse echo "echo $ip is not online" >>/root/ip_noline.txtfidoneif [ "$ip" != "192.169.5.255" ];then action "shell脚本执行完毕!" /bin/truefi |
说明:
(1)如果脚本名字 ip_online.sh ,则执行脚本时为不影响当前终端的使用,使用 sh ip_online.sh &命令执行。
(2)不建议使用方法二,因为编辑/root/ip.txt文件太浪费时间。
本文出自 “圣骑士控魔之手” 博客,请务必保留此出处http://wutengfei.blog.51cto.com/10942117/1961226
(转)2017年最新企业面试题之shell(一,二)的更多相关文章
- 2016最新Java笔试题集锦
更新时间:2015-08-13 来源:网络 投诉删除 [看准网(Kanzhun.com)]笔试题目频道小编搜集的范文“2016最新Java笔试题集锦”,供大家阅读参考, ...
- 2018年最新Java面试题及答案整理(持续完善中…)
2018年最新Java面试题及答案整理(持续完善中…) 基础篇 基本功 面向对象特征 封装,继承,多态和抽象 封装封装给对象提供了隐藏内部特性和行为的能力.对象提供一些能被其他对象访问的方法来改变它内 ...
- 2017年最新15个漂亮的 HTML 摄影网站模板
摄影是一门艺术,它需要大量的耐心和努力工作来捕捉那些精彩的瞬间.如果你是一位热情的摄影师,想要建立一个网站来展示那些高质量的摄影作品,那么你找对地方了.本文包含15个最佳的摄影网站模板,你可以使用这些 ...
- 2017年最新基于Bootstrap 4 的专业、多用途响应式布局的系统模板
本文分享一款2017年最新的2017年最新基于Bootstrap 4 的专业.多用途响应式布局的系统模板,该模板是一款强大并且非常灵活的后台管理系统模板:能适应绝大多数的web应用程序开发,比如:AP ...
- Shell企业案例实战和企业面试题
shell企业面试题 1.批量创建带有随机小写字符文件程序 使用for循环在/pizza目录下创建10个html文件,其中每个文件包含10个随机小写字母加固定字母_pizza 1.思路分析: 核心是: ...
- (转)linux运维必会MySQL企业面试题
linux运维必会MySQL企业面试题 老男孩教育运维班全体学员MySQL必会企业面试题最实战.最细致.最落地的运维实训基地,老男孩教育连续多年国内平均就业工资最高! 数据库的重要性是所有技术里最核 ...
- (转)关于inode和block的两道企业面试题
关于inode和block的两道企业面试题 原文:http://www.tk4479.net/xiaolong361/article/details/52373374 一.一个100M的磁盘分区,分别 ...
- 运维派 企业面试题4&5 创建10个 用户 ; ping探测主机是否在线
Linux运维必会的实战编程笔试题(19题) 企业面试题4: 批量创建10个系统帐号oldboy01-oldboy10并设置密码(密码为随机8位字符串). #!/bin/bash # ;i<=; ...
- 运维派 企业面试题3 为上题中的 "十个随机字母_test.html" 文件 更名
Linux运维必会的实战编程笔试题(19题) 企业面试题3 #将试题2中创建的文件名uopiyhgawe_test.html# test-->修改为omg,html-->HTML 方法一: ...
随机推荐
- DataTable中的select()用法
1.在DataTable中执行DataTable.Select("条件")返回DataTable // <summary> // 执行DataTable中的查询返回新的 ...
- 百度UEditor富文本编辑器去除自动追加p标签
本篇文章还原了我在遇到这个问题时的解决过程: 找到ueditor.all.js文件,搜索 me.addInputRule(function(root){ 或者直接搜索 //进入编辑器的li要套p标签 ...
- asp.net站点阻止某个文件夹或者文件被浏览器访问
一个站点根目录下面有一个Config文件夹,这个文件夹里面都是一些json格式的txt文本,文本是一种静态资源,如果知道这个文本的地址,就可以在浏览器中输入地址打开这个文本,别人就可以看到站点的配置, ...
- go的Type switch是一个switch语句么?
相信这样的语句在go中大家见的很多 switch t := arg.(type) { default: fmt.Printf("unexpected type %T\n", t) ...
- django使用auth模块进行身份认证
https://docs.djangoproject.com/zh-hans/2.0/topics/auth/default/#authentication-in-web-requests djang ...
- 20165219 学习基础与C语言基础调查
学习基础与C语言基础调查 你有什么技能比大多数人要好? 因为不知道其他人的具体情况,我只能说,我比较擅长钢琴,素描,国画,这也是小时候掌握的比较好的技能. 针对这个技能的获取有什么成功的经验 小时候学 ...
- vue的生命周期钩子函数
一.vue生命周期图示 二.钩子函数执行时间 beforeCreate 在创建实例之前,data只声明但没有赋值 在实例初始化之后,数据观测 (data observer) 和 event ...
- loj #535. 「LibreOJ Round #6」花火 树状数组求逆序对+主席树二维数点+整体二分
$ \color{#0066ff}{ 题目描述 }$ 「Hanabi, hanabi--」 一听说祭典上没有烟火,Karen 一脸沮丧. 「有的哦-- 虽然比不上大型烟花就是了.」 还好 Shinob ...
- 学习TypeScript,笔记一:TypeScript的简介与数据类型
该文章用于督促自己学习TypeScript,作为学笔记进行保存,如果有错误的地方欢迎指正 2019-03-27 16:50:03 一.什么是TypeScript? TypeScript是javasc ...
- WordPress 设置GeoIP数据库目录权限时错误解决方案
存在一个问题 更新完WP-statistics后,不知道为什么出现了一个错误提示:设置GeoIP数据库目录权限时错误,请确保您的Web服务器有权限写入到目录/var/www/html/wordpres ...