LINUX探路-shell脚本编程练习

1、创建用户:
批量创建用户,用户名为:班级+学号+昵称;每个班为一个组群,能够自动删除所创建的用户,每成功创建或删除一个用户,在屏幕上显示用户名
#!/bin/bash
echo "start input username"
grouppath=/etc/group
grouplist=()
userlist=()
groupcount=1
for ((i=1;i<3;i=i+1))
do
read -p "input classname " classname
read -p "input username " username
echo "uname is ${classname}_${username}"
grep ${classname} ${grouppath} > /dev/null
if [ $? != 0 ]; then
echo "groupadd ${classname}"
groupadd ${classname}
grouplist[${groupcount}]=${classname}
groupcount=$[${groupcount} + 1]
fi
echo "useradd ${classname}_${username}"
useradd -G ${classname} ${classname}_${username} 
userlist[i]=${classname}_${username}
done

echo "groupcount ${groupcount}"
echo "grouplist ${grouplist[1]} ${grouplist[2]}"
echo "userlist ${userlist[1]} ${userlist[2]}"


for ((i=1;i<3;i=i+1))
do
echo "userdel ${userlist[${i}]}"
userdel ${userlist[${i}]}
rm -rf /home/${userlist[${i}]}
rm -rf /var/spool/mail/${userlist[${i}]}
done
for ((i=1;i<${groupcount};i=i+1))
do
echo "groupdel ${grouplist[${i}]}"
groupdel ${grouplist[${i}]}
done

2、批量创建10个目录dir$1-10
每个目录下创建10个文件:dir$+file$1-10
然后修改所有文件权限为755
等待输入一个数1-10
将对应dir$目录下的所有文件增加扩展名bak,并将目录下的所有名字写到./dir$bak下,删除所有包含该数字的目录和文件
echo "" > a.out 覆盖 >> 追加
#!/bin/bash
echo "hanle file begin"
for i in {1..10}
do
mkdir "dir${i}"
for j in {1..10}
do
touch "dir${i}/dir${i}file${j}"
chmod 755 "dir${i}/dir${i}file${j}"
done
done
read -p "input dir num: " dirnum
for filename in dir${dirnum}/*
do
echo "filename: ${filename}" 
mv ${filename} ${filename}.bak
touch dir${dirnum}.bak
echo ${filename}.bak >> dir.bak
done
rm -rf ./*${dirnum}*
rm -rf ./*/*${dirnum}*

3、需要写一个工作例程使用crontab
首先写一个脚本放在/root/mine/mine.sh
#!/bin/bash
datett=`date +%F`
touch /root/mine/${datett}.txt
然后修改脚本 chmod 777 /root/mine/mine.sh
写工作排程:crontab -e
00 18 * * * /root/mine/mine.sh -----------每天18:00执行

4、查看/etc/passwd中包含‘aa'的所有用户并保存到file中
grep "*aa*" /etc/passwd | cut -d: -f1 > file    ----------cut -d: -f1 代表使用:将字符串分割开,并取第一段

5、逐步读取文件的每一行并进行处理:
for line in $(cat data.dat)
do 
echo "File:${line}"
done

6、统计/home目录下的文件数量
ls /home |wc -l

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值