shell经典面试题1

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

一、
ll /tmp/size.log &>/dev/null
if [ $? -eq 0 ];then
cat /tmp/size.log
else
touch  /tmp/size.log
echo `date` > /tmp/size.log
fi

二、
if [ -f /tmp/size.log ];then
cat /tmp/size.log
else
date > /tmp/size.log
fi


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

#添加用户
for USER in user{01..20};do
        id  $USER  &>/dev/null
        if [ $? -ne 0 ] ;then
                useradd $USER &>/dev/null
                character=$(pwgen -s 5 1) &>/dev/null
                echo "user$character" | passwd --stdin $USER &>/dev/null
                echo "用户 $USER 已创建,密码是 user$character 。"
        else
        echo "该$USER用户已存在!"
        fi
done
#删除用户
for i in user{01..20};do
userdel -r $i
echo "$i 用户已经删除"
done


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


file=$(find /usr/local -type f -size +10k)
if [ $? -eq 0 ]
then
mv $file /tmp
echo "$file 文件已经转移到/tmp"
else
echo "没有大于10k的文件!"
fi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值