Linux运维常用命令和脚本指南
1. 系统信息查看命令
系统信息
uname -a # 查看系统完整信息
cat /etc/os-release # 查看系统版本
uptime # 查看系统运行时间和负载
hostname # 查看主机名
资源监控
top # 实时系统资源监控
htop # 更友好的top替代工具
free -h # 查看内存使用情况
df -h # 查看磁盘使用情况
du -sh * # 查看当前目录下各文件夹大小
iostat # 查看IO统计信息
vmstat # 查看虚拟内存统计信息
2. 进程管理
进程操作
ps aux # 查看所有进程
ps -ef | grep process_name # 查找特定进程
kill -9 pid # 强制终止进程
killall process_name # 终止同名进程
pgrep process_name # 查找进程ID
服务管理
systemctl start service_name # 启动服务
systemctl stop service_name # 停止服务
systemctl restart service_name # 重启服务
systemctl status service_name # 查看服务状态
systemctl enable service_name # 设置开机自启
3. 文件操作
文件管理
ls -la # 查看详细文件列表
cp -r source dest # 复制文件或目录
mv source dest # 移动文件或重命名
rm -rf file/dir # 删除文件或目录
chmod 755 file # 修改文件权限
chown user:group file # 修改文件所有者
文件查找
find / -name filename # 按名称查找文件
find / -type f -size +100M # 查找大于100M的文件
locate filename # 快速查找文件
grep -r "text" /path # 递归查找文本内容
4. 网络管理
网络配置
ifconfig # 查看网络接口信息
ip addr # 查看IP地址
netstat -tunlp # 查看网络连接状态
ss -tunlp # 另一个查看套接字状态的工具
route -n # 查看路由表
网络诊断
ping host # 测试网络连通性
traceroute host # 跟踪路由
nslookup domain # DNS查询
curl -I URL # 检查网站响应
wget URL # 下载文件
5. 实用运维脚本
系统监控脚本
#!/bin/bash
# 监控系统资源使用情况
while true
do
echo "==== 系统监控 ===="
date
echo "CPU使用率:"
top -bn1 | grep "Cpu(s)" | awk '{print $2}'
echo "内存使用情况:"
free -h
echo "磁盘使用情况:"
df -h
sleep 60
done
日志清理脚本
#!/bin/bash
# 清理超过30天的日志文件
LOG_DIR="/var/log"
DAYS=30
find $LOG_DIR -type f -name "*.log" -mtime +$DAYS -exec rm -f {} \;
echo "已清理${DAYS}天前的日志文件"
备份脚本
#!/bin/bash
# 数据库备份脚本
DB_USER="username"
DB_PASS="password"
DB_NAME="database"
BACKUP_DIR="/backup"
DATE=$(date +%Y%m%d)
# 创建备份目录
mkdir -p $BACKUP_DIR
# 备份数据库
mysqldump -u$DB_USER -p$DB_PASS $DB_NAME > $BACKUP_DIR/$DB_NAME-$DATE.sql
# 压缩备份文件
gzip $BACKUP_DIR/$DB_NAME-$DATE.sql
# 删除30天前的备份
find $BACKUP_DIR -type f -name "*.gz" -mtime +30 -delete
6. 安全相关
防火墙管理
firewall-cmd --list-all # 查看防火墙规则
firewall-cmd --add-port=80/tcp --permanent # 开放端口
firewall-cmd --remove-port=80/tcp --permanent # 关闭端口
firewall-cmd --reload # 重载防火墙配置
用户管理
useradd username # 创建用户
passwd username # 设置密码
usermod -aG group user # 将用户加入组
userdel -r username # 删除用户及主目录
7. 性能优化
系统优化
# 查看系统限制
ulimit -a
# 修改系统限制(/etc/security/limits.conf)
* soft nofile 65535
* hard nofile 65535
# 优化内核参数(/etc/sysctl.conf)
net.ipv4.tcp_max_syn_backlog = 65536
net.core.somaxconn = 32768
性能分析工具
dstat # 系统资源统计
sar # 系统活动报告
perf # 性能分析工具
strace # 跟踪系统调用
8. 日志管理
日志查看
tail -f /var/log/messages # 实时查看系统日志
journalctl -u service_name # 查看服务日志
grep -r "error" /var/log/ # 搜索错误日志
zcat access.log.gz | grep "pattern" # 查看压缩日志
日志轮转配置
# /etc/logrotate.d/custom
/var/log/custom.log {
daily
rotate 7
compress
delaycompress
missingok
notifempty
create 644 root root
}
评论一下?