lin 发表于 2025-4-18 14:20:55

Linux 运维工程师实战指南:常用命令详解与应用场景

本帖最后由 lin 于 2025-4-18 14:30 编辑

在 Linux 运维工作中,掌握核心命令的使用是第一步。本文将结合日常运维场景,深入讲解一线运维常用命令的作用、语法和实际案例,帮助你从“会用”到“用得好”。
一、系统资源监控
资源监控是每个运维工程师的日常功课,主要看 CPU、内存、磁盘、负载等情况。
1.1 top:实时监控系统资源使用
top作用:实时显示系统中各个进程的资源占用情况(CPU、内存等)。
常见快捷键:

[*]P:按 CPU 占用排序
[*]M:按内存占用排序
[*]q:退出
示例:
top -b -n 1 | head -n 20这个命令以批处理方式运行 top(便于脚本使用),只输出一次并显示前 20 行结果。
1.2 free:查看内存使用情况
free -h作用:显示系统内存和 swap 使用情况。

[*]-h 参数表示以人类可读方式输出(如 MB、GB)。
常用字段说明:

[*]total:总内存
[*]used:已用内存
[*]free:空闲内存
[*]available:应用可用内存(比 free 更准确)
1.3 df:查看磁盘使用情况
df -h作用:显示各挂载分区的磁盘使用情况。

[*]-h 表示以人类可读方式显示
[*]关注点:

[*]是否有磁盘使用率接近 100%
[*]挂载点 /、/var、/home 是否空间不足
二、系统负载与进程排查
2.1 uptime:查看系统负载
uptime输出样例:
16:40:51 up 3 days,5:12,2 users,load average: 0.23, 0.45, 0.55
[*]第三个字段是负载(1分钟、5分钟、15分钟平均负载)
[*]一般来说,负载值 <= CPU核心数 是正常的
2.2 ps:查看进程信息
ps aux | grep nginx
[*]a:显示所有用户的进程
[*]u:显示用户信息
[*]x:显示没有控制终端的进程
示例:查看内存占用前 10 的进程
ps aux --sort=-%mem | head -n 10三、日志查看与分析
日志是排查问题的第一线工具。
3.1 tail:查看日志结尾
tail -n 100 /var/log/messages
[*]-n 100 表示查看最后 100 行
[*]可用于分析系统报错或应用日志(如 nginx、mysql)
实时跟踪日志变化:
tail -f /var/log/nginx/error.log3.2 grep:关键词过滤
grep "error" /var/log/nginx/error.log
[*]快速定位包含关键字的日志行
[*]支持正则表达式,配合 tail 使用效率更高

四、服务状态管理

[*]服务的启动、停止、重启是常见操作。

4.1 systemctl:管理系统服务(CentOS 7+)
# 查看 nginx 状态
systemctl status nginx# 启动 nginx
systemctl start nginx# 停止 nginx
systemctl stop nginx# 重启 nginx
systemctl restart nginx# 设置开机启动
systemctl enable nginx五、网络检查与端口排查
5.1 netstat / ss:查看端口占用
# 查看 80 端口是否被监听
netstat -tunlp | grep 80# 或者使用 ss(推荐)
ss -tlnp | grep 80
[*]t:TCP 连接
[*]u:UDP 连接
[*]l:监听状态
[*]n:显示数字 IP 和端口
[*]p:显示进程 PID

5.2 ping / curl:网络连通性检查
ping -c 4 www.baidu.com
[*]检查是否能访问目标主机,-c 指定次数
curl -I http://localhost
[*]查看网页的 HTTP 响应头,检查是否响应正常
六、文件与权限管理
6.1 ls:列出文件信息
ls -l
[*]显示详细属性(权限、大小、修改时间等)

6.2 chmod / chown:权限修改
chmod 755 filenamechown nginx:nginx filename
[*]filename为实例文件名,根据实际情况修改。
[*]chmod 修改权限(如 rwxr-xr-x)
[*]chown 修改所属用户和用户组

七、计划任务与备份
7.1 crontab:设置定时任务
crontab -e示例:每天凌晨2点备份网站目录
0 2 * * * tar -zcvf /backup/site_$(date +\%F).tar.gz /var/www/html八、脚本应用示例
批量检查 IP 是否可达:
#!/bin/bash
for ip in $(cat ip_list.txt); do
ping -c 1 $ip &> /dev/null
if [ $? -eq 0 ]; then
    echo "$ip is reachable"
else
    echo "$ip is unreachable"
fi
done总结
Linux 运维工作离不开命令行的高效使用。本文涵盖了系统巡检、服务管理、日志分析、网络排查、权限控制等常见命令,并配以详细说明和示例。
运维的本质是 自动化 + 效率 + 稳定性,掌握命令只是第一步,进一步还需学习:

[*]Shell 脚本编程
[*]自动化工具(如 Ansible、SaltStack)
[*]容器化技术(Docker、Kubernetes)
[*]监控系统(Zabbix、Prometheus)




傲来云 发表于 2025-4-18 14:36:10

挺实用的
页: [1]
查看完整版本: Linux 运维工程师实战指南:常用命令详解与应用场景