运维工程师是保障系统稳定运行的核心角色,日常工作中需要熟练掌握各类命令,通过命令行高效完成服务器管理、故障排查、性能监控等任务,以下从系统管理、网络诊断、服务管理、安全运维、性能监控五大维度,详细梳理运维工程师常用命令及其使用场景。

系统管理命令
系统管理是运维工作的基础,涉及文件操作、用户管理、进程控制等核心操作。
文件与目录操作
ls
:列出目录内容,常用参数-l
(显示详细信息,如权限、所有者、大小)、-a
(显示隐藏文件)、-h
(以人类可读格式显示文件大小,如K/M/G)。cd
:切换目录,cd ..
返回上级目录,cd -
返回上一级目录,cd ~
切换至当前用户家目录。cp
:复制文件或目录,-r
参数用于递归复制目录(如cp -r /src /dest
),-p
保留文件属性(权限、时间戳等)。mv
:移动文件/目录或重命名,如mv file1.txt /backup/
(移动文件),mv old.txt new.txt
(重命名)。rm
:删除文件/目录,-f
强制删除(不提示),-r
递归删除目录(慎用,如rm -rf /
会导致系统崩溃)。mkdir
:创建目录,-p
递归创建多级目录(如mkdir -p /a/b/c
)。touch
:创建空文件或更新文件时间戳,如touch newfile.txt
。find
:按条件查找文件,如find / -name "*.log" -mtime +7
(查找根目录下7天前修改的.log文件)。grep
:文本搜索,-i
忽略大小写,-r
递归搜索目录,如grep -r "error" /var/log/
(在日志目录中搜索包含"error"的行)。
用户与权限管理
useradd
/userdel
:添加/删除用户,-m
自动创建家目录(如useradd -m testuser
),userdel -r testuser
(删除用户及家目录)。passwd
:修改用户密码,普通用户只能修改自己的密码,root可修改任意用户密码。chmod
:修改文件权限,-R
递归修改目录权限,如chmod 755 script.sh
(所有者可读写执行,组用户和其他用户可读执行)。chown
:修改文件所有者,-R
递归修改,如chown -R testuser:testgroup /data/
(将/data目录及其下文件所有者改为testuser,所属组改为testgroup)。
网络诊断命令
网络问题是服务器故障的常见原因,熟练使用网络诊断命令可快速定位问题。
ping
:测试网络连通性,-c
指定发送包数量(如ping -c 4 8.8.8.8
),-i
设置间隔时间。ifconfig
/ip addr
:查看/配置网卡信息,ifconfig
传统命令(需安装net-tools),ip addr
为iproute2工具集命令(推荐),如ip addr show eth0
查看eth0网卡IP。netstat
/ss
:查看网络连接状态,netstat -tuln
(显示监听的TCP/UDP端口),ss -tuln
(更高效的替代工具,显示socket统计信息)。curl
/wget
:下载文件或测试HTTP服务,curl -I http://example.com
(查看HTTP响应头),wget -O file.zip http://example.com/file.zip
(下载文件并重命名)。traceroute
/mtr
:路由跟踪,traceroute 8.8.8.8
(显示到目标主机的路由路径),mtr 8.8.8.8
(持续跟踪,结合ping和traceroute优势,实时显示网络延迟)。nslookup
/dig
:DNS查询,nslookup example.com
(查询域名对应的IP),dig example.com
(更详细的DNS解析信息,包括权威服务器、解析记录等)。
服务管理命令
服务器上运行着各类服务(如Nginx、MySQL、Redis等),需通过命令管理服务状态。
systemctl
:CentOS 7+、Ubuntu 16+系统服务管理工具,常用命令:systemctl start nginx
(启动服务)systemctl stop nginx
(停止服务)systemctl restart nginx
(重启服务)systemctl reload nginx
(重新加载配置,不中断服务)systemctl enable nginx
(设置开机自启)systemctl status nginx
(查看服务状态)
service
:传统系统服务管理工具(CentOS 6、Ubuntu 14等),如service nginx start
、service --status-all
(查看所有服务状态)。ps
/top
/htop
:查看进程信息,ps -ef
(显示所有进程详细信息),top
(动态显示进程资源占用,按q
退出),htop
(增强版top,支持鼠标操作、进程树显示)。kill
/pkill
:终止进程,kill -9 PID
(强制终止进程,-9为SIGKILL信号),pkill -f nginx
(按进程名终止,-f表示匹配完整命令行)。
安全运维命令
安全是运维工作的重中之重,需通过命令定期检查系统安全、审计操作日志。

