详细的解答:https://github.com/Zoe233/Linux/blob/master/【题目】5.Linux了解程度测试题解析.ipynb

1. 创建一个目录/data

解答: mkdir /data

 

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

解答:touch oldboy.txt

 

3. 为oldboy.txt增加内容"I am studying Linux."

解答: echo "I am studying Linux."> /data/oldboy.txt 

 

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

解答: cp /data/oldboy.txt /tmp 

 

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

 解答:mv /data /root/

 

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

解答:cd /root/data;rm oldboy.txt 

 

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

解答: cd ..; rm /data -fr 

 

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

test    
liyao    
oldboy  

请给出打印test.txt内容时,不包含oldboy字符串的命令

 解答:grep -v "oldboy" test.txt

或:head -2 test.txt

或:sed /oldboy/d test.txt; sed -e /^oldboy/d test.txt

或:awk /[^oldboy]/ test.txt

 

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

 

 解答:mkdir -p /oldboy/test

 

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

解答:\cp /mnt/test.txt /tmp/test.txt   或 /bin/cp /mnt/test.txt /tmp/test.txt 

 

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

解答:head -30 ett.txt|tail -11 

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

awk 'NR>=20, NR<=30 {print}' ett.txt 

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

grep 25 -C 5 ett.txt (注意,25是模拟的ett.txt序列文件中第25行即25,只是显示方法。)

 

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

解答:根据httpd服务的日志,通过awk获取访问次数和图片大小数据,并进行计算后,sort排序,取top前10. 

awk '{array_num[$7]++;array_size[$7]+=$10}END{for (x in array_num) {print array_size[x],array_num[x],x}}' access_2010-12-8.log|sort -rn -kl|head -10 >1.log #数组array_num和array_size以文件名为索引分别存储文件的访问次数和文件所占带宽,然后循环数组array_num拿到文件名,根据文件名输出文件访问次数,文件所占带宽,文件名

awk '{print $7"\t" $10}' access_2010-12-8.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 #与方法一类似,数组S和数组S1以文件名为所有分别存储文件所占带宽和文件访问次数

cut -d '' -f 7,10 access_2010-12-8.log|sort|uniq -c|awk '{print $1*$3""$1""$2}'|sort -rnk 1|head -10 >3.log #利用cut获取文件名及其对应的大小,然后用sort和uniq获得每个文件的访问次数,再用awk获得文件所占带宽,文件访问次数,文件名,最后降序排序后,用head获得前十行数据

 

 

13. 把/oldboy目录及其子目录下所有以扩展名.sh结尾的文件包含oldboy的字符串全部替换成oldgril。

 解答:find /oldboy -type f -name "*.sh"|xargs cat|sed  -i 's#oldboy#oldgril#g'

posted on 2019-11-28 13:54  Zoe233  阅读(255)  评论(0编辑  收藏  举报