作者:微信小助手
发布时间:2020-06-08T22:30:55
文章出自 CSDN 点击蓝字波哥的IT人生,关注我们 50、删除某个目录下大小为 0 的文件 51、查找 Linux 系统中的僵尸进程 52、提示用户输入年份后判断该年是否为闰年 53、生成随机密码(urandom 版本) 54、生成随机密码(字串截取版本) 55、生成随机密码(UUID 版本,16 进制密码) 56、生成随机密码(进程 ID 版本,数字密码) 57、测试用户名与密码是否正确 58、循环测试用户名与密码是否正确 59、Shell 脚本的 fork 炸弹 江湖规矩:如文章对您有帮助,请帮波哥转发分享、点赞哦! 扫码关注 绝对干货的公众号 推荐阅读 脚本之---zabbixAgent一键部署脚本(windos/linux) 点小花花,让他们知道你“在看”我
#!/bin/bash# 删除某个目录下大小为 0 的文件 #/var/www/html 为测试目录,脚本会清空该目录下所有 0 字节的文件dir="/var/www/html"find $dir -type f -size 0 -exec rm -rf {} \;
#!/bin/bash# 查找 Linux 系统中的僵尸进程 # awk 判断 ps 命令输出的第 8 列为 Z 是,显示该进程的 PID 和进程命令ps aux | awk '{if($8 == "Z"){print $2,$11}}'
#!/bin/bash# 提示用户输入年份后判断该年是否为闰年 # 能被4整除并且并不能被100整除的年份是闰年# 能被400整除的年份也是闰年read -p "请输入一个年份:" year if [ "$year" = "" ];then echo "没有输入年份" exitfi#使用正则测试变量 year 中是否包含大小写字母if [[ "$year" =~ [a‐Z] ]];then echo "你输入的不是数字" exitfi# 判断是否为闰年if [ $[year % 4] -eq 0 ] && [ $[year % 100] -ne 0 ];then echo "$year年是闰年" elif [ $[year % 400] -eq 0 ];then echo "$year年是闰年"else echo "$year年不是闰年"fi
#!/bin/bash# 生成随机密码(urandom 版本) # /dev/urandom 文件是 Linux 内置的随机设备文件# cat /dev/urandom 可以看看里面的内容,ctrl+c 退出查看# 查看该文件内容后,发现内容有些太随机,包括很多特殊符号,我们需要的密码不希望使用这些符号# tr ‐dc '_A‐Za‐z0‐9' < /dev/urandom# 该命令可以将随机文件中其他的字符删除,仅保留大小写字母,数字,下划线,但是内容还是太多# 我们可以继续将优化好的内容通过管道传递给 head 命令,在大量数据中仅显示头 10 个字节# 注意 A 前面有个下划线tr -dc '_A‐Za‐z0‐9' </dev/urandom | head -c 10
#!/bin/bash# 生成随机密码(字串截取版本) # 设置变量 key,存储密码的所有可能性(密码库),如果还需要其他字符请自行添加其他密码字符# 使用$#统计密码库的长度key="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"num=${#key}# 设置初始密码为空pass=''# 循环 8 次,生成随机密码# 每次都是随机数对密码库的长度取余,确保提取的密码字符不超过密码库的长度# 每次循环提取一位随机密码,并将该随机密码追加到 pass 变量的最后for i in {1..8}do index=$[RANDOM%num] pass=$pass${key:$index:1}doneecho $pass
#!/bin/bash# 生成随机密码(UUID 版本,16 进制密码) uuidgen
#!/bin/bash# 生成随机密码(进程 ID 版本,数字密码)echo $$
#!/bin/bash# 测试用户名与密码是否正确 #用户名为 tom 并且密码为 123456,则提示登录成功,否则提示登录失败read -p "请输入用户名:" userread -p "请输入密码:" passif [ "$user" == 'tom' -a "$pass" == '123456' ];then echo "Login successful"else echo "Login Failed"fi
#!/bin/bash# 循环测试用户名与密码是否正确 # 循环测试用户的账户名和密码,最大测试 3 次,输入正确提示登录成功,否则提示登录失败# 用户名为 tom 并且密码为 123456 for i in {1..3}do read -p "请输入用户名:" user read -p "请输入密码:" passif [ "$user" == 'tom' -a "$pass" == '123456' ];then echo "Login successful" exitfidoneecho "Login Failed"
#!/bin/bash# Shell 脚本的 fork 炸弹 # 快速消耗计算机资源,致使计算机死机# 定义函数名为.(点), 函数中递归调用自己并放入后台执行.() { .|.& };.