Shell脚本是一种使用Shell编程语言编写的脚本文件,它允许用户通过命令行对系统进行自动化操作。Shell脚本在Linux和Unix系统中非常常见,因为它们可以简化许多日常任务,提高工作效率。以下是一些轻松入门的Shell脚本实用案例解析,帮助您快速掌握Shell脚本的基本用法。
1. 文件夹创建与删除
案例描述: 自动创建指定数量的文件夹,并在完成后删除这些文件夹。
脚本代码:
#!/bin/bash
# 创建文件夹
for i in {1..5}
do
mkdir folder$i
done
# 删除文件夹
for i in {1..5}
do
rm -rf folder$i
done
2. 文件搜索与替换
案例描述: 在当前目录及其子目录中搜索包含特定字符串的文件,并将这些文件中的字符串替换为另一个字符串。
脚本代码:
#!/bin/bash
# 搜索文件并替换字符串
find . -type f -name "*.txt" -exec grep -l "oldString" {} \; | xargs sed -i 's/oldString/newString/g'
3. 自动备份
案例描述: 每天自动备份指定目录,并将备份文件存放在另一个位置。
脚本代码:
#!/bin/bash
# 备份目录
sourceDir="/path/to/source"
backupDir="/path/to/backup"
# 创建备份文件夹
mkdir -p $backupDir
# 备份文件
cp -r $sourceDir $backupDir/backup_$(date +%Y%m%d)
4. 监控CPU使用率
案例描述: 定时监控CPU使用率,并将结果保存到文件中。
脚本代码:
#!/bin/bash
# 监控CPU使用率
while true
do
echo "CPU Usage:" $(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')
sleep 5
done > cpu_usage.log
5. 检查网络连接
案例描述: 检查指定IP地址或域名是否可达。
脚本代码:
#!/bin/bash
# 检查网络连接
if ping -c 1 www.google.com &> /dev/null
then
echo "Connection is up"
else
echo "Connection is down"
fi
6. 文件大小统计
案例描述: 统计指定目录下所有文件的大小,并按大小排序。
脚本代码:
#!/bin/bash
# 统计文件大小
du -sh /path/to/directory/* | sort -rh | head -n 10
7. 自动安装软件
案例描述: 自动安装指定软件包。
脚本代码:
#!/bin/bash
# 安装软件
sudo apt-get update
sudo apt-get install -y software-package
8. 创建用户
案例描述: 创建指定用户,并设置密码。
脚本代码:
#!/bin/bash
# 创建用户
sudo useradd -m username
# 设置密码
echo "username:password" | chpasswd
9. 检查服务状态
案例描述: 检查指定服务的状态,并输出结果。
脚本代码:
#!/bin/bash
# 检查服务状态
if systemctl is-active --quiet service-name
then
echo "Service is running"
else
echo "Service is not running"
fi
10. 日志文件监控
案例描述: 监控指定日志文件,当文件大小超过特定阈值时发送警告。
脚本代码:
#!/bin/bash
# 监控日志文件
logFile="/path/to/logfile.log"
maxSize=1024 # 单位为KB
# 获取文件大小
size=$(du -k $logFile | cut -f1)
# 检查文件大小是否超过阈值
if [ $size -gt $maxSize ]
then
echo "Log file size exceeds threshold"
# 发送警告(例如:发送邮件)
fi
通过以上案例,您可以初步了解Shell脚本的基本用法。在实际应用中,Shell脚本可以根据您的需求进行定制和扩展。祝您学习愉快!
