Linux 脚本初步等练习

笛里谁知壮士心,沙头空照征人骨。这篇文章主要讲述Linux 脚本初步等练习相关的知识,希望能为你提供帮助。
人生如逆旅,我亦是行人。


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

[root@centos8.5-68.82 ~]#grep -v "/sbin/nologin$" /etc/passwd | cut -d":" -f1 > user.txt
[root@centos8.5-68.82 ~]#cat user.txt
root
sync
shutdown
halt
[root@centos8.5-68.82 ~]#cat user.txt | wc -l
4

【Linux 脚本初步等练习】2、查出用户UID最大值的用户名、UID及 shell 类型
grep `cut -d ":" -f3/etc/passwd |sort -nr |head -n1` /etc/passwd |awk -F: print $1,$3,$7

#示例
[root@centos8.5-68.82 ~]#grep `cut -d ":" -f3/etc/passwd |sort -nr |head -n1` /etc/passwd |awk -F: print $1,$3,$7
nobody 65534 /sbin/nologin

3、统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序
ss -tn | awk -F" +|:" /ESTAB/print $6 | sort | uniq -c | sort -nr

#示例
[root@centos8.5-68.82 ~]#ss -tn | awk -F" +|:" /ESTAB/print $6 | sort | uniq -c | sort -nr
1 192.168.68.1

4、编写脚本 disk.sh,显示当前硬盘分区中空间利用率最大的值:
[root@centos7.9-68.71 ~]#vim disk.sh
#!/bin/bash
disk=`df |grep -v Filesystem |awk -F"[ %]+" /^\\/dev/print $5 |sort -nr |head -n1`
echo "目前分区最高使用率为"=$disk%

#示例
[root@centos8.5-68.82 ~]#./disk.sh
目前分区最高使用率为=19%

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

GRERN_BEGIN="echo -e \\\\e[1; 32m"
BLUE_BEGIN="echo -e \\\\e[1; 34m"
COLOR_END="\\\\e[0m"

$GRERN_BEGIN"--------------------------系统信息----------------------------"$COLOR_END
$BLUE_BEGIN当前系统主机名为:$COLOR_END `hostname`

$BLUE_BEGIN当前系统版本为:$COLOR_END `uname -a | awk print $2`

$BLUE_BEGIN当前系统内核版本为:$COLOR_END `uname -a | awk print $3`

$BLUE_BEGIN当前系统 CPU 型号为:$COLOR_END `lscpu | awk -F":" /Model name/print $2`

$BLUE_BEGIN当前系统内存大小为:$COLOR_END `lsmem | awk -F":" /^Total online/printf "%s\\n",$2`

$BLUE_BEGIN当前系统硬盘大小为:$COLOR_END
lsblk | awk /^sd/print $1,$4 | while read DISKNAME DISK_SIZE; do
echo "$DISKNAME=$DISK_SIZE"
done

$BLUE_BEGIN当前系统网卡地址为:$COLOR_END
ip a |grep ^[0-9] |awk -F": " print $2 | while read NET_DEVICE; do
ip a show $NET_DEVICE | grep -q LOOPBACK
if [ $? -ne 0 ]; then
echo $NET_DEVICE=`ip a show $NET_DEVICE |sed -nr "3s#[^0-9]+([0-9.]+).*#\\1#p"`
fi
done

执行结果如下图:


    推荐阅读