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