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#'

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