第三周作業

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(可參考//yyqing.me/post/2017/2017-02-22-vimtutor-chinese-summary)

Tags: