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