面授20期2班-08月4号课堂与课后习题

课堂习题

1、显示/etc/init.d/functions文件中所有的单词及出现的次数

cat /etc/init.d/functions | tr -sc "[:alpha:]" '\n' |sort | uniq -c

2、找出ifconfig命令结果中本机的所有IPv4地址

centos6:ifconfig | head -2 | tail -1 | cut -d: -f 2 | cut -d" " -f1

centos7:ifconfig | head -2 | tail -1 | cut -dt -f2 | cut -d" " -f2

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

[root@shao ~]# df | cut -c 44-46 | sort -nr | head -n2 | tail -n1

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

方法一 cat /etc/passwd | cut -d: -f1,3,7 | sort -nrt : -k 2 |head -n 1

方法二 sort -nrt: -k3 /etc/passwd | head -n1 | cut -d: -f1,3,7

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

 stat /tmp | head -4 | tail -1 | cut -d/ -f1 | cut -d\( -f2

6、统计当前连接本机的每个远程主机IP的连接数,并按从大 到小排序

netstat -tn | cut -d: -f2 | tr -s " " ":" | cut -d: -f2 | sort | uniq -c

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

方法一 grep -e ^s -e ^S  /proc/meminfo
方法二 grep -i ^s  /proc/meminfo
方法三 grep  ^[sS]  /proc/meminfo

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

grep -v "/bin/bash$" /etc/passwd

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

getent passwd | grep ^"\<rpc\>" | cut -d: -f1,7

10、找出/etc/passwd中的两位或三位数

grep -o "\<[[:digit:]]\{2,3\}\>" /etc/passwd

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

grep -o  "^[[:space:]]\+[^[:space:]].*" /etc/grub2.cf

12、找出"netstat -tan"命令的结果中以'LISTEN'后跟0、1 或多个空白字符结尾的行

netstat -tan | grep "\<LISTEN[[:space:]]*$"

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

 useradd -s /sbin/nologin nologin
 useradd bash
 useradd testbash

方法一 getent passwd | grep "^\(\<.*\>\).*\<\1\>$"

方法二 getent passwd | grep "^\(\<[[:alnum:]]\{1,\}\>\).*\<\1\>$"

14、显示当前系统root或mage用户的UID和默认shell

方法一 grep -E "^(root|mage):" /etc/passwd | cut -d: -f3,7

方法二 grep -e "^root\<" -e "^mage\<" /etc/passwd | cut -d: -f3,7

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

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

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

echo /etc/rc.d/init.d/functions | egrep -o "f.*$"

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

echo /etc/rc.d/init.d/functions | egrep -o "^.*/"

18、统计以root身份登录的每个远程主机IP地址的登录次数

last | grep root | egrep -o "[[:digit:]]+.[[:digit:]]+.[[:digit:]]+.[[:digit:]]+" | uniq -c | sort -t" "


课后练习

1、用扩展正则表达式表示IP地址

ifconfig | egrep -o "\<(((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\>"

2、用扩展正则表达式表示手机号13 14 17 15  18

egrep -o "\<1[134578][0-9]{9}\>"

3、用扩展正则表达式表示身份证号18

egrep -o "\((1[1-5]) | (2[1-3]) | (3[1-7]) | (4[1-6]) | (5[0-4]) | (6[1-5]) | (71、81\82))([0-9]){4}(19|20)([0-9]){2}((0[1-9]) | (1[0-2]))(0[1-9]|([0-9])|(2[0-9])|(3[0-1]))([0-9]){3}([0-9]|X)\>"

4、用扩展正则表达式表示邮箱

qq邮箱:

egrep -o "\<[1-9][0-9]{4,9}@qq.com\>"

所有邮箱 :

egrep -o "\<([[:alnum:]]+(-|_)*[[:alnum:]]*)\>@([[:alnum:]]\.)+[[:alnum:]]+"

原创文章,作者:liushaoshao,如若转载,请注明出处:http://www.178linux.com/30569

(0)
liushaoshaoliushaoshao
上一篇 2016-08-08
下一篇 2016-08-08

相关推荐

  • 13grep和正则表达式

    grep:Global search REgular expression and Print out the line . 文本过滤工具,根据用户指定的模式对目标文本进行匹配检查;打印匹配到的行。过滤即不改变原来文本数据。 grep [options] PATTERN [file…] –color=auto: 对匹配到的文本着色显示…

    Linux干货 2016-11-27
  • 磁盘文件系统基础(一)

    磁盘的主要硬件单元有:     1、磁头:通过电磁感应的方式对磁盘数据进行读写。     2、磁道:在磁盘自传过程中磁头划过的圆形轨迹,这些轨迹是肉眼看不见的特色磁化区域。     3、扇区:磁盘上的每个磁道被等分为若干个圆弧,这些圆弧被称…

    Linux干货 2016-10-27
  • 亿级用户下的新浪微博平台架构

    序言     新浪微博在2014年3月公布的月活跃用户(MAU)已经达到1.43亿,2014年新年第一分钟发送的微博达808298条,如此巨大的用户规模和业务量,需要高可用(HA)、高并发访问、低延时的强大后台系统支撑。 微博平台第一代架构为LAMP架构,数据库使用的是MyIsam,后台用的是php,缓存为Memcache。 随着应用规模…

    2015-03-16
  • centos7上实现corosync V2 + pacemaker + pcs | crmsh备忘录

    1、集群配置的前提: 一、时间同步(ntpdate做crontab定时任务) 二、主机名和IP相互解析 三、基于ssh密钥主机互信 #ssh-keygen -t rsa #ssh-copy-id -i   集群的全生命周期管理工具: pcs: agent(pcsd) crmsh: agentless (pssh)     2、安…

    2017-11-15
  • 第二十天 centos7的lamp简单实现

    博客作业:CentOS 7 lamp, vhost1: pma.stuX.com, phpMyAdmin, 同时提供https服务; vhost2: wp.stuX.com, wordpress vhost3: dz.stuX.com, Discuz 环境说明: DNS是:192.168.100.7 vhosts(Centos7):192.168.100.1…

    Linux干货 2016-06-18
  • linux基本命令的使用

      1>    查看当前终端名:tty 或who am i       查看当前所有登录的终端信息:who       查看当前所有登录的终端的详细信息 w 2> 编辑器    …

    2017-07-15