耳朵(十一)——Linux综合命令测试

本文介绍了一系列用于Linux系统信息查询与维护的Shell脚本,包括获取主机信息、备份目录、硬盘空间分析、网络连接状态、用户ID计算、文件数量统计及IP地址连通性测试等实用功能。

#1.显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大 小,保存脚本 为sys_info.sh
#!/bin/bash
info1=hostname #查询主机名
echo "localhost name : i n f o 1 " e c h o " − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − " i n f o 2 = ‘ i f c o n f i g ∣ g r e p ′ i n e t ′ ∣ g r e p − v ′ i n e t 6 ′ ∣ s e d ′ s / . ∗ i n e t / / g ′ ∣ s e d ′ s / n e t m a s k . ∗ info1" echo "-----------------------------------------------------------------------------" info2=`ifconfig | grep 'inet' | grep -v 'inet6' | sed 's/^.*inet//g' | sed 's/netmask.* info1"echo""info2=ifconfiggrepinetgrepvinet6seds/.inet//gseds/netmask.//g’#查询ipv4的地址 echo "IPV4 iddress is : $info2" echo "-----------------------------------------------------------------------------" info3=cat /etc/centos-release#操作系统的版本 echo "os info id : $info3 " echo "-----------------------------------------------------------------------------" info4=uname -r#内核版本 echo "kernel is: $info4" echo "-----------------------------------------------------------------------------" info5=cat /proc/cpuinfo | head -n5 | tail -n1 | sed 's/^.*?/g’#cpu型号 echo "cup info : $info5" echo "-----------------------------------------------------------------------------" info6=free -h | grep “Mem” | cut -d " " -f12#内存 echo "Memory info : $info6" echo "-----------------------------------------------------------------------------" info7=fdisk -l | grep “Disk /dev” | cut -d, -f1` #磁盘大小
echo “$info7”

#2.将/etc/目录备份到/tmp下,并以此格式保存bak_etc_yyyy-mm-dd,保存为脚本bak_etc.sh
#!/bin/bash
cp -r /etc /tmp/bak_etc_date +%F

#3.显示当前硬盘分区中空间利用率大的值。
#!/bin/bash
d=df | sed -r 's/([ ])+/;/g' | cut -d";" -f5 | sort -n | tail -n1
echo “disk max is: $d”

#4.显示正连接本主机的每个远程主机的IPv4地址和连接数,并按连接数从大到小排序,保存脚本为link.sh
#!/bin/bash
info=netstat -nt | sed -r 's/([ ])+/;/g' | cut -d";" -f5 | cut -d":" -f1 | sort -nr | uniq -c
echo “ipv4 $ info”
#5.计算/etc/passwd文件中的第5个用户和第15用户的ID之和,保存脚本为sum_id.sh
#!/bin/bash
uid1= cat /etc/passwd | cut -d":" -f 3 | head -n5 | tail -n1
uid2=cat /etc/passwd | cut -d":" -f 3 | head -n15 | tail -n1
echo “expr uid1 + uid2”

#6.统计/etc, /var, /usr目录中共有多少文件,保存脚本为sum.sh
#!/bin/bash
dir1=ls -l /etc/ | wc -l
dir2=ls -l /var/ | wc -l
dir3=ls -l /usr/ | wc -l
echo “/etc一共有 d i r 1 个 文 件 , / v a r 一 共 有 dir1个文件,/var一共有 dir1/vardir2个文件,/usr一共有$dir3个文件”
#7.接受一个主机的IPv4地址做为参数,测试是否可连通。如果能ping通,则输出“该IP地址可访问”;如果不可 ping通,则输出“该IP地址不可访问”,保存脚本为ping.sh

#!/bin/bash
ipaddr=’(<([0-9]|[1-9][0-9]|1[0-9]{2}|2([0-4][0-9]|5[0-5]))>.){3}<([0-9]|[1-9][0-9]|1[0-9]{2}|2([0-4][0-9]|5[0-5]))>’
read -p “please inupt ipv4 addr:” ipv4
if [[ $ipv4 =~ $ipaddr ]]
then
ping $ipv4 -c 4 $$ echo “可以正常访问” || echo “不能正常访问”
else
echo “请输入正确网址”
exit
fi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值