侧边栏壁纸
  • 累计撰写 16 篇文章
  • 累计收到 4 条评论

Linux运维常用命令和脚本指南

2025-1-9 / 0 评论 / 14758 阅读

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
}

评论一下?

OωO
取消