Linux之文本处理的练习

概述

系统用户的基础练习后,就需要对文本的处理开始练习

文本处理场景的练习

统计出/etc/passwd中默认shell为非/sbin/nologin的用户个数,并将用户展现出来

Linux之文本处理的练习

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

Linux之文本处理的练习

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

ss -t | sed -rn  "s/.*[[:space:]]([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}):[0-9]+[[:space:]]+$/\1/p" | sort -nr | uniq -c

Linux之文本处理的练习

编写脚本disk.sh,显示当前磁盘分区空间利用率最大的值

#!/bin/bash
echo -e "当前分区空间利用率最高的值为:\c "
df -h | sed -rn  '/\dev\/sd/s#.*[^0-9]([0-9]{1,3})%.*#\1#p' | sort -nr  | head -n 1

编写脚本systeminfo.sh,显示当前主机信息,包括主机名,Ipv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小

#!/bin/bash
mem=`cat /proc/meminfo  | sed -rn 's/MemTotal:[^0-9]+([0-9]+).*/\1/p'`
echo -e "当前主机的系统信息"
echo -e "主机名:\t\t $(hostname)"
echo -e "IPV4地址:\t $(hostname -I)"
echo -e "操作系统版本:\t $(cat /etc/redhat-release)"
echo -e "当前内核版本:\t `uname -r`"
echo -e "当前CPU型号:\t `lscpu | sed -rn 's/(Model name:[^a-zA-Z]+)(.*)/\2/p'`"
echo -e "当前主机内存容量:`echo $mem/1024 |bc`MB"
echo -e "当前主机硬盘容量:`lsblk | sed -rn 's/(sd[a-z][^0-9]).*/\0/p' | awk '{print$4}'`"

Linux之文本处理的练习

总结

通过上面的练习,可以针对特定问题进行查看,不断调试,发现很多注意事项。细节决定成败。

猜你喜欢

转载自blog.51cto.com/15131458/2678934