概述
系统用户的基础练习后,就需要对文本的处理开始练习
文本处理场景的练习
统计出/etc/passwd中默认shell为非/sbin/nologin的用户个数,并将用户展现出来
查出用户UID最大值的用户、UID及shell类型
统计当前连接本机的每个远程主机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
编写脚本disk.sh,显示当前磁盘分区空间利用率最大的值
#!/bin/bashecho -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/bashmem=`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}\'`\"
总结
通过上面的练习,可以针对特定问题进行查看,不断调试,发现很多注意事项。细节决定成败。