SHELL脚本练习(3)

要求如下:
1、shell 脚本写出检测 /tmp/size.log 文件如果存在显示它的内容,不存在则创建一个文件将创建时间写入。
2、写一个 shel1 脚本,实现批量添加 20个用户,用户名为user01-20,密码为user 后面跟5个随机字符。
3、编写个shell脚本将/usr/local 日录下大于10M的文件转移到/tmp目录下

#shell 脚本写出检测 /tmp/size.log 文件如果存在显示它的内容,不存在则创建一个文件将创建时间写入。
#!/bin/bash
ls /tmp/size.log &> /dev/null  #查看文件
if [ $? -eq 0 ] #查看上条命令的返回值是否为0,从而判断文件是否存在
then
	echo "/tmp/size.log文件存在"  #标准输出
	cat /tmp/size.log   #查看文件内容
else
	echo "/tmp/size.log文件不存在" 
	touch /tmp/size.log #创建文件
	stat /tmp/size.log | grep "创建时间" >> /tmp/size.log #通过stat查看创建时间并写入文件中
fi

测试结果如下
文件不存在时

文件存在时

#!/bin/bash 

#写一个 shel1 脚本,实现批量添加 20个用户,用户名为user01-20,密码为user 后面跟5个随机字符。
for i in {01..20}; do  # 使用for循环添加用户
    username="user${i}"      # 生成用户名
    password=$(openssl rand -base64 8 | cut -c1-5)     #生成密码,使用openssl生成随机字符串
    useradd -m -s /bin/bash "$username"     # 添加用户
    echo "$password" | passwd --stdin "$username"     # 设置密码,使用 echo 和 passwd 命令
    echo "Added user: $username with password: $password"  # 输出用户信息
done
#因为没有大于1OM的文件,仅用大于1k的文件进行测试,并且只做复制
#!/bin/bash
files=$(find /usr/local -type f -size +1k)
cp "$files" /tmp

测试结果如下

实际生产环境中脚本如下

#编写个shell脚本将/usr/local 目录下大于10M的文件转移到/tmp目录下
#!/bin/bash
files=$(find /usr/local -type f -size +10M)
mv "$files" /tmp
posted @ 2025-01-12 16:13  hanasea  阅读(13)  评论(0)    收藏  举报