day07 作业

1.已知sort.log文件内容如下,请根据文件内容的第二列进行倒序排序。

cat >>sort.log<<'EOF'
218.65.30.25 68652
218.65.30.53 34326
218.87.109.154 21201
112.85.42.103 18065
112.85.42.99 17164
218.87.109.151 17163
218.87.109.150 17163
218.65.30.61 17163
218.65.30.126 17163
218.65.30.124 17163
EOF
[root@mpd ~]# sort -rnk2 sort.log
218.65.30.25 68652
218.65.30.53 34326
218.87.109.154 21201
112.85.42.103 18065
112.85.42.99 17164
218.87.109.151 17163
218.87.109.150 17163
218.65.30.61 17163
218.65.30.126 17163
218.65.30.124 17163

2.统计系统文件/etc/services有多少行。

[root@mpd ~]# grep '.*' -c /etc/services
11176
[root@mpd ~]# wc -l /etc/services
11176 /etc/services

3.已知文件内容如下,请对该文件的字符串出现的次数进行统计,并从小到大的进行排序出来。

cat>>uniq.txt<<'EOF'
oldboy
oldgirl
oldboy
egon
student
oldgirl
oldboy
EOF
[root@mpd ~]# sort uniq.txt | uniq -c | sort -n
      1 egon
      1 student
      2 oldgirl
      3 oldboy

4.取出系统中的文件/etc/passwd的第七列(以:为分隔符)。

[root@mpd ~]# cut -d ':' -f 7 /etc/passwd
/bin/bash
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/bin/sync
/sbin/shutdown
/sbin/halt
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/bin/bash

5.已知文件test.txt内容如下,请给出输出test.txt文件内容时,不包含oldboy字符串的命令。

test
qiudao
oldboy
[root@mpd ~]# grep -v 'oldboy' test.txt
test
qiudao

6.只查看/etc/passwd文件内第5到第15行的内容


[root@mpd ~]# head -15 /etc/passwd | tail -11
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin


[root@mpd ~]# cat -n /etc/passwd | grep -wC5 '10' 
     5	lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
     6	sync:x:5:0:sync:/sbin:/bin/sync
     7	shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
     8	halt:x:7:0:halt:/sbin:/sbin/halt
     9	mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    10	operator:x:11:0:operator:/root:/sbin/nologin
    11	games:x:12:100:games:/usr/games:/sbin/nologin
    12	ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    13	nobody:x:99:99:Nobody:/:/sbin/nologin
    14	systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
    15	dbus:x:81:81:System message bus:/:/sbin/nologin

[root@mpd ~]# grep -n  '.*' /etc/passwd | grep -C5 '^10'
5:lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6:sync:x:5:0:sync:/sbin:/bin/sync
7:shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8:halt:x:7:0:halt:/sbin:/sbin/halt
9:mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10:operator:x:11:0:operator:/root:/sbin/nologin
11:games:x:12:100:games:/usr/games:/sbin/nologin
12:ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
13:nobody:x:99:99:Nobody:/:/sbin/nologin
14:systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
15:dbus:x:81:81:System message bus:/:/sbin/nologin

7.test.txt 的内容如下,要求过滤出不包含oldgirl的行。

oldboy
oldgirl
qiudao
[root@mpd ~]# grep -v 'oldgirl' test.txt
oldboy
qiudao

8.请执行命令取出linux中eth0的IP地址分别是ip和ifconfig的命令(请用cut,有能力者也可分别用awk,sed命令答)。

ip eth0的ip地址
[root@mpd ~]# ip a s eth0 | grep 'eth0' | tail -1 | cut -d ' ' -f 6 | cut -d '/' -f1
10.0.0.100

ifconfig etho的ip地址
[root@mpd ~]# ifconfig eth0 | head -2 | tail -1 | cut -d ' ' -f10
10.0.0.100

9.删除/etc/passwd文件的前三行内容 ***

tail -17 /etc/passwd | cat | xargs  -L 1 > passwd

10.统计文件/etc/hosts的行数?你能使用几种方法实现?

[root@mpd ~]# grep -c '.*' /etc/hosts
2

[root@mpd ~]# wc -l /etc/hosts
2 /etc/hosts

11.统计文件/etc/services的字节数。你能使用几种方法实现?

[root@mpd ~]# wc -c /etc/services
670293 /etc/services

12.执行下面的命令echo "Im qls , is QQ 1176494252" >file.txt,要求取出该文件中的姓名和QQ号。

[root@mpd ~]# cut -d ' ' -f 2,6 file.txt
qls 1176494252

13.执行如下命令
cat > file.txt <<EOF
abc
123
abc
123
def
EOF
要求去除重复的列

[root@mpd ~]# sort file.txt | uniq
123
abc
def

14.接上题,取出每列出现的次数

