1.批量下载有序文件(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
选项指定下载文件另存到哪里
.
2.显示当前计算机中所有账户的用户名称
#!/bin/bash
#
下面使用
3
中不同的方式列出计算机中所有账户的用户名
#
指定以
:
为分隔符,打印
/etc/passwd
文件的第
1
列
awk ‐F: '{print $1}' /etc/passwd
#
指定以
:
为分隔符,打印
/etc/passwd
文件的第
1
列
cut ‐d: ‐f1 /etc/passwd
#
使用
sed
的替换功能,将
/etc/passwd
文件中
:
后面的所有内容替换为空(仅显示用户名)
sed 's/:.*//' /etc/passwd
3.制定目录路径,脚本自动将该目录使用 tar 命令打包备份到/data 目录
#!/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
4.循环测试用户名与密码是否正确
#!/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"
5.测试用户名与密码是否正确
#!/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
6. 查找 Linux 系统中的僵尸进程
#!/bin/bash
#awk
判断
ps
命令输出的第
8
列为
Z
是,显示该进程的
PID
和进程命令
ps aux |awk '{if($8 == "Z"){print $2,$11}}'
7.删除某个目录下大小为 0 的文件
#!/bin/bash
#/var/www/html
为测试目录,脚本会清空该目录下所有
0
字节的文件
dir="/var/www/html"
find $dir ‐type f ‐size 0 ‐exec rm ‐rf {} \;
8.非交互自动生成 SSH 密钥文件
#!/bin/bash
#‐t
指定
SSH
密钥的算法为
RSA
算法;
‐N
设置密钥的密码为空;
‐f
指定生成的密钥文件存放在哪里
rm ‐rf ~/.ssh/{known_hosts,id_rsa*}
ssh‐keygen ‐t RSA ‐N '' ‐f ~/.ssh/id_rsa
9.将文件中所有的小写字母转换为大写字母
#!/bin/bash
#$1
是位置参数,是你需要转换大小写字母的文件名称
#
执行脚本,给定一个文件名作为参数,脚本就会将该文件中所有的小写字母转换为大写字母
tr "[a‐z]" "[A‐Z]" < $1
10.根据 md5 校验码,检测文件是否被修改
#!/bin/bash
#
本示例脚本检测的是
/etc
目录下所有的
conf
结尾的文件,根据实际情况,您可以修改为其他目录或文件
#
本脚本在目标数据没有被修改时执行一次,当怀疑数据被人篡改,再执行一次
#
将两次执行的结果做对比,
MD5
码发生改变的文件,就是被人篡改的文件
for i in $(ls /etc/*.conf)
do
md5sum "$i" >> /var/log/conf_file.log
done