zoukankan      html  css  js  c++  java
  • 【linux题目】第一关

    详细的解答: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" "}' 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"	" $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'

  • 相关阅读:
    SSH出现Connection refused错误
    Lisp经典算法
    Arch Linux下韩文重叠显示
    Vim在图形环境下全屏产生黑边
    Vim常用插件安装及配置方法
    Python中Scrapy框架元素选择器XPath的简单实例
    Manjaro下Steam无法启动
    GNOME禁用GDM中night-light功能
    Neovim中提示Error: Required vim compiled with +python
    Manjaro下带供电的USB Hub提示error -71
  • 原文地址:https://www.cnblogs.com/zoe233/p/11949594.html
Copyright © 2011-2022 走看看