马哥Linux第52期-第四周作业
- 1、统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来
- 2、查出用户UID最大值的用户名、UID及shell类型
- 3、统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序
- 4、编写脚本disk.sh,显示当前硬盘分区中空间利用率最大的值
- 5、编写脚本 systeminfo.sh,显示当前主机系统信息,包括:主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小
- 6、20分钟内通关vimtutor(可参考https://yyqing.me/post/2017/2017-02-22-vimtutor-chinese-summary)
1、统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来
1)统计出用户个数
cat /etc/passwd | grep -v ‘/sbin/nologin’|wc -l
grep -v ‘/sbin/nologin’ //过滤不包含/sbin/nologin
wc -l //统计指定文字的行数
2)显示用户
cat /etc/passwd | grep -v ‘/sbin/nologin’|cut -d: -f1
cut -d: -f1 //以冒号:为分隔符,显示第一段文字
2、查出用户UID最大值的用户名、UID及shell类型
sort -t: -n -k3 /etc/passwd | tail -1
sort //排序
-t: -n -k3 // -t: 以冒号为分隔符 -n -k3 -k3分隔符的第三个文本 -n作为比较
tail -1 //最后一条
3、统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序
netstat -t | grep ‘:ssh’|tr -s ’ '|cut -d ’ ’ -f5 | cut -d: -f1 | sort -rn
tr -s ’ ’ //去除空格
cut -d ’ ’ -f5 //以空格为分隔符的第五段
cut -d: -f1 //以冒号为分隔符的第一段
sort -rn // -rn以数字大小进行排序
4、编写脚本disk.sh,显示当前硬盘分区中空间利用率最大的值
#!/bin/bash
echo "当前硬盘分区中空间利用率最大的值"
df -h | awk '{print $5,$6}' | sed -n '2,$p' | sort -rn | cut -d% -f1 | awk 'NR==1'
awk ‘{print $5,$6}’ //显示第5列和第6列
sed -n ‘2 $p’ //显示第二行到最后一行,去除第一行
sort -rn //数据从大到小排列
cut -d% -f1 //以%为分隔符,显示第一段文字
awk ‘NR==1’ //显示第一行
5、编写脚本 systeminfo.sh,显示当前主机系统信息,包括:主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小
#!/bin/bash
BEGINCOLOR="\e[1;31m"
ENDCOLOR="\e[0m"
echo -e "My hostname is ${BEGINCOLOR}`hostname`$ENDCOLOR"
echo -e "IP address is ${BEGINCOLOR}`ifconfig ens32 |grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}'|head -n1`$ENDCOLOR"
echo -e "OS version is ${BEGINCOLOR}`cat /etc/redhat-release`$ENDCOLOR"
echo -e "Kernel version is ${BEGINCOLOR}`uname -r`$ENDCOLOR"
echo -e "CPU type is ${BEGINCOLOR}`lscpu|grep "型号名称" |cut -d: -f2 |tr -s " "`$ENDCOLOR"
echo -e "Memtotol is ${BEGINCOLOR}`cat /proc/meminfo |head -n1 |grep -Eo '[0-9]+.*'`$ENDCOLOR"
BEGINCOLOR="\e[1;31m" //从这里开始高亮,显示红色
ENDCOLOR="\e[0m" //从这里结束高亮
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210308144224788.png