1、shell 脚本写出检测 /tmp/size.log 文件如果存在显示它的内容,不存在则创建一个文件将创建时间写入。
2、写一个 shell 脚本,实现批量添加 20个用户,用户名为user01-20,密码为user 后面跟5个随机字符。
seq -w 01 20
:seq
命令用于生成数字序列,-w
选项是让生成的数字等宽输出,例如 01、02、03 等,这里它会生成从 01 到 20 的数字序列。$(...)
是命令替换语法,会先执行括号内的命令,并用其输出结果替换整个$(...)
部分,所以for
循环会依次迭代这些数字。do
开始循环体,后续的代码块会针对每次迭代执行一次。cat /dev/urandom
:/dev/urandom
是 Linux 系统中的一个伪随机数生成设备文件,cat
读取它能获取大量随机数据。tr -dc 'a-zA-Z0-9'
:tr
命令用于字符转换和删除,-d
表示删除指定字符集以外的字符,-c
取反,这里就是保留字母(大小写)和数字,删除其他字符。fold -w 5
:fold
命令用于将文本按指定宽度折叠,这里设置宽度为 5,即把前面处理得到的随机字符序列截取出 5 个字符。head -n 1
:head
命令用于输出文件或输入流的前n
行,这里取第一行,所以最终得到 5 个随机的字母数字组合,再拼接到user
后面,赋值给password
变量。chpasswd
命令可以批量从标准输入读取用户名和密码的对应关系,为对应的用户更新密码。