Day|Day -05-Linux 练习题

1.编辑一个1.txt文件,内容如下cat >>1.txt < 10.0.3.1 00:0F:AF:81:19:1F
10.0.3.2 00:0F:AF:85:6C:25
10.0.3.3 00:0F:AF:85:70:42
10.0.2.20 00:0F:AF:85:55:DE
10.0.2.21 00:0F:AF:85:6C:09
10.0.2.22 00:0F:AF:85:5C:41
10.0.0.151 00:0F:AF:85:6C:F6
10.0.0.152 00:0F:AF:83:1F:65
10.0.0.153 00:0F:AF:85:70:03
10.0.1.10 00:30:15:A2:3B:B6
10.0.1.11 00:30:15:A3:23:B7
10.0.1.12 00:30:15:A2:3A:A1
10.0.1.1 00:0F:AF:81:19:1F
10.0.2.2 00:0F:AF:85:6C:25
10.0.3.3 00:0F:AF:85:70:42
10.0.2.20 00:0F:AF:85:55:DE
10.0.1.21 00:0F:AF:85:6C:09
10.0.2.22 00:0F:AF:85:5C:41
10.0.0.151 00:0F:AF:85:6C:F6
10.0.1.152 00:0F:AF:83:1F:65
10.0.0.153 00:0F:AF:85:70:03
10.0.3.10 00:30:15:A2:3B:B6
10.0.1.11 00:30:15:A3:23:B7
10.0.3.12 00:30:15:A2:3A:A1
EOF
Day|Day -05-Linux 练习题
文章图片
(1)对该文件输出内容进行排序(提示:通过第三列的第一个字符,以及第4列的所有字符进行排序)
Day|Day -05-Linux 练习题
文章图片
(2)过滤该文件所有的字母,不区分大小写
Day|Day -05-Linux 练习题
文章图片
纠正:[root@oldboy ~]# grep -i "[a-z]" 1.txt[root@oldboy ~]# grep"[a-Z]" 1.txt 老师纠正:[root@oldboy ~]# grep -i "[a-z]" 1.txt
[root@oldboy ~]# grep"[a-Z]" 1.txt
(3)过滤出以数字3结尾的行


Day|Day -05-Linux 练习题
文章图片
2..将"web3_access.log"上传至你的linux服务器


Day|Day -05-Linux 练习题
文章图片
(1)统计出该文件IP地址出现的次数,并按正序对其进行排序
Day|Day -05-Linux 练习题
文章图片
(2)统计该文件内HTTP状态返回码出现的次数(例如200,404,403,在第九列),并按照倒序进行排序
Day|Day -05-Linux 练习题
文章图片
(3)过滤出所有状态返回码是200的行,并将这些返回码为200行的全部替换成300
Day|Day -05-Linux 练习题
文章图片
老师纠正:1.如何拿到文件中的IP地址
2.对拿到的IP地址进行排序,去重,统计
3.对统计出来次数,在进行一次排序
[root@oldboyedu.com~]# awk '{print $1}' access.log |sort|uniq -c|sort -n
例:取出IP访问次数最高的TOP3
[root@oldboyedu.com~]# awk '{print $1}' access.log |sort|uniq -c|sort -nr|head
3.匹配/etc/passwd里包含root关键字的行(要求至少两种方法,分别使用awk和grep)
Day|Day -05-Linux 练习题
文章图片
4.以“:”为分隔符,取出/etc/passwd第一行的最后一列的内容
Day|Day -05-Linux 练习题
文章图片
老师纠正:[root@oldboyedu.com~]# head -1 /etc/passwd | awk -F ":" '{print $7}'

[root@oldboyedu.com~]# head -1 /etc/passwd | cut -d ":" -f 7
5.取出以“:”为分隔符,第三列(用户UID)以0结尾的
Day|Day -05-Linux 练习题
文章图片
老师纠正:[root@oldboyedu.com~]# awk -F ":" '{print $3}' /etc/passwd | grep "0$"
6.使用hostnamectl查看当前系统信息,取出kernel内核版本信息
Day|Day -05-Linux 练习题
文章图片
老师纠正:1.找到要取值的目标 hostnamectl
2.先缩小到取内容的行
3.取出需要的那一列
[root@oldboyedu.com~]# hostnamectl | grep "Kernel" | awk '{print $2,$3}'
[root@oldboyedu.com~]# hostnamectl | awk '/Kernel/ {print $3}'
7.使用hostnamectl查看当前系统信息,取出系统名称
Day|Day -05-Linux 练习题
文章图片


