查找 Linux 系统中的僵尸进程
ps aux | awk '{if($8 == "Z"){print $2,$11}}'
提示用户输入年份后测试判断是否为闰年
read - p "请输入一个年份:" year
if [ "$year " = "" ] ; then
echo "没有输入年份"
exit
fi
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
生成随机密码(urandom 版本)
tr - dc '_A-Za-z0-9' </ dev/ urandom | head - c 10
生成随机密码(子串截取版本)
key="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
num=${
pass=''
for i in {
1. . 8}
do
index=$[RANDOM%num]
pass=$pass ${
key:$index :1}
done
echo $pass
生成随机密码(UUID 版本,16 进制密码)
uuidgen
生成随机密码(进程 ID 版本,数字密码)
echo $$
测试用户名与密码是否正确
read - p "请输入用户名:" user
read - p "请输入密码:" pass
if [ "$user " == 'tom' - a "$pass " == '123456' ] ; then
echo "Login successful"
else
echo "Login Failed"
fi
循环测试用户名与密码是否正确
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"
Shell 脚本的 fork 炸弹
. ( ) {
. | . & } ; .
批量下载有序文件(pdf、图片、视频等等)
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
显示当前计算机中所有账户的用户名称
```powershell
awk - F: '{print $1}' / etc/ passwd
cut - d: - f1 / etc/ passwd
sed 's/:.*//' / etc/ passwd
62. 制定目录路径,脚本自动将该目录使用 tar 命令打包备份到/data 目录
```powershell
#!/bin/bash
[ ! -d /data ] && mkdir /data
[ -z $1 ] && exit
if [ -d $1 ];then
tar -czf /data/$1.-`date +%Y%m%d`.tar.gz $1
else
echo "该目录不存在"
fi
显示进度条(回旋镖版)
while :
do
clear
for i in {
1. . 20}
do
echo - e "\033[3;${i}H*"
sleep 0. 1
done
clear
for i in {
20. . 1}
do
echo - e "\033[3;${i}H*"
sleep 0. 1
done
clear
done
安装 LAMP 环境(yum 版本)
yum makecache &>/ dev/ null
num=$( yum repolist | awk '/repolist/{print $2}' | sed 's/,//' )
if [ $num -lt 0 ] ; then
yum - y install httpd
yum - y install mariadb mariadb- server mariadb- devel
yum - y install php