学linux运维前水平测试题

版权声明:

本文的所有内容均来自作者刘春凯的学习总结,未经本人许可,禁止私自转发及使用。

QQ:1151887353

E-mail:dakai517@163.com      1151887353@qq.com

##########################################################################

 

1.创建一个目录/data。

解答:

mkdir /data

 

2.在/data下面建立一个文件oldboy.txt。

解答:

touch /data/oldboy.txt

或者:

cd /data

touch oldboy.txt

 

3.为oldboy.txt增加内容为“I am studying linux.”。

解答:

法一:

cd /data

echo "I am studying linux">>oldboy.txt

法二:

vi/vim --a/i--" I am studying linux "--esc--:qw

法三:

cat >>oldboy.txt

> I am studying linux

crul+c

 

4.把oldboy.txt文件拷贝到/tmp下。

解答:

cd /data

cp oldboy.txt /tmp/

 

5.把/data目录移动到/root下。

解答:

mv /data /root/

 

6.进入/root目录下的data目录,删除oldboy.txt文件。

解答:

cd -

cd data

rm -f oldboy.txt

 

7.接第6题,退出到上一级目录,删除data目录。

解答:

cd -

rm -fr data

 

 

8.已知文件test.txt内容为:

test

liyao

oldboy

请给出输出test.txt文件内容时,不包含oldboy字符串的命令。

解答:

模拟环境

cd /data

touch test.txt

cat >>/test.txt<<EOF(echo或者vi/vim)

test

liyao

oldboy

EOF

ctrl+c

法一:

head -n 2 /data/test.txt

法二:

tail -n 3 test.txt|head -n 2或者head -n 2 test.txt|tail -2

法三:

sed -n "1,2p" test.txt

法四:

grep -v oldboy test.txt或者grep test liyao test.txt

法五:

awk 'NR<3&&NR>0' test.txt或者awk '{if(NR<3&&NR>0) print $0"\n"}' test.txt

法六:

grep 2 -A 1 test.txt

grep 1 -B 1 test.txt

 

 

9.请用一条命令完成创建目录/oldboy/test,即创建/oldboy目录及/oldboy/test目录

解答:

cd ~

mkdir -p /oldboy/test

 

10.已知/tmp下已经存在test.txt文件,如何执行命令才能把/mnt/test.txt拷贝到/tmp下覆盖掉/tmp/test.txt,而让系统不提示是否覆盖(root权限下)。

解答:

法一:

/bin/cp /mnt/test.txt /tmp/

法二:

\cp /mnt/test.txt /tmp/

法三:

alias cp

unalias cp

cp /mnt/test.txt /tmp/

 

11.只查看ett.txt文件(共100行)内第20到第30行的内容

解答:

法一:

head -30 ett.txt|tail -11或者tail -81 ett.txt|head -11

法二:

sed -n '20,30p' ett.txt

法三:

grep 30 -A 10 ett.txt

grep 20 -B 10 ett.txt

grep 25 -C 5 ett.txt

法四:

awk 'NR>19&&NR<31' ett.txt

awk '{if(NR>19&&NR<31) print$0"\n"}' ett.txt

 

12.分析图片服务日志,把日志(每个图片访问次数*图片大小的总和)排行,取top10,也就是计算每个url的总访问大小

【附加题:工作场景高难度加分题,不会的同学可以放弃不答】。

说明:本题生产环境应用:这个功能可以用于IDC网站流量带宽很高,然后通过分析服务器日志哪些元素占用流量过大,进而进行优化或裁剪该图片,压缩js等措施。

本题需要输出三个指标: 【访问次数】    【访问次数*单个文件大小】  【文件名(可以带URL)】

测试数据

59.33.26.105 - - [08/Dec/2010:15:43:56 +0800] "GET /static/images/photos/2.jpg HTTP/1.1" 200 11299 "http://oldboy.blog.51cto.com/static/web/column/17/index.shtml?courseId=43" "Mozilla/4.0 (compatible;MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"
59.33.26.105 - - [08/Dec/2010:15:43:56 +0800] "GET /static/images/photos/2.jpg HTTP/1.1" 200 11299 "http://oldboy.blog.51cto.com/static/web/column/17/index.shtml?courseId=43" "Mozilla/4.0 (compatible;MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"
59.33.26.105 - - [08/Dec/2010:15:44:02 +0800] "GET /static/flex/vedioLoading.swf HTTP/1.1" 200 3583 "http://oldboy.blog.51cto.com/static/flex/AdobeVideoPlayer.swf?width=590&height=328&url=/[[DYNAMIC]]/2" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"
124.115.4.18 - - [08/Dec/2010:15:44:15 +0800] "GET /?= HTTP/1.1" 200 46232 "-" "-"
124.115.4.18 - - [08/Dec/2010:15:44:25 +0800] "GET /static/js/web_js.js HTTP/1.1" 200 4460 "-" "-"
124.115.4.18 - - [08/Dec/2010:15:44:25 +0800] "GET /static/js/jquery.lazyload.js HTTP/1.1" 200 1627 "-" "-"

 