8.使用hostnamectl查看当前系统信息,取出系统版本信息,要求只显示"linux 7"
Day|Day -05-Linux 练习题
文章图片
老师纠正:[root@oldboyedu.com~]# hostnamectl | grep "System" | awk '{print $4,$5}'
9.取出当前linux操作系统的DNS /etc/sysconfig/network-scripts/ifcfg-*。
Day|Day -05-Linux 练习题
文章图片
老师纠正
[root@oldboyedu.com~]# grep "DNS" /etc/sysconfig/network-scripts/ifcfg-ens32 | awk -F "=" '{print $2}'
10.复制/etc/passwd到当前root用户家目录
Day|Day -05-Linux 练习题
文章图片
1)只查看头3行,并将“:”替换为“#”
Day|Day -05-Linux 练习题
文章图片
[root@oldboyedu.com~]# head -3 passwd | sed 's@:@#@g' (2)查看该文件全部内容,将匹配到的每一行的第一个"bin"替换成"test".
Day|Day -05-Linux 练习题
文章图片
注意: sed在使用过程中 加上 g 代表全局替换 如果不加 g 仅替换每行第一个出现的字符
(3)查看该文件全部内容,将匹配到的所有"bin"全部替换成"test"
Day|Day -05-Linux 练习题
文章图片
11.使用ifconfig查看网卡信息,筛选出包含127.0.0.1的行(不少于三种方法)
1.找到要取值的目标 ifconfig lo
2.筛选出要取值的行
[root@oldboyedu.com~]# ifconfig lo | grep "inet "
[root@oldboyedu.com~]# ifconfig lo | awk '/inet /'
[root@oldboyedu.com~]# ifconfig lo | sed -n '2p'
12.使用awk取出/etc/passwd第一列数据也就是取出用户名
Day|Day -05-Linux 练习题
文章图片
13.写一个文件,文件内容如下
cat >>test.txt< server {
lisTEN 80;
server_nAme docs.xuliangwei.com;
root /code/dOcs
index INDEX.html;
}
EOF
(1)过滤docs.xuliangwei.com这段关键字
Day|Day -05-Linux 练习题
文章图片
(2)同时过滤出root和index的行,不区分大小写


Day|Day -05-Linux 练习题
文章图片
(3)过滤index,区分大小写
Day|Day -05-Linux 练习题
文章图片
(4)过滤出带"O"的行,不区分大小写
Day|Day -05-Linux 练习题
文章图片
(5)过滤出不带"; "的行
Day|Day -05-Linux 练习题
文章图片
14.如果某一天你误操作了"rm -rf *",会发生哪些情况
会将当前目录下的所有目录及文件全部删除
选择题
1.linux有三种查看文件命令,若希望在查看文件内容过程中可以用光标上下移动来查看文件内容,应使用C
A.cat
B.more
C.less
D.me
2.若一台计算机的内存为8G,则交换分区的大小通常是 C
老师纠正:
Day|Day -05-Linux 练习题
文章图片
A.64GB
B.128GB
C.16GB
D.32GB
3.安装linux操作系统时,必须要创建的两个分区B
A./和boot
B./和swap
C./home和/usr
D./var和/trap
4.用于windows和linux文件传输最便捷的方法是D
A.winscp
B.ftp
C.scp
D.rz sz
5.删除文件的命令为D
A.mkdir
B.rmdir
C.mv
D.rm
6.改变bash的提示符实际上就是改变变量C
A.$HOME
B.$PWD
C.$PS1
D.$PS2
7./etc文件系统的标准应用是用于D
A.安装附加的应用程序
B.存放可执行程序,系统管理工具
C.设置用户的主目录
【Day|Day -05-Linux 练习题】D.存放用于系统管理的配置文件

    推荐阅读