【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"\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'
【linux题目】第一关的更多相关文章
- NO15 第一关课后考试
第一关课后考试: 1.创建目录/data/oldboy,并且在该目录下创建文件oldboy.txt,然后在文件oldboy.txt里写如内容:inet addr:10.0.0.8 Bcast:10.0 ...
- 20145233 2016-2017 1 linux题目总结
20145233 2016-2017 1 linux题目总结 第一周考试知识汇总 判断:实验楼环境中所有的默认系统用户名和密码均为 shiyanlou.(x ). 填空:Linux Bash中,Ctr ...
- (linux shell)第一章--小试牛刀(上)
来源:(linux shell)第一章--小试牛刀(上) 从今天開始,我们一起来学习<linux shell脚本攻略>这本书. 1.1简单介绍 shell脚本一般是一个以#!起始的文本文件 ...
- Python:黑板课爬虫闯关第一关
近日发现了[黑板课爬虫闯关]这个神奇的网页,练手爬虫非常的合适 地址:http://www.heibanke.com/lesson/crawler_ex00/ 第一关非常的简单 get 请求网址,在响 ...
- SQL注入之Sqli-labs系列第一关
在开始接触渗透测试开始,最初玩的最多的就是Sql注入,注入神器阿D.明小子.穿山甲等一切工具风靡至今.当初都是以日站为乐趣,从安全法实施后在没有任何授权的情况下,要想练手只能本地环境进行练手,对于sq ...
- 嵌入式C语言自我修养 04:Linux 内核第一宏:container_of
4.1 typeof 关键字 ANSI C 定义了 sizeof 关键字,用来获取一个变量或数据类型在内存中所占的存储字节数.GNU C 扩展了一个关键字 typeof,用来获取一个变量或表达式的类型 ...
- Python 爬虫闯关(第一关)
在学习爬虫时,遇到了一个有意思的网站,这个网站设置了几个关卡,需要经过爬虫进行闯关,随着关卡的网后,难度不断增加,在闯关的过程中需要学习不同的知识,你的爬虫水平也自然随之提高. 今天我们先来第一关,访 ...
- Python Challenge 第一关
偶然在网上看到这个,PYTHON CHALLENGE,利用Python语言闯关,觉得挺有意思,就记录一下. 第0关应该算个入口吧,试了好几次才试出来,没什么代码就不写了.计算一个结果出来就行. 第一关 ...
- (linux shell)第一章--小试牛刀(下)
文章来源: (linux shell)第一章--小试牛刀(下) 1.6 数组和关联数组 1.6.1 预备知识 Bash同一时候支持普通数组和关联数组.普通数组仅仅能使用整数作为数组索引,而关联数组能够 ...
- sqli-labs第一关 详解
sqli-labs第一关 方法一:手工注入 方法二:sqlmap工具 两种方式,都可以学学,顺便学会用sqlmap,也是不错的.不多说,我们开始吧 方法一: 来到第一关,图上说我们需要一个数字的参数 ...
随机推荐
- 没用过.gitIgnore还敢自称高级开发?
Git是跟踪项目中所有文件的好工具, 但是,您会希望在项目的整个生命周期中不要跟踪某些文件及其变化. 系统文件(i.e. Mac系统的.Ds_Store) 应用程序配置文件(i.e. app.conf ...
- 使用Markdown编辑总结
Markdown是轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档. Markdown可以导出HTML .Word.图像.PDF.Epub 等多种格式的文档. 后缀为.md或者.markdo ...
- 单周期CPU
一个时钟周期执行一条指令的过程理解(单周期CPU): https://blog.csdn.net/a201577F0546/article/details/84726912 单周期CPU指的是一条指令 ...
- 曹工说Redis源码(2)-- redis server 启动过程解析及简单c语言基础知识补充
文章导航 Redis源码系列的初衷,是帮助我们更好地理解Redis,更懂Redis,而怎么才能懂,光看是不够的,建议跟着下面的这一篇,把环境搭建起来,后续可以自己阅读源码,或者跟着我这边一起阅读.由于 ...
- matplotlib Transform
2020-04-09 15:09:02 -- Edit by yangray Transform 类是TransformNode的子类,它是所有执行变换的TransformNode的实例的基类.所有非 ...
- hive常用函数一
Hive概念 Hive最适合于数据仓库应用程序,使用该应用程序进行相关静态数据分析,不需要快速响应出结果,而数据本身不会发生频繁变化. Hdfs分布式文件系统限制了hive,使其不支持记录级别的更新. ...
- slice使用了解
切片 什么是slice slice的创建使用 slice使用的一点规范 slice和数组的区别 slice的append是如何发生的 复制Slice和Map注意事项 什么是slice Go中的切片,是 ...
- mysql命令行参数 --- 这些参数不同于 mysqldump 后的 那些参数(下边文章开头有链接) :2种类型的参数 含义是不一样的
mysql命令行参数 --- 这些参数不同于 mysqldump 后的 那些参数 :2种类型的参数 含义是不一样的 一,mysql命令行参数 Usage: mysql [OPTIONS] [ ...
- Android电池信息获取
Android 可以通过BroadcastReceiver来获取电池信息改变的广播(ACTION_BATTERY_CHANGED),从而获取到相关的电池信息. 电池信息,及其对应的相关常数(参考网址: ...
- 【Java】手动编写第一个Java程序,HelloWorld!
第一个Java程序HelloWorld! 环境前提:确保你已经配置好了JDK8的环境变量,和本体安装 打开文本编辑器,这里我使用的是EditPlus 编写代码: public class Hello{ ...