05练习题

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

(1)对该文件输出内容进行排序(提示:通过第三列的第一个字符,以及第4列的所有字符进行排序)

[root@oldboy test]# sort -t "." -k3.1,3.1 -n -k4.1,4.3 -n 1.txt

(2)过滤该文件所有的字母,不区分大小写

[root@oldboy ~]# grep -i [A-Z] 1.txt

grep -i '[a-z]' 1.txt

(3)过滤出以数字3结尾的行

[root@oldboy test]# grep '3$' 1.txt

2.将"web3_access.log"上传至你的linux服务器

(1)统计出该文件IP地址出现的次数,并按正序对其进行排序

[root@oldboy test]# awk '{print$1}' access.log|sort |uniq -c|sort -n

1.拿到ip地址

2.对Ip进行排序,去重

3.

(2)统计该文件内HTTP状态返回码出现的次数(例如200,404,403,在第九列),并按照倒序进行排序

[root@oldboy test]# awk '{print$9}' access.log |sort|uniq -c|sort -nr

(3)过滤出所有状态返回码是200的行,并将这些返回码为200行的全部替换成300

awk '{print$9}' access.log|sort '200' |sed 's#200#300#g'

3.匹配/etc/passwd里包含root关键字的行(要求至少两种方法,分别使用awk和grep)

[root@oldboy ~]# grep 'root' /etc/passwd

awk '/root/' /etc/passwd

4.以“:”为分隔符,取出/etc/passwd第一行的最后一列的内容

[root@oldboy ~]# head -1| awk -F ":" '{print$7}' /etc/passwd

head -l /etc/passwd |cut -d ":" -f 7

5.取出以“:”为分隔符,第三列(用户UID)以0结尾的

[root@oldboy ~]# awk -F ":" '{print$3}' /etc/passwd|grep '0$'

6.使用hostnamectl查看当前系统信息,取出kernel内核版本信息

[root@oldboy ~]#hostnamectl |grep 'Kernel'|awk -F ":" '{print$2}

awk 'kernel {print$2.,$3}'

7.使用hostnamectl查看当前系统信息,取出系统名称

[root@oldboy ~]# hostnamectl |grep 'Static hostname'|awk -F ":" '{print$2}'

8.使用hostnamectl查看当前系统信息,取出系统版本信息,要求只显示"linux 7"

[root@oldboy ~]# hostnamectl |grep 'Operating System'|awk ""'{print$4,$5}'

9.取出当前linux操作系统的DNS /etc/sysconfig/network-scripts/ifcfg-*。

grep 'dns' /etc/sysconfig/network-scripts/ifcfg-*

10.复制/etc/passwd到当前root用户家目录  [root@oldboy ~]# cp /etc/passwd ~

(1)只查看头3行,并将“:”替换为“#”

[root@oldboy ~]# head -n 3 passwd |sed 's@:@#@g'

(2)查看该文件全部内容,将匹配到的每一行的第一个"bin"替换成"test".

grep "bin" passwd|sed 's#bin#test#'

(3)查看该文件全部内容,将匹配到的所有"bin"全部替换成"test"

grep "bin" passwd|sed 's#bin#test#g'

sed在使用过程中,加上g代表全局替换。不加g只会替换每行的第一个字符

11.使用ifconfig查看网卡信息,筛选出包含127.0.0.1的行(不少于三种方法)

1.取值目标

2.筛选出取值的行

3.提取对应关键值

ifconfig lo |grep 'inet' |awk '{print$2}'

ifconfig lo |awk '/inet/ {print$2}'

ifconfig lo |sed -n '2p'  2p 表示打印第二行

12.使用awk取出/etc/passwd第一列数据也就是取出用户名

13.写一个文件,文件内容如下

cat >>test.txt<

server {

lisTEN 80;

server_nAme docs.xuliangwei.com;

root /code/dOcs

index INDEX.html;

}

EOF

(1)过滤docs.xuliangwei.com这段关键字

grep 'doc.xuliangwei.com'

(2)同时过滤出root和index的行,不区分大小写

grep -E 'root|index' test.txt

(3)过滤index,区分大小写

grep 'index' test.txt

(4)过滤出带"O"的行,不区分大小写

grep -i 'o' test

(5)过滤出不带";"的行

grep ';' -v test

14.如果某一天你误操作了"rm -rf *",会发生哪些情况

删除当前目录下所有的内容

选择题

1.linux有三种查看文件命令,若希望在查看文件内容过程中可以用光标上下移动来查看文件内容,应使用  C

A.cat

B.more

C.less

D.me

2.若一台计算机的内存为8G,则交换分区的大小通常是    C

A.64GB                     

B.128GB

C.16GB

D.32GB

交换分区最高16G,交换分区是防止系统内存不够时从SSD取出部分内存,但是很卡

3.安装linux操作系统时,必须要创建的两个分区  B

A./和boot  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  ehco $HOME  当前所在的家目录

B.$PWD

C.$PS1

D.$PS2

7./etc文件系统的标准应用是用于  D

A.安装附加的应用程序

B.存放可执行程序,系统管理工具

C.设置用户的主目录

D.存放用于系统管理的配置文件

你可能感兴趣的:(05练习题)