用得到用不到写起来
linux 和 shell
1.获取随机数
expr $[$RANDOM%150] +1
%150 取余范围 150 RANDOM 随机数
2.linux 启动过程 简
内核的引导。 运行 init。 系统初始化。 建立终端 。 用户登录系统。
3.统计日志 前10的ip访问 cat /var/log/nginx/access.log|awk '{print $1}'|sort|uniq -c|sort -n -r|head -10
扩展
sort命令: 短参数 长参数 说明 -n – number-sort 按字符串数值排序,与-g区别为不转为浮点数 -r –reverse 降序排序,默认为升序
-g –general-number-sort 按通用数值排序,支持科学计数法 -f –ignore-case 忽略大小写,默认大小写字母不同 -k –key=POS1[,POS2] 排序从POS1开始,若指定POS2,则POS2结束,否则以pos1排序 -t –field-separator=SEP 指定列的分割符 -h –human-numeric-sort 使用易读性数字(例如: 2K 1G) -u –unique 去除重复的行 -o –output=FILE 将输出写入文件
uniq命令
uniq [-cdu][-f<栏位>][-s<字符位置>][-w<字符位置>][--help][--version][输入文件][输出文件]
-c或--count 在每列旁边显示该行重复出现的次数。 -d或--repeated 仅显示重复出现的行列。 -f<栏位>或--skip-fields=<栏位> 忽略比较指定的栏位。 -s<字符位置>或--skip-chars=<字符位置> 忽略比较指定的字符。 -u或--unique 仅显示出一次的行列。 -w<字符位置>或--check-chars=<字符位置> 指定要比较的字符。 --help 显示帮助。 --version 显示版本信息。 [输入文件] 指定已排序好的文本文件。如果不指定此项,则从标准读取数据; [输出文件] 指定输出的文件。如果不指定此选项,则将内容显示到标准输出设备(显示终端)。
awk 命令 https://www.cnblogs.com/ginvip/p/6352157.html
3.批量添加用户
function main(){ for i in {1..20} do username=user$i passwd="user`cat /dev/urandom | head -1 | md5sum | head -c 5`" useradd $username echo "$username:$passwd" | passwd --stdin $username echo "$username--$passwd" >> user.txt done }
批量删除
function main(){ users=`cat /etc/passwd | grep "^user" |awk -F ":" '{print $1}'` for user in $users do userdel -r $user ret=$? if [ $ret -eq 0 ];then echo "delete $user successful" else echo "delete $user failed" fi done cat /etc/passwd | grep "^user" |awk -F ":" '{print $1}' &>> /dev/null if [ $? -eq 0 ];then echo "delete users successful" else echo "delete users failed" fi }
版权声明:如无特殊说明,文章均为本站原创,转载请注明出处
本文链接:http://kkxl95.cn/article/1613994312/
学长 [博主]
1 楼 - 3 年,10月前
dev_result=
sed 's/2021-//g' /data/ops/tmp/ug03/cn/deploy_done.file |awk '{gsub(/1$/,"部署成功");print $2"\t"$3"\t "$4 " " $5"\t" $8 "\\\\n" }'
关于转义字符 \\n可以是\n