试题
access.log日志内容:
192.168.11.1 - - [15/Apr/2020:18:26:38 +0800] 200
192.168.11.2 - - [15/Apr/2020:18:26:38 +0800] 200
192.168.11.3 - - [16/Apr/2020:18:26:38 +0800] 200
192.168.11.4 - - [16/Apr/2020:18:26:38 +0800] 200
192.168.11.1 - - [16/Apr/2020:18:26:38 +0800] 302
192.168.11.1 - - [18/Apr/2020:18:26:38 +0800] 200
192.168.11.1 - - [18/Apr/2020:18:26:39 +0800] 200
192.168.11.1 - - [20/Apr/2020:18:26:42 +0800] 302
192.168.11.4 - - [20/Apr/2020:18:27:07 +0800] 404
192.168.11.1 - - [20/Apr/2020:18:29:45 +0800] 302
192.168.11.4 - - [18/Apr/2020:18:29:45 +0800] 404
192.168.11.1 - - [15/Apr/2020:18:29:45 +0800] 200
192.168.11.1 - - [15/Apr/2020:18:29:45 +0800] 302
192.168.11.1 - - [15/Apr/2020:18:29:45 +0800] 404
192.168.11.4 - - [15/Apr/2020:18:29:45 +0800] 302
192.168.11.1 - - [15/Apr/2020:18:29:45 +0800] 200
/etc/passwd内容:
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
nginx:x:1001:1001::/home/nginx:/bin/bash
ip命令结果内容(ip addr show):
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:70:ee:0c brd ff:ff:ff:ff:ff:ff
inet 192.168.11.140/24 brd 192.168.11.255 scope global eno16777736
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe70:ee0c/64 scope link
valid_lft forever preferred_lft forever
test.log内容:
#this is a test log
#time
line 1
line 2
-
统计/etc/passwd中shell的类型和其数量(只使用awk命令)
-
统计/etc/passwd用户名为4个字符的用户(只使用awk命令)
-
打印/etc/passwd的用户名和uid(只使用awk命令)
-
打印/etc/passwd文件中所有内容,并包括行号(只使用awk命令)
-
打印/etc/passwd文件中UID大于100的行(只使用awk命令)
-
打印/etc/passwd文件中UID大于50且小于500的行,行信息中只有用户名和UID
-
统计access.log日志中“15/Apr/2020”当天的页面访问量(使用grep wc)
-
统计access.log日志中ip数量并降序排序(使用 awk sort uniq)
-
统计access.log日志中状态码为404的ip,并去重(使用 awk sort uniq)
-
统计access.log日志中状态码为200或302的ip,并去重(使用 awk sort uniq)
-
打印ip命令中ipv4地址(使用sed)
-
使用sed删除/etc/passwd中以root或bin开头的行,不修改源文件
-
使用sed删除test.log日志中的空白行,不修改源文件
-
使用sed删除test.log日志中的第3到最后一行,不修改源文件
-
使用sed将test.log文件中以#开头行中的#替换为空,不修改源文件
-
使用sed将test.log文件中line 1修改为line 5,修改源文件
-
使用sed显示test.log文件中第2至最后一行
-
使用sed在test.log文件中第2行后添加一行新内容”add newline”
-
使用sed将test.log文件中所有的单词替换为单词
-
使用sed删除test.log文件中以#开头和空白的行
-
使用sed删除/etc/passwd中以root开头的行
-
使用sed 将/ets/fstab文件中以UUID开头的行内容写入到/root/test.log文件中
-
使用sed将/etc/issue文件中的内容写入到/etc/fstab文件中以UUID开头行的后面
-
使用sed将test.log文件中所有小写字母转换为大写字母
-
使用sed将/etc/fstab文件中不以#开头的行添加#