#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=‘ifconfig∣grep′inet′∣grep−v′inet6′∣sed′s/.∗inet//g′∣sed′s/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个文件,/var一共有dir2个文件,/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