解答:模拟环境

cd /var/log

touch access.log 1.log 2.log

vim access.log(添加内容,生成日志)

 

法一:通过两个数组来计算(用到数组累加和去重)

因为我们要的最终结果是某个文件的访问次数和消耗的流量,所以考虑建立以文件名为索引的两个数组,一个存储访问次数,一个保存消耗的流量,这样当使用awk按行遍历文件时,对次数数组+1,同时对流量数组进行文件大小的累加,等文件扫描完成,再遍历输出两个数组既可以得到该文件的反问次数和总的流量消耗。

 

awk '{array_num[$7]++;array_size[$7]+=$10}END{for(x in array_num){print array_size[x],array_num[x],x}}' access.log|sort -rn -k1|head -10 >1.log

cat 1.log

 46232 1 /?=

22598 2 /static/images/photos/2.jpg
4460 1 /static/js/web_js.js
3583 1 /static/flex/vedioLoading.swf
1627 1 /static/js/jquery.lazyload.js

 

法二:

awk '{print $7"\t" $10}' access.log|awk '{S[$1]+=$2;S1[$1]+=1}END{for(i in S) print S[i],S1[i],i}'|sort -rn|head -10 >2.log

cat 2.log

 46232 1 /?=

22598 2 /static/images/photos/2.jpg
4460 1 /static/js/web_js.js
3583 1 /static/flex/vedioLoading.swf
1627 1 /static/js/jquery.lazyload.js

13、把/oldboy目录及其子目录下所有以扩展名.sh结尾的文件中包含oldboy的字符串全部替换为oldgirl【附加题:加分题,不会的同学可以放弃不答】。

解答:

模拟环境:

mkdir -p /oldboy/test

touch a.txt /oldboy

touch b.txt /oldboy/test

echo "oldboy" >a.sh

echo "oldgirl" >b.sh

法一:sed

sed -i "s#oldboy#oldgirl#g" /oldboy/*.txt

sed -i "s#oldboy#oldgirl#g" `find/oldboy/ -type f -name "*.sh"`

sed -i "s#oldboy#oldgirl#g" $(fing/oldboy/ -type f -name "*.sh")

法二:find+|xargs

find /oldboy/ -type f -name "*.sh" |xargs sed -i "s#oldboy#oldgirl#g"

find /oldboy/ -type f -name "*.sh" -exec sed -i  "s#oldboy#oldgirl#g {} \;

法三:for语句

for i in `ll /oldboy | grep .sh|awk '{print $NF}'`

do

    sed -i 's#oldboy#oldgirlg'$i

done

转载于:https://www.cnblogs.com/dakaige517/p/6785517.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
未来社区的建设背景和需求分析指出,随着智能经济、大数据、人工智能、物联网、区块链、云计算等技术的发展,社区服务正朝着数字化、智能化转型。社区服务渠道由分散向统一融合转变,服务内容由通用庞杂向个性化、服务导向转变。未来社区将构建数字化生态,实现数据在线、组织在线、服务在线、产品智能和决策智能,赋能企业创新,同时注重人才培养和科研平台建设。 规划设计方面,未来社区将基于居民需求,打造以服务为中心的社区管理模式。通过统一的服务平台和应用,实现服务内容的整合和优化,提供灵活多样的服务方式,如推送式、订阅式、热点式等。社区将构建数据与应用的良性循环,提高服务效率,同时注重生态优美、绿色低碳、社会和谐,以实现幸福民生和产业发展。 建设运营上,未来社区强调科规划、以人为本,创新引领、重点突破,统筹推进、整体提升。通过实施院落+社团自治工程,转变政府职能,深化社区自治法制化、信息化,解决社区治理中的重点问题。目标是培养有活力的社会组织,提高社区居民参与度和满意度,实现社区治理服务的制度机制创新。 未来社区的数字化解决方案包括信息发布系统、服务系统和管理系统。信息发布系统涵盖公共服务类和社会化服务类信息,提供政策宣传、家政服务、健康医疗咨询等功能。服务系统功能需求包括办事指南、公共服务、社区工作参与互动等,旨在提高社区服务能力。管理系统功能需求则涉及院落管理、社团管理、社工队伍管理等,以实现社区治理的现代化。 最后,未来社区建设注重整合政府、社会组织、企业等多方资源,以提高社区服务的效率和质量。通过建立社区管理服务综合信息平台,提供社区公共服务、社区社会组织管理服务和社区便民服务,实现管理精简、高效、透明,服务快速、便捷。同时,通过培育和发展社区协会、社团等组织,激发社会化组织活力,为居民提供综合性的咨询和服务,促进社区的和谐发展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值