last
:查看用户登录历史,记录登录时间、IP、终端等信息,如last | grep root
(查看root用户的登录记录)。lastb
:查看失败登录尝试,用于检测暴力破解攻击。history
:查看命令历史记录,history -c
(清空当前会话历史),echo $HISTSIZE
(查看历史记录保存条数)。chmod
/chattr
:文件权限与属性安全,chattr +i /etc/passwd
(设置文件不可删除、修改,仅root可操作),chattr -i /etc/passwd
(取消属性)。fail2ban
:防暴力破解工具,通过fail2ban-client status
查看封禁状态,配置文件位于/etc/fail2ban/jail.local
。iptables
/firewalld
:防火墙管理,iptables -L -n
(列出iptables规则),firewall-cmd --list-all
(查看firewalld规则,CentOS 7+默认)。
性能监控命令
监控系统性能是保障服务稳定运行的关键,需实时关注CPU、内存、磁盘、网络等资源使用情况。
top
/htop
:实时监控进程资源占用,top
按1
可查看各CPU核心使用率,按M
按内存排序,按P
按CPU排序。free
:查看内存使用情况,-h
以人类可读格式显示(如free -h
,显示总内存、已用、空闲、缓存等)。df
:查看磁盘空间使用率,-h
显示友好单位(如df -h
),-i
查看inode使用情况(避免inode耗尽导致无法创建文件)。iostat
:监控磁盘I/O性能,需安装sysstat工具,iostat -dx 2
(每2秒输出一次磁盘I/O统计,包括利用率、读写速率)。vmstat
:监控系统虚拟内存、进程、CPU活动,vmstat 1
(每秒输出一次,如r值表示运行队列进程数,b表示等待I/O的进程数)。sar
:系统性能历史数据收集工具,sar -u 1 5
(每秒收集1次CPU使用情况,共5次),数据存储在/var/log/sa/
目录下。
常用命令速查表
功能分类 | 命令 | 常用参数及示例 |
---|---|---|
文件操作 | find |
find / -name "*.log" -mtime +7 (查找7天前的日志) |
网络诊断 | ss |
ss -tuln (查看监听端口) |
服务管理 | systemctl |
systemctl restart nginx (重启Nginx服务) |
进程监控 | htop |
按P 按CPU排序,按M 按内存排序 |
磁盘空间 | df |
df -h (以人类可读格式显示磁盘使用率) |
内存使用 | free |
free -h (显示内存、交换分区使用情况) |
相关问答FAQs
Q1:如何查看某个进程占用的端口?
A:可通过ss
或netstat
结合grep
查找,例如查看Nginx进程占用的端口:
ss -tuln | grep nginx # 或 netstat -tuln | grep nginx
若需反向查找(通过端口查进程),可使用lsof
:
lsof -i :80 # 查看80端口被哪个进程占用
Q2:服务器磁盘空间不足,如何快速定位大文件或目录?
A:使用du
命令递归查看目录大小,结合sort
排序:

du -sh /* | sort -hr # 查看根目录下各一级目录大小,按从大到小排序
若需查找特定目录下的大文件(如超过100MB的文件):
find /var/log -type f -size +100M # 查找/var/log目录下大于100MB的文件
定位后可使用gzip
压缩或rm
删除(需谨慎,确保非重要文件)。