第三周作业


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

grep -vc '/sbin/nologin$' /etc/passwd
grep -v '/sbin/nologin$' /etc/passwd | cut -d : -f1

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

cat /etc/passwd | sort -t : -nk 3 | tail -1 | cut -d : -f 1,3,7 --output-delimiter=' '

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

who | grep -oE '([0-9]{1,3}\.){3}[0-9]{1,3}' |uniq -c | sort -t ' ' -nrk 1  

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

DiskMax=`df | tail -n +2 | grep -Eo '[0-9]{1,3}%' | sort -nr | head -1`

MountPoint=`df | grep "$DiskMax" | grep -Eo '/[[:alpha:]]+/[[:alpha:]]+$'`

echo "$MountPoint:$DiskMax"

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

RED="\E[1;31m"
GREEN="echo -e \E[1;32m"
END="\E[0m"

$GREEN----------------------Host systeminfo--------------------$END
echo -e  "HOSTNAME:     $RED`hostname`$END"
echo -e  "IPADDR:       $RED` ifconfig eth0|grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' |head -n1`$END"
echo -e  "OSVERSION:    $RED$PRETTY_NAME$END"
echo -e  "KERNEL:       $RED`uname -r`$END"
echo -e  "CPU:         $RED`lscpu|grep '^Model name'|tr -s ' '|cut -d : -f2`$END"
echo -e  "MEMORY:       $RED`free -h|grep Mem|tr -s ' ' : |cut -d : -f2`$END"
echo -e  "DISK:         $RED`lsblk |grep '^sd' |tr -s ' ' |cut -d " " -f4`$END"
$GREEN---------------------------------------------------------$END
SRE