首页 > 技术文章 > 第三周作业

super-ccl 2022-04-18 19:34 原文

1、统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来

统计个数:
grep -v '/sbin/nologin' /etc/passwd | wc -l
grep -vc '/sbin/nologin' /etc/passwd 
显示用户:
grep -v '/sbin/nologin' /etc/passwd | cut -d: -f1
grep -v '/sbin/nologin' /etc/passwd | grep -o '^[[:alnum:]]*'

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

cat /etc/passwd | cut -d: -f1,3,7 | sort -t: -k2 -nr | head -1
awk -F: 'BEGIN{maxUid=0;userName;shell;};{if($3>=maxUid) maxUid=$3;userName=$1;shell=$7}END{print userName,maxUid,shell}' /etc/passwd

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

ss -nt | grep -oE '([0-9]+.){3}[0-9]+:[0-9]+ *$' | cut -d: -f1 | sort | uniq -c | sort -nr
ss -nt | awk '/([0-9]+.){3}[0-9]+:[0-9]+ *$/{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr

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

#!/bin/bash
echo "分区利用率的最大值:"`df | awk '/[0-9]+%/{print $5}' | sort -nr |head -1`

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

#!/bin/bash
echo -e "主机名:`hostname`"
echo -e "IPv4地址:`ip a | grep 'eth0' | grep -oE '([0-9]+.){3}[0-9]+' | head -1`"
echo -e "操作系统版本:`cat /etc/system-release`"
echo -e "内核版本:`uname -r`"
echo -e "CPU型号:`lscpu | awk -F: '/^Model name/{print $2}'`"
echo -e "内存大小:`cat /proc/meminfo | awk '/MemTotal/{print $2$3}'`"
echo -e "硬盘大小:`lsblk | awk '/^nvm/{print $4}'`"

6、20分钟内通关vimtutor(可参考https://yyqing.me/post/2017/2017-02-22-vimtutor-chinese-summary)

推荐阅读