练习1:
1、找出ifconfig “网卡名” 命令结果中本机的IPv4地址
ifconfig |head -n 2 |tail -n 1|tr -s ” ” : |cut -d: -f4
2、查出分区空间使用率的最大百分比值
df|tr -s ‘ ‘ %|sort -t% -k5 -n|tail -n 1|cut -d% -f5
3、查出用户UID最大值的用户名、UID及shell类型
cat /etc/passwd |cut -d: -f1,3,7|sort -n -t : -k 2|tail -n 1
4、查出/tmp的权限,以数字方式显示
stat /tmp| head -n 4|tail -n 1|cut -d/ -f1|cut -d'(‘ -f2
stat -c %a /tmp/(目前还没学到)
5、统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序
netstat -tun | grep ESTAB |tr -s ” ” : |cut -d: -f6 |sort -nr |uniq -c
(本机就一个远程连接所以不用统计排序)
练习2
1、显示/proc/meminfo文件中以大小s开头的行(要求:使用两种方法)
cat /proc/meminfo|grep “^[Ss]”
cat /proc/meminfo|grep -i “^s”
cat /proc/meminfo|grep -e ^s -e ^S
cat /proc/meminfo|grep “^s\|^S”
cat /proc/meminfo|grep “^[s\|S]”
2、显示/etc/passwd文件中不以/bin/bash结尾的行
grep -v “/bin/bash$” /etc/passwd
3、显示用户rpc默认的shell程序
grep “^rpc\>” /etc/passwd | cut -d : -f7
grep -w “^rpc” /etc/passwd | cut -d : -f7
4、找出/etc/passwd中的两位或三位数
cat /etc/passwd |grep -o “\<[0-9]\{2,3\}\>”
,,,
5、显示CentOS7的/etc/grub2.cfg文件中,至少以一个空白字符开头的且后面存非空白字符的行
cat /etc/grub2.cfg |grep “^[[:space:]]\+[^[:space:]]”
,,,
6、找出“netstat -tan”命令的结果中以‘LISTEN’后跟任意多
个空白字符结尾的行
netstat -tan|grep “\<LISTEN\>[[:space:]]*$”
7、显示CentOS7上所有系统用户的用户名和UID
cat /etc/passwd |cut -d: -f1,3 |grep “\<[[:digit:]]\{1,3\}\>”$
,,,
8、添加用户bash、testbash、basher、sh、nologin(其shell为/sbin/nologin),找出/etc/passwd用户名同shell名的行
cat /etc/passwd | grep “\(^.*\)\>.*\/\1$”
9、仅利用df和grep和sort,取出磁盘各分区利用率,并从大到小排序
df |grep ^/dev/sd |grep -o “\b[[:digit:]]\{1,3\}\b%”|sort -rn
作业:
1、显示三个用户root、mage、wang的UID和默认shell
cat /etc/passwd|grep -E “^(root|wang|mage)\>”|cut -d : -f3,7
cat /etc/passwd|grep -E -w “^(root|wang|mage)”|cut -d : -f3,7
2、找出/etc/rc.d/init.d/functions文件中行首为某单词(包括下划线)后面跟一个小括号的行
cat /etc/rc.d/init.d/functions |grep -E “^.*\(\)”
3、使用egrep取出/etc/rc.d/init.d/functions中其基名
echo /etc/rc.d/init.d/functions | egrep -o “[[:alpha:]]+$”
4、使用egrep取出上面路径的目录名
echo /etc/rc.d/init.d/functions | egrep -o “^(/).*\1”
5、统计last命令中以root登录的每个主机IP地址登录次数
last |grep -w root|tr -s ” ” %|cut -d% -f3|sort -n|uniq -c
6、利用扩展正则表达式分别表示0-9、10-99、100-199、200-249、250-255
echo {0..255}|egrep -o “\<[0-9]{1}\>”
echo {0..255}|egrep -o “\<[0-9]{2}\>”
,,,,
echo {0..255}|egrep -o “\<[0-9]{3}\>”|egrep “^1”
,,,,
,,,
echo {0..255}|egrep -o “\<[0-9]{3}\>”|egrep “^2[0-4]”
,,,
echo {0..255}|egrep -o “\<[0-9]{3}\>”|egrep “^25”
7、显示ifconfig命令结果中所有IPv4地址
ifconfig | grep “netmask”|tr -s ” “|cut -d ” ” -f3,5,7|tr ” ” “\n”
8、将此字符串:welcome to magedu linux 中的每个字符去重并排序,重复次数多的排到前面
echo welcom to magedu linux|tr -d ” “|grep -o “.”|sort -n|uniq -c|sort -r
原创文章,作者:fuming,如若转载,请注明出处:http://www.178linux.com/83091