1、统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来
[root@localhost ~]# cat /etc/passwd | grep /sbin/nologin |cut -d ":" -f1
bin
daemon
adm
lp
mail
operator
games
ftp
nobody
systemd-network
dbus
polkitd
sshd
postfix
slackware
[root@localhost ~]# cat /etc/passwd | grep /sbin/nologin |cut -d ":" -f1|wc -l
15
2、查出用户UID最大值的用户名、UID及shell类型
[root@localhost ~]# cat /etc/passwd | grep /sbin/nologin |cut -d ":" -f1,3,7|sort -t: -k2 -nr|head -1
#cut -d以:为分隔符 -f取出第1,3,7列的数据 然后sort排序 -t: 使用“:”做为字段界定符,-k2按照使用“:”字符分隔的 第2列来整理能够使用多次-r 执行反方向(由上至下)整理 -n 执行按数字大小整理 最后用head 取出从上至下的第一行 也就是最大行
3、统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序
[root@localhost ~]# ss -nt|tail -n+2 |tr -s ' ' : |cut -d: -f6|sort -nr|uniq -c
2 172.18.102.1 #来自172.18.102.1的连接最多 有2个
# ss -nt 查看所有连接
tail -n+2 从正数第2行开始读取
tr -s ' ' :用:代替空格为新的分隔符
cut -d: -f6 以:为分隔符读取第6行
sort -nr 执行按数字大小整理并反向排序
uniq -c 去重并显示重复行
4、编写脚本disk.sh,显示当前硬盘分区中空间利用率最大的值
[root@localhost ~]# cat disk.sh ;bash disk.sh
#!/bin bash
maxvalue=`df -h|tail -n +2| tr -s " " :|cut -d: -f1,5 |sort -t: -k2 -nr|head -1`
echo 当前硬盘中空间使用最多的是 $maxvalue
当前硬盘中空间使用最多的是 /dev/sda1:15%
5、编写脚本 systeminfo.sh,显示当前主机系统信息,包括:主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小
[root@localhost ~]# cat systeminfo.sh;sh systeminfo.sh
#!/bin/bash
echo 主机名 :`hostname -f`
echo IPv4地址:`ip a |grep "inet "|tr -s " " /|cut -d/ -f3|grep -v "127.0.0.1"`
echo 操作系统版本 :`cat /etc/redhat-release`
echo 内核版本:`uname -r`
echo CPU型号:`cat /proc/cpuinfo|grep "model name"|cut -d: -f2|uniq`
echo Memery 内存大小 :`free -h|tail -n +2|grep Mem|tr -s " " :|cut -d: -f2`
echo 硬盘大小:`fdisk -l |grep "Disk /dev"|tr -s " "|grep -Eo [0-9]+.[0-9][[:space:]][[:upper:]][[:upper:]]`
主机名 :localhost
IPv4地址:172.18.102.3
操作系统版本 :CentOS Linux release 7.9.2009 (Core)
内核版本:3.10.0-1160.el7.x86_64
CPU型号: Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz
Memery 内存大小 :1.8G
硬盘大小:21.5 GB
6、20分钟内通关vimtutor(可参考https://yyqing.me/post/2017/2017-02-22-vimtutor-chinese-summary)