CentOS Bash 例子:提升Linux命令行技能的实用指南

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系统,提高工作效率。记住,最好的学习方法是动手实践,尝试修改这些脚本以适应你的具体需求。

寰宇互联服务器4核4G云服务器1元/月,网络稳定、抗DDos、国际BGP、性能强劲,十年服务经验QQ:97295700 微信:huanidc

阅读剩余
THE END