菜鸟科技网

系统运维常用命令有哪些必备技能?

系统运维工作中,命令行是高效管理服务器的核心工具,掌握常用命令能快速排查问题、优化性能,以下从文件管理、磁盘监控、网络诊断、进程管理、系统信息查询五个维度,结合具体场景和参数详解常用命令。

系统运维常用命令有哪些必备技能?-图1
(图片来源网络,侵删)

文件与目录管理

文件操作是运维基础,lscdcpmvrm 命令需熟练搭配参数使用。ls -laht 可按修改时间倒序显示所有文件(含隐藏文件),并显示文件大小;cp -r /source /destination 递归复制整个目录;rm -rf /path/to/dir 强制删除非空目录(需谨慎使用),文本查看中,cat 适合小文件快速输出,less 支持分页浏览大文件,tail -f /var/log/nginx/access.log 实时追踪日志更新,排查实时故障时必备,批量修改文件名可结合 rename 命令,如 rename 's/\.log$/\.bak/' *.log 将当前目录下所有 .log 文件扩展名改为 .bak

磁盘与存储监控

磁盘空间不足是常见故障,df -h 以人类可读格式(GB/MB)显示各分区使用情况,du -sh /* 则递归统计根目录下各子目录大小,定位大文件占用,当磁盘 I/O 性能异常时,iostat -dx 2 每2秒输出磁盘详细统计(如util、await、svctm),iotop 命令类似 top,可实时进程级磁盘读写排序,文件系统检查中,fsck /dev/sda1 需在卸载分区后执行,修复文件系统错误;mount -o remount,rw /dev/sdb1 /data 可重新挂载分区并调整读写权限。

网络诊断与配置

网络问题排查需结合多层级命令:ping -c 4 8.8.8.8 发送4个包测试连通性;traceroute -n www.baidu.com 显示路由路径(-n 避免DNS解析加速);netstat -tuln 列出所有监听端口及协议,ss -tuln 是其替代工具(性能更优),抓包分析时,tcpdump -i eth0 -nn 'port 80' 监听eth0网卡80端口的HTTP流量,-nn 避免IP和端口解析,防火墙规则管理中,iptables -L -n --line-numbers 查看链规则并显示行号,iptables -I INPUT 5 -p tcp --dport 22 -j ACCEPT 在第5行插入允许SSH的规则。

进程与服务管理

进程管理是保障服务稳定的关键,ps -ef 显示所有进程完整信息,ps aux --sort=-%cpu 按CPU使用率倒序排序;top 动态监控进程,htop 提供更友好的交互界面(支持鼠标操作),结束进程时,kill -9 PID 强制终止(-9 为SIGKILL信号),killall nginx 通过进程名批量结束,服务管理中,systemctl status nginx 查看服务状态,systemctl restart nginx 重启服务,journalctl -u nginx -f 查看服务日志(-f 实时跟踪)。

系统运维常用命令有哪些必备技能?-图2
(图片来源网络,侵删)

系统信息与性能监控

快速获取系统信息可提升排查效率:uname -a 显示内核版本、主机名等完整信息;lscpu 查看CPU架构、核心数;free -h 以人类可读格式显示内存使用情况,性能监控中,vmstat 1 每秒输出CPU、内存、I/O等摘要信息,mpstat 1 专注CPU各核使用率统计;dmesg | tail 查看内核最新错误日志,定位硬件或驱动问题。

以下为常用命令速查表: | 功能分类 | 命令示例 | 说明 | |----------------|-----------------------------------|------------------------------------| | 文件列表 | ls -laht | 按时间倒序显示所有文件及大小 | | 实时日志 | tail -f /var/log/syslog | 实时跟踪系统日志更新 | | 磁盘空间 | df -h | 分区使用情况(人类可读格式) | | 目录大小 | du -sh /var/log | 统计指定目录总大小 | | 网络连通 | ping -c 3 192.168.1.1 | 发送3个测试包 | | 端口监听 | netstat -tuln | 显示所有监听端口 | | 进程监控 | top -p <PID> | 监控指定进程资源使用 | | 服务状态 | systemctl is-active sshd | 检查服务是否运行 | | 内存使用 | free -h | 内存及交换区使用情况 |

相关问答FAQs

Q1: 如何查找并删除某目录下7天前的旧日志文件?
A: 可结合 findrm 命令实现:find /var/log -name "*.log" -mtime +7 -exec rm -f {} \;,参数说明:/var/log 为搜索目录,-name "*.log" 匹配所有.log文件,-mtime +7 查找7天前修改的文件,-exec rm -f {} \; 对每个匹配文件执行强制删除,若需先确认文件列表,可先执行 find /var/log -name "*.log" -mtime +7 查看结果。

Q2: 服务器负载过高时,如何快速定位高CPU占用进程?
A: 分三步定位:① 使用 tophtop 查看进程级CPU占用,找到PID;② 若top中未显示完整进程名,可通过 ps -ef --sort=-%cpu | head -n 10 按CPU使用率排序查看前10个进程;③ 若需进一步分析,使用 strace -p <PID> 跟踪系统调用,或 perf top -p <PID> 分析CPU热点函数,最终通过 kill -9 <PID> 终止异常进程(谨慎操作)。

系统运维常用命令有哪些必备技能?-图3
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