#创建账号  分组不分组只有一列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)

05-11 22:45