1、编写脚本/root/bin/systeminfo.sh,,包括主机名,IPv4地址,操作系统版本,内核版本, CPU型号,内存大小,硬盘大小。
#!/bin/bash
echo "主机名;`hostname`"
echo "IPv4地址;`ip a | grep ens33$ | cut -d " " -f 6`"
echo "操作系统版本;`cat /etc/redhat-release`"
echo "内核版本;`uname -r`"
echo "cpu:I`lscpu | grep "Model name:" | cut -d "I" -f 2` "
echo "内存大小;`free -h | grep "Mem" | cut -d "M" -f 2 | tr -d "a-z"":"" " `M"
echo "硬盘大小 ;`df -h | grep root | cut -d " " -f 4`"
2.统计系统中以.sh结尾的文件总大小,输出结果以kb为单位
#!/bin/bash
num=0
for i in `find / -type "f" -a -name "*.sh" -exec ls -l {} ; | cut -d " " -f 5`
do
let num+=$i
done
echo "$(($num/1024))KB"
~
3.写一个脚本/root/bin/argsnum.sh,接受一个文件路径作 为参数;如果参数个数小于1,则提示用户“至少应该给一个 参数”,并立即退出;如果参数个数不小于1,则显示第一个 参数所指向的文件中的空白行数
#!/bin/bash
read -p "请输入一个文件名的绝对路径:" file
if [ -e $file ];then
num=`grep "^$" $file | wc -l`
echo "$num"
else
echo "请输入一个存在文件!"
fi
4.:批量判断当前目录下所有文件类型
#!/bin/bash
for i in `ls /var`
do
cd /var
X=`ls -ld $i | cut -c 1`
if [ "$X" == "-" ];then
echo " $i------是文件"
elif [ "$X" == "d" ];then
echo "$i------目录"
elif [ "$X" == "l" ];then
echo "$i------链接文件"
else
echo "$i------无效文件"
fi
done
5.找出系统中含有某个关键词的文件,并输出到终端,关键词用户输入指定
#!/bin/bash
read -p "请输入关键字 :" X
for i in `find /etc/ -type "f"`
do
if grep $X $i &>/dev/null;then
echo "$i--$X"
fi
done
6.实现批量化创建100个用户,并创建8位随机密码,且可登陆
#!/bin/bash
for i in `seq 100`
do
useradd yonghu$i
mima=$(echo $RANDOM | md5sum | cut -c 1-8)
echo "$mima" | passwd --stdin yonghu$i
echo -e "用户:yonghu$i
密码:$miman " >>/root/test
done
7.实现批量化检测当前教室主机在线状况,在线主机保存至一个文件中
#!/bin/bash
. /etc/init.d/functions
ip=192.168.126.
for i in `seq 10`
do
if ping -c 1 -w 1 $ip$i >>/dev/null;then
echo -n "$ip$i"
success
echo ""
echo "$ip$i" >>/root/ip
else
echo -n "$ip$i"
failure
echo ""
fi
done
8.打印九九乘法表
#!/bin/bash
for i in `seq 9`
do
for l in `seq 9`
do
if [ $l -le $i ];then
echo -n " $i*$l=$(($i*$l))"
fi
done
echo " "
done
9.计算100以内的奇数和
╭─root@zxw ~
╰─➤ cat test12.sh
#!/bin/bash
sum=0
for i in `seq 1 2 100`
do
let sum+=$i
done
echo "$sum"
─root@zxw ~
╰─➤ bash test12.sh
2500