#创建账号 分组不分组只有一列useradd无法添加三个账号 添加账号 获取密码 执行最后一句
echo stu{4..6}|xargs -n 1|sed -r 's#(.*)#useradd \1;pass=$(date +%N|md5sum|cut -c 5-13);echo ${pass}|passwd --stdin \1;echo -e "\1 ${pass} \n">>/aa.log#g'|bash
#加入执行时间到日志
echo stu{4..6}|xargs -n 1|sed -r 's#(.*)#useradd \1;pass=$(date +%N|md5sum|cut -c 5-13);echo ${pass}|passwd --stdin \1;echo -e "\1 ${pass} $(date "+%F %T") \n">>/aa.log#g'|bash
1.1.1 不使用for循环批量创建账号和8位随机密码
第一步获取8位随机码
date +%N|md5sum|cut -c 5-12
第二步找到命令 echo 123456|passwd --stdin stud1
[root@ob1 ~]# echo 123456|passwd --stdin stud1
Changing password for user stud1.
passwd: all authentication tokens updated successfully.
第三步批量创建账号
echo stud{5..7}|xargs -n 1|sed -r 's/(.*)/useradd \1/g' #xargs将空格替换为换行符
useradd stud5
useradd stud6
useradd stud7
或者
[root@ob1 ~]# echo stu{1..10}|tr " " "\n" #将空格替换为\n 换行符
stu1
stu2
.....
#创建账号 分组不分组只有一列useradd无法添加三个账号 添加账号 获取密码 执行最后一句
echo stu{4..6}|xargs -n 1|sed -r 's#(.*)#useradd \1;pass=$(date +%N|md5sum|cut -c 5-13);echo ${pass}|passwd --stdin \1;echo -e "\1 ${pass} \n">>/aa.log#g'|bash
版本二加入日志和将执行时间添加进去.
echo stu{4..6}|xargs -n 1|sed -r 's#(.*)#useradd \1;pass=$(date +%N|md5sum|cut -c 5-13);echo ${pass}|passwd --stdin \1;echo -e "\1 ${pass} $(date "+%F %T") \n">>/aa.log#g'|bash
echo -e 输出的内容可以识别特殊字符换行符等
md5sum加密
echo stud{5..7}|xargs -n 1|sed -r 's/(.*)/useradd \1/g'|bash
批量删除账号.
cat /etc/passwd|awk -F ":" '/^stu*/{print $1}'|sed -r 's/(.*)/userdel \1/g'|bash
cat /etc/passwd|awk -F ":" '/^stu/{print $1}'|sed -r 's/(.*)/userdel -r \1/g'|bash
-exec 是删除文件的
[root@ob1 home]# cat /etc/passwd|awk -F ":" '/^stu/{print $1}' -exec userdel {} \;
awk: cmd. line:1: fatal: cannot open file `-exec' for reading (No such file or directory)