CentOS Bash 例子:提升Linux命令行技能的實用指南
Bash是CentOS系統(tǒng)中默認的shell環(huán)境,掌握Bash命令和腳本編寫可以極大提高系統(tǒng)管理效率。本文將通過一系列實用的例子,幫助你深入了解CentOS Bash的強大功能。
1. 文件操作示例
以下是一個批量重命名文件的Bash腳本:
#!/bin/bash
for file in *.txt
do
mv "$file" "${file%.txt}.bak"
done
這個腳本將當前目錄下所有.txt文件的擴展名改為.bak。
2. 系統(tǒng)信息查詢
使用以下命令可以快速查看系統(tǒng)資源使用情況:
echo "CPU使用率:"
top -bn1 | grep "Cpu(s)" | sed "s/.*, *([0-9.]*)%* id.*/1/" | awk '{print 100 - $1"%"}'
echo "內(nèi)存使用情況:"
free -m | awk 'NR==2{printf "使用率: %.2f%%n", $3*100/$2}'
echo "磁盤使用情況:"
df -h | awk '$NF=="/"{printf "使用率: %sn", $5}'
3. 網(wǎng)絡監(jiān)控腳本
以下腳本可以監(jiān)控網(wǎng)絡連接并記錄日志:
#!/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): 網(wǎng)絡連接正常" >> $LOG_FILE
else
echo "$(date): 網(wǎng)絡連接失敗" >> $LOG_FILE
fi
sleep 300
done
4. 用戶管理自動化
批量創(chuàng)建用戶的腳本示例:
#!/bin/bash
USERS_FILE="users.txt"
while IFS=: read -r username password
do
useradd -m "$username"
echo "$username:$password" | chpasswd
echo "用戶 $username 已創(chuàng)建"
done
5. 日志分析工具
使用awk命令分析Apache訪問日志:
awk '{print $1}' /var/log/httpd/access_log | sort | uniq -c | sort -nr | head -n 10
這個命令可以顯示訪問你網(wǎng)站最頻繁的前10個IP地址。
結語
通過這些CentOS Bash例子,你可以看到Shell腳本的強大功能。持續(xù)學習和實踐這些技巧,將幫助你更高效地管理Linux系統(tǒng),提高工作效率。記住,最好的學習方法是動手實踐,嘗試修改這些腳本以適應你的具體需求。