加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

课后习题3--正则表达式

发布时间:2020-12-14 04:20:27 所属栏目:百科 来源:网络整理
导读:1、查出分区空间使用率的最大百分比值 [root@centos7~]#df|grep"^/dev"|grep-v"cdrom$"|tr''':'|tr-s':'|cut-d:-f5|sort1%4%73% 2、查出用户UID最大值的用户名、UID及shell类型 [root@centos7~]#cat/etc/passwd|sort-n-t:-k3|cut-d:-f1,3,7|tail-1nfsnobody:

1、查出分区空间使用率的最大百分比值

[root@centos7~]#df|grep"^/dev"|grep-v"cdrom$"|tr''':'|tr-s':'|cut-d:-f5|sort
1%
4%
73%

2、查出用户UID最大值的用户名、UID及shell类型

[root@centos7~]#cat/etc/passwd|sort-n-t:-k3|cut-d:-f1,3,7|tail-1
nfsnobody:65534:/sbin/nologin

3、查出/tmp的权限,以数字方式显示

[root@centos7~]#stat/tmp|head-4|tail-1|tr'(/)'':'|tr''':'|tr-s':'|cut-d:-f2
0777

或者

[root@centos7~]#stat/tmp|grep"^A.*)$"|tr'''n'|head-2|tail-1|tr-cd'[:digit:]'
0777

4、统计当前连接本机的每个远程主机IP的连接数(包括端口号),并按从大到小排序

[root@centos7~]#netstat-tan|grep"^tcp&;"|tr'''*'|tr-s'*'|cut-d*-f4|uniq-c|sort-r
310.1.0.17:22
1192.168.122.1:53
1127.0.0.1:631
1127.0.0.1:25
10.0.0.0:22

5、显示/proc/meminfo文件中以大小s开头的行;(要求:使用两种方式)

方法一

[root@centos7~]#grep"^[sS]"/proc/meminfo
SwapCached:6928kB
SwapTotal:2097148kB
SwapFree:2051836kB
Shmem:20884kB
Slab:150348kB
SReclaimable:84320kB
SUnreclaim:66028kB

方法二

[root@centos7~]#grep-i"^s"/proc/meminfo
SwapCached:6928kB
SwapTotal:2097148kB
SwapFree:2051836kB
Shmem:20884kB
Slab:150348kB
SReclaimable:84320kB
SUnreclaim:66028kB

6、显示/etc/passwd文件中不以/bin/bash结尾的行

[root@centos7~]#grep-v"^/bin/bash"/etc/passwd

7、显示用户rpc默认的shell程序

[root@centos7~]#grep"^rpc&;"/etc/passwd|cut-d:-f1,7
rpc:32:/sbin/nologin

8、找出/etc/passwd中的两位或三位数,必须是正整数

[root@centos7~]#grep-E"&;1[0-9]{1,2}&;"/etc/passwd

9、显示/etc/grub2.cfg文件中,至少以一个空白字符开头的且后面存非空白字符的行

[root@centos7~]#grep"^[[:space:]]+[^[:space:]]+.*"/etc/grub2.cfg

10、找出“netstat -tan”命令的结果中以‘LISTEN’后跟任意多个空白字符结尾的行

[root@centos7~]#netstat-tan|grep-E"LISTEN[[:space:]]*$"
tcp00192.168.122.1:530.0.0.0:*LISTEN
tcp000.0.0.0:220.0.0.0:*LISTEN
tcp00127.0.0.1:6310.0.0.0:*LISTEN
tcp00127.0.0.1:250.0.0.0:*LISTEN
tcp600:::22:::*LISTEN
tcp600::1:631:::*LISTEN
tcp600::1:25:::*LISTEN

11、添加用户bash、testbash、basher以及nologin(其shell为/sbin/nologin),而后找出/etc/passwd文件中用户名同shell名的行

[root@centos7~]#grep-E"^&;(.*)&;.*&;1&;$"/etc/passwd
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
nologin:x:4346:4346::/home/nologin:/sbin/nologin

12、显示三个用户root、mage、wang的用户名、UID和默认shell

[root@centos7~]#grep-E"^(root|mage|wang)&;"/etc/passwd|cut-d:-f1,7
root:0:/bin/bash
mage:4347:/bin/bash
wang:4348:/bin/bash

13、找出/etc/rc.d/init.d/functions文件中行首为某单词(包括下划线)后面跟一个小括号的行

grep-E"^[[:alpha:]_]+()"/etc/rc.d/init.d/functions

14、使用egrep取出/etc/rc.d/init.d/functions中其基名

[root@centos7~]#echo/etc/rc.d/init.d/functions|grep-E-o"[^/]+/?$"
functions

15、使用egrep取出上面路径的目录名

[root@centos7~]#echo/etc/rc.d/initd/function|grep-E-o"^/.*/"
/etc/rc.d/initd/

16、显示ifconfig命令结果中所有IPv4地址

[root@centos7~]#ifconfig|grep-E-o'(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])'
10.1.0.17
255.255.0.0
10.1.255.255
127.0.0.1
255.0.0.0
192.168.122.1
255.255.255.0
192.168.122.255


附一个取目录名的方法,大家帮忙解释一下哈!

[root@centos7~]#echo/etc/rc.d/initd/function/|grep-E-o"^/.*/b"
/etc/rc.d/initd/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读