[root@mpd ~]# sort file.txt | uniq -c | sort -n
      1 def
      2 123
      2 abc

15.统计/var/log下的文件个数,不统计下级目录。

[root@mpd ~]# find /var/log -maxdepth 1 -type f | wc -l
39

16.统计/var/log下的所有文件和目录个数,不包含隐藏文件。


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

[root@mpd ~]# head -1 /etc/passwd | cut -d ':' -f 7
/bin/bash

18.过滤出/etc/passwd以nologin结尾的内容,并统计行数

[root@mpd ~]# grep  -E '*nologin' /etc/passwd
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbinnologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
nginx:x:998:996:Nginx web server:/var/lib/nginx:/sbin/nologin

19.分析如下日志内容,每个域名被访问次数

cat>catweb.log <<EOF
http://www.oldboy.com/index.html
http://www.oldboy.com/1.html
http://post.oldboy.com/index.html
http://mp3.oldboy.com/index.html
http://www.oldboy.com/3.html
http://post.oldboy.com/2.html
EOF
[root@mpd ~]# sort catweb.log | uniq -c
      1 http://mp3.oldboy.com/index.html
      1 http://post.oldboy.com/2.html
      1 http://post.oldboy.com/index.html
      1 http://www.oldboy.com/1.html
      1 http://www.oldboy.com/3.html
      1 http://www.oldboy.com/index.html

20.显示/etc/services文件的第11行到第20行的内容

[root@mpd ~]# head -20 /etc/services | tail -10
# are included, only the more common ones.
#
# The latest IANA port assignments can be gotten from
#       http://www.iana.org/assignments/port-numbers
# The Well Known Ports are those from 0 through 1023.
# The Registered Ports are those from 1024 through 49151
# The Dynamic and/or Private Ports are those from 49152 through 65535
#
# Each line describes one service, and is of the form:
#


21.已知文件123.txt内容如下,请过滤出包含oldboy字符串的命令

test
OLDBOY
online
oldboy
oldboyoldboy
[root@mpd ~]# grep 'oldboy' 123.txt
oldboy
oldboyoldboy

22.过滤出文件123.txt中不包含test的行,并给其过滤出来的内容加上行号

[root@mpd ~]# grep -v 'test'  123.txt | grep -n '.*'
1:OLDBOY
2:online
3:oldboy
4:oldboyoldboy

23.要求过滤出文件123.txt中包含oldboy的字符串,忽略大小写。

[root@mpd ~]# grep 'oldboy' -i 123.txt
OLDBOY
oldboy
oldboyoldboy

24.要求过滤出文件123.txt中包含online字符串的行,并统计共有多少行。

[root@mpd ~]# grep  'online'  123.txt | wc -l
1

25.要求过滤出文件123.txt中包含oldboy的单词。

[root@mpd ~]# grep 'oldboy' 123.txt
oldboy
oldboyoldboy

写一个文件,文件内容如下,下面几题请用该文件作答?
cat >>test.txt<<EOF
server {
lisTEN 80;
server_nAme www.oldboy.com;
root /code/dOcs
index INDEX.html;
}
EOF
26.过滤www.oldboy.com这段关键字

[root@mpd ~]# grep -o 'www.oldboy.com' test.txt
www.oldboy.com
[root@mpd ~]# cut -d ' ' -f 2 test.txt | head -3 | tail -1 | tr -d ';'
www.oldboy.com

27.同时过滤出root和index的行,不区分大小写

[root@mpd ~]# grep -iE 'root|index' test.txt
root /code/dOcs
index INDEX.html;

28.过滤index,区分大小写

[root@mpd ~]# grep 'index' test.txt
index INDEX.html;

29.过滤出带"O"的行,不区分大小写

[root@mpd ~]# grep -i 'O' test.txt
server_nAme www.oldboy.com;
root /code/dOcs

30.过滤出不带";"的行

[root@mpd ~]# grep -v ';' test.txt
server {
root /code/dOcs
}

31.过滤出以s开头的行

[root@mpd ~]# grep '^s' test.txt
server {
server_nAme www.oldboy.com;

32.统计该文件的行数

[root@mpd ~]# wc -l test.txt
6 test.txt

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

#  会递归删除当前目录下所有文件和目录(不包括隐藏文件)

34.已知123.txt文件内容如下:
linlaoshi
qiulaoshi
oldboy
要求过滤出oldboy这一行的内容?你有几种方法?

[root@mpd ~]# grep 'oldboy' 123.txt
oldboy

35.接上题,要求不显示oldboy这行内容,怎么实现?你有几种方法?

[root@mpd ~]# grep -v 'oldboy' 123.txt
linlaoshi
qiulaoshi
posted @ 2020-07-13 19:33  nick_xm  阅读(166)  评论(0编辑  收藏  举报