云高作业First

练习题目


1、shell 脚本 写出检测 /tmp/size.log 文件如果存在显示它的内容不存在则创建一个文件将创建时间写入

2、写一个 shell 脚本 实现批量添加 20个用户,用户名为user01-20,密码为user 后面跟5个随机字符。

3、编写个shell 脚本 将/usr/local目录下大于10M的文件转移到/tmp目录下

解题过程

第一题

shell 脚本 写出检测 /tmp/size.log 文件如果存在显示它的内容不存在则创建一个文件将创建时间写入

#!/bin/bash
 

​#先对文件/tmp/size.log 是否存在进行判断
if [ -f /tmp/size.log ]; 
#如果存在,则用cat命令显示文件内容
  then
    cat /tmp/size.log
#如果不存在,则用echo命令创建并将时间写入/tmp/size.log文件
else
    echo "created time: $(date)" > /tmp/size.log
    #为了判断当文件不存在时脚本是否成功执行,给予创建文件成功的反馈
    echo "file creat success!"
 fi

实验脚本是否成功:

当文件不存在时:

当文件存在时:

第一题解答完毕

那么接下来看:

第二题

写一个 shell 脚本 实现批量添加 20个用户,用户名为user01-20,密码为user 后面跟5个随机字符。

ok啊,这道题也是很简单轻松拿捏,先来看:

#!/bin/bash

#for循环,循环变量i从1到20,每次循环执行一次代码块的所有内容
for i in {1..20};
   do
   #创建user 01到20
     useradd "user$(printf "%02d" $i)"
     
    #利用/dev/urandom设备生成随机字符流,tr -dc过滤非字母和非数字,一行展现5个字符,取第一行
     random_pass=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 5 | head -n 1)
     
    #将上面生成的后五位数密码结合,生成最终密码
     password="user$random_pass"
     
    #使用 passwd 命令设置用户的密码。echo "$password" 将生成的密码通过管道传递给 passwd 命令,        
     #--stdin 选项告诉 passwd 从标准输入读取密码。
     echo "$password" | passwd --stdin "user$(printf "%02d" $i)"
     
    #显示添加成功的用户名及其密码
     echo "Added user: user$(printf "%02d" $i), Password: $password"
 done
 
​
 
​

实验脚本是否成功:

第三题

编写个shell 脚本 将/usr/local目录下大于10M的文件转移到/tmp目录下

#!/bin/bash
 
# 遍历 /usr/local 目录下大于 10MB 的文件
find /usr/local -type f -size +10M | while read file; 
  do
    # 移动文件到 /tmp 目录
    mv "$file" /tmp/
    
    # 输出移动的信息
    echo "Moved $file to /tmp"
done

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值