温故而知新Linux考试0.0
1.1 在root用户家目录下创建两个目录,目录的名字叫做yunjisuan和 你的名字全拼小写
mkdir /yunjisuan /wangxi
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。1.2 在yunjisuan目录里,以输入重定向的方式输入以下内容,并将内容保存为test.txt文件,输入的内容以FOF作为结束符号(不能使用vi或 vim);(5分)
输入的内容如下:
welcome to my blog http://www.cnblogs.com/chensiqiqi/
if you like my blog\'s contents,pls support me
bye!boys and girls.
cat > test.txt << FOF
>welcome to my blog http://www.cnblogs.com/chensiqiqi/\nif
> if you like my blog\'s contents,pls support me
>bye!boys and girls.
>FOF
1.3 以追加重定向的方式向test.txt文件里追加内容,追加的内容为:
(1)当前系统的版本号信息(2分)
uname -r >> test.txt
(2)当前系统的内核信息(2分)
uname -a >> tese.txt
(3)当前系统的IP地址(如果没配置就配置一个)(2分)
Hostname -I >> test.txt
(4)当前系统的控制启动运行级别配置文件的最后一行(2分)
tail -1 /etc/inittab >> test.txt
(5)当前系统的用户密码文件的第一行(2分)
head -1 /etc/shadow >> test.txt
二,sed命令考核第一部分,基础应用上机考核(共100 分每题5分)
sed查询内容上机考核
2.1 利用sed读取test.txt文件所有内容并将内容重定向到/root/ 你名字全拼小写/2-1里
sed ‘’ test.txt > /root/wangxi/2-1
2.2 利用sed读取test.txt文件的第3行到第5行内容,并将内容重定向 到/root/你的名字全拼小写/2-2 里
sed -n '3,5p' test.txt > /root/wangxi/2-2
2.3 利用sed读取test.txt文件的第3行到最后一行内容,并将内容重定向 到/root/你的名字全拼小写/2-3 里
sed -n '3,$p' test.txt > /root/wangxi/2-3
2.4 利用sed读取test.txt文件的第3行和最后一行内容,并将内容重定向 到/root/你的名字全拼小写/2-4 里
sed -n '3p;$p' test.txt > /root/wangxi/2-4
sed增加内容上机考核
2.5 利用sed在test.txt文件里的第3行上增加内容:你的名字全拼小写, 并将内容重定向到/root/你的名字全拼小写/2-5 里
sed '3i wangxi' test.txt > /root/wangxi/2-5
2.6 利用sed在test.txt文件里的第3行下增加内容:你的名字全拼小写,
并将内容重定向到/root/你的名字全拼小写/2-6 里
sed '3a wangxi' test.txt > /root/wangxi/2-6
2.7 利用sed在test.txt文件里的第3行行首增加内容:你的名字全拼小 写,并将内容重定向到/root/你的名字全拼小写/2-7 里
sed '3s#^#wangxi#' test.txt > /root/wangxi/2-7
2.8 利用sed在test.txt文件里的第3行行尾增加内容:你的名字全拼小 写,并将内容重定向到/root/你的名字全拼小写/2-8 里
sed '3s#$#wangxi#' test.txt > /root/wangxi/2-8
2.9 利用sed在test.txt文件里的第3行到最后一行的行尾增加内容:你的 名字全拼小写,并将内容重定向到/root/你的名字全拼小写/2-9 里
sed '3,$s#$#wangxi#' test.txt > /root/wangxi/2-9
2.10 利用sed在test.txt文件里的第3行到最后一行的行首增加内容:你的名字全拼小写,并将内容重定向到/root/你的名字全拼小写/2-10 里
sed '3,$s#^#wangxi#' test.txt > /root/wangxi/2-10
2.11 利用sed在test.txt文件里的第3行到最后一行的行上增加内容:你的名字全拼小写,并将内容重定向到/root/你的名字全拼小写/2-11 里
sed '3,$i wangxi' test.txt > /root/wangxi/2-11
2.12 利用sed在test.txt文件里的第3行和最后一行的行上增加内容:你的名字全拼小写,并将内容重定向到/root/你的名字全拼小写/2-12 里
sed '3i wangxi' test.txt > /root/wangxi/2-12
sed '$i wangxi' test.txt > /root/wangxi/2-12
sed替换内容上机考核
2.13 利用sed实现将文件test.txt的内容的第3行里的boys替换成girls, 并将内容重定向到/root/你的名字全拼小写/2-13 里
sed '3s#boys#girls#g' test.txt > /root/wangxi/2-13
2.14 利用sed实现将文件test.txt的内容的第3行里的第一个字符b替换成 o,并将内容重定向到/root/你的名字全拼小写/2-14 里
sed '3s#b#o#' test.txt > /root/wangxi/2-14
2.15 利用sed实现将文件test.txt的内容的第3行里的and和girls之间增加一个单词welcome,并将内容重定向到/root/你的名字全拼小写/215 里
sed -nr '3s#([dg])#\1 welcome#p' test.txt > /root/wangxi/2-15
sed -nr '3s#(.*and).*(girls.*)#\1 welcome \2#p' test.txt > /root/wangxi/2-15
2.16 利用sed实现将文件test.txt的内容的第1行到第3行里的每行第一个 c字符替换成xxx字符,并将内容重定向到/root/你的名字全拼小写/216 里
sed '1,3s#c#xxx#' test.txt > /root/wangxi/2-16
sed删除内容上机考核
2.17 利用sed实现将文件test.txt的内容的第3行到最后一行删除后,并将内容重定向到/root/你的名字全拼小写/2-17 里
sed '3,$d' test.txt > /root/wangxi/2-17
2.18 利用sed实现将文件test.txt的内容的第3行和第5行删除后,并将内容重定向到/root/你的名字全拼小写/2-18 里
sed '3d;5d' test.txt > /root/wangxi/2-18
2.19 利用sed实现将文件test.txt的内容的所有含c(小写)字符的行删 除后,并将内容重定向到/root/你的名字全拼小写/2-19 里
sed '/c/d' test.txt > /root/wangxi/2-19
2.20 利用sed实现将文件test.txt的最后一行内容删除后,并将内容重定向到/root/你的名字全拼小写/2-20 里
sed '$d' test.txt > /root/wangxi/2-20
三,sed命令考核第二部分,扩展应用笔试考核(共80 分)
sed特殊应用考核
2.21 仅用sed和xargs实现文件test.txt文件内容的带行符输出(行号在每行行首)(10分)
sed -n ‘{=;p}’ test.txt| xargs -n2
cat -n test.txt | sed -n ‘’
sed反向引用考核
2.22 利用sed实现批量创建用户(chen{01..05})(一条命令sed实现) (10分)
2.23 利用sed和awk实现自动关闭所有不必要服务的开机自启动(必须开启的服务为sshd,network,crond,rsyslog,sysstat)(一条命令sed或 结合awk实现)(10分)
chkconfig | grep “3:on” | egrep -v “sshd|network|crond|rsyslog|sysstat” | sed -r “s#(.*)0:.*#chkconfig \1 off #” | bash
2.24 将/data目录下的所有以welcome.sh结尾的所有文件改名为仅 以.sh结尾。(一条命令sed实现)(10分)
find /data -type f -name “*welcome.sh” | sed ‘s#(.*) welcome(.sh )#mv \0 \1\2#’ | bash
2.25 抓取如下信息里的IP地址(共30分)
1. #内容如下:
[root@localhost ~]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:B4:21:24
inet addr:192.168.10.131 Bcast:192.168.10.255 Mask:255.255. 255.0
inet6 addr: fe80::20c:29ff:feb4:2124/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4282 errors:0 dropped:0 overruns:0 frame:0
TX packets:2011 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000 10.
RX bytes:417407 (407.6 KiB) TX bytes:241278 (235.6 KiB)
方法一:仅仅利用grep或egrep和管道符抓取IP地址(加10分)
Ifconfig eth0 | egrep -o “[o-9.]{14}” | head -1
方法二:仅仅利用sed和管道符抓取IP地址(加10分)
Ifconfig eth0 | sed -n ‘2p’ | sed ‘s#.*addr:## | sed ‘s#Bcast:.*##’
Ifconfig eth0 | sed -n ‘2p’ | sed -r ‘s#(.*) addr :(.*)Bcast:.*#\2#’
方法三:仅仅利用awk和管道符抓取IP地址(加10分)
ifconfig eth0 | awk 'NR>1&&NR<3' | sed -r 's#.*addr:(.*)Bcast.*#\1#'
