Linux 脚本初步等练习

Posted superkx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

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

执行结果如下图:

Linux

以上是关于Linux 脚本初步等练习的主要内容,如果未能解决你的问题,请参考以下文章

Linux下的第一步——进度条(gcc&Makefile)

shell脚本

linux-shell scripts 脚本的初步认识

linux脚本进阶例题解析

Python输入输出练习,运算练习,turtle初步练习

Python输入输出练习,运算练习,turtle初步练习