CentOS Bash 例子:提升Linux命令行技能的實(shí)用指南
Bash是CentOS系統(tǒng)中默認(rèn)的shell環(huán)境,掌握Bash命令和腳本編寫可以極大提高系統(tǒng)管理效率。本文將通過一系列實(shí)用的例子,幫助你深入了解CentOS Bash的強(qiáng)大功能。
1. 文件操作示例
以下是一個(gè)批量重命名文件的Bash腳本:
#!/bin/bash
for file in *.txt
do
mv "$file" "${file%.txt}.bak"
done
這個(gè)腳本將當(dāng)前目錄下所有.txt文件的擴(kuò)展名改為.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)絡(luò)監(jiān)控腳本
以下腳本可以監(jiān)控網(wǎng)絡(luò)連接并記錄日志:
#!/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)絡(luò)連接正常" >> $LOG_FILE
else
echo "$(date): 網(wǎng)絡(luò)連接失敗" >> $LOG_FILE
fi
sleep 300
done
4. 用戶管理自動(dòng)化
批量創(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
這個(gè)命令可以顯示訪問你網(wǎng)站最頻繁的前10個(gè)IP地址。
結(jié)語
通過這些CentOS Bash例子,你可以看到Shell腳本的強(qiáng)大功能。持續(xù)學(xué)習(xí)和實(shí)踐這些技巧,將幫助你更高效地管理Linux系統(tǒng),提高工作效率。記住,最好的學(xué)習(xí)方法是動(dòng)手實(shí)踐,嘗試修改這些腳本以適應(yīng)你的具體需求。