CentOS Bash 例子:提升Linux命令行技能的实用指南
Bash是CentOS系统中默认的shell环境,掌握Bash命令和脚本编写可以极大提高系统管理效率。本文将通过一系列实用的例子,帮助你深入了解CentOS Bash的强大功能。
1. 文件操作示例
以下是一个批量重命名文件的Bash脚本:
#!/bin/bash
for file in *.txt
do
mv "$file" "${file%.txt}.bak"
done
这个脚本将当前目录下所有.txt文件的扩展名改为.bak。
2. 系统信息查询
使用以下命令可以快速查看系统资源使用情况:
echo "CPU使用率:"
top -bn1 | grep "Cpu(s)" | sed "s/.*, *([0-9.]*)%* id.*/1/" | awk '{print 100 - $1"%"}'
echo "内存使用情况:"
free -m | awk 'NR==2{printf "使用率: %.2f%%n", $3*100/$2}'
echo "磁盘使用情况:"
df -h | awk '$NF=="/"{printf "使用率: %sn", $5}'
3. 网络监控脚本
以下脚本可以监控网络连接并记录日志:
#!/bin/bash
LOG_FILE="/var/log/network_monitor.log"
while true
do
ping -c 4 8.8.8.8 > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo "$(date): 网络连接正常" >> $LOG_FILE
else
echo "$(date): 网络连接失败" >> $LOG_FILE
fi
sleep 300
done
4. 用户管理自动化
批量创建用户的脚本示例:
#!/bin/bash
USERS_FILE="users.txt"
while IFS=: read -r username password
do
useradd -m "$username"
echo "$username:$password" | chpasswd
echo "用户 $username 已创建"
done
5. 日志分析工具
使用awk命令分析Apache访问日志:
awk '{print $1}' /var/log/httpd/access_log | sort | uniq -c | sort -nr | head -n 10
这个命令可以显示访问你网站最频繁的前10个IP地址。
结语
通过这些CentOS Bash例子,你可以看到Shell脚本的强大功能。持续学习和实践这些技巧,将帮助你更高效地管理Linux系统,提高工作效率。记住,最好的学习方法是动手实践,尝试修改这些脚本以适应你的具体需求。