在CentOS运维工作中,熟练掌握常用命令是提升效率、保障系统稳定运行的基础,以下从系统管理、磁盘与文件操作、网络配置、服务管理、性能监控及安全维护六个维度,详细梳理常用命令及使用场景,并辅以表格归纳核心参数,最后附相关FAQs解答。

系统管理命令
系统管理是运维的核心,涉及系统信息查看、用户管理、进程控制等基础操作。
系统信息查看
uname -a
:显示系统所有信息(内核版本、主机名、系统架构等)。lscpu
:列出CPU详细信息(架构、核心数、线程数等),比cat /proc/cpuinfo
更直观。free -h
:以人类可读格式(GB/MB)显示内存使用情况,-m
参数以MB为单位。uptime
:显示系统运行时间、当前登录用户数及1/5/15分钟负载平均值。df -hT
:查看磁盘分区及文件系统类型(-T
显示文件系统类型,-h
以友好格式显示容量)。
用户与权限管理
useradd username
:创建新用户,默认创建家目录但无密码,需通过passwd username
设置密码。userdel -r username
:删除用户及家目录(-r
参数同时删除用户主目录)。sudo visudo
:编辑sudo
配置文件,为用户分配sudo权限(需谨慎操作,避免误修改)。chmod 755 file
:修改文件权限(7:所有者读写执行,5:组用户读执行,5:其他用户读执行)。chown user:group file
:修改文件所有者及所属组,-R
参数可递归修改目录下所有文件。
进程管理
ps -ef
:显示所有进程的详细信息(UID、PID、PPID、命令等),aux
参数组合可显示更多资源占用信息。top
:动态实时查看进程状态及资源占用,按P
按CPU排序、M
按内存排序、q
退出。kill -9 PID
:强制终止进程(-9
为信号码,表示强制终止),普通终止可用kill PID
(默认信号15)。pgrep -u username
:根据用户名查找进程PID,结合xkill
可批量终止用户进程。
磁盘与文件操作命令
磁盘与文件管理是日常运维高频操作,涉及文件查找、压缩、备份等。
文件与目录操作
ls -la
:列出所有文件(含隐藏文件)及详细信息(权限、所有者、大小、修改时间)。cp -r source_dir target_dir
:递归复制目录(-r
参数支持目录复制),-p
可保留文件属性。mv old_name new_name
:重命名文件/目录,或移动文件至其他目录(覆盖前无提示,需谨慎)。rm -rf dir
:强制递归删除目录(-r
递归、-f
强制无提示),危险操作建议先备份。find /path -name "file.txt"
:按文件名查找文件,支持通配符(如*.log
),-type f
仅查找文件、-type d
仅查找目录。
处理
cat file.txt
:查看文件全部内容,大文件建议用less file.txt
(支持分页浏览)。grep "keyword" file.txt
:在文件中搜索关键词,-i
忽略大小写、-v
反向匹配(不包含关键词的行)。tail -f log.txt
:实时查看文件尾部内容(常用于监控日志),-n 100
显示最后100行。wc -l file.txt
:统计文件行数,-w
统计单词数、-c
统计字节数。
压缩与备份
tar -czvf archive.tar.gz source_dir
:创建tar.gz压缩包(c
创建、z
gzip压缩、v
显示过程、f
指定文件名)。tar -xzvf archive.tar.gz -C /target
:解压至指定目录(x
解压、C
指定目标路径)。rsync -avz source/ target/
:远程同步文件(a
归档模式、v
显示过程、z
压缩传输),适用于增量备份。
网络配置与诊断命令
网络问题排查是运维常见场景,需熟练掌握网络配置及连通性测试命令。
网络配置
ip addr show
:显示所有网络接口IP信息(替代旧版ifconfig
),ip addr add 192.168.1.100/24 dev eth0
临时添加IP。netstat -tuln
:查看监听端口及协议(t
TCP、u
UDP、l
仅监听、n
以数字形式显示地址)。ss -tuln
:比netstat
更高效,同样用于查看端口监听状态,-p
显示占用端口的进程PID。curl -I http://example.com
:检查HTTP响应头(-I
仅获取响应头),用于快速判断服务是否可达。
网络诊断
ping -c 4 8.8.8.8
:测试网络连通性(-c
指定发送包数量,默认无限发送)。traceroute 8.8.8.8
:追踪数据包到目标主机的路径,定位网络延迟或中断点。telnet host port
:测试TCP端口是否可达(如telnet 192.168.1.1 80
),需安装telnet
包。nslookup domain.com
:查询域名解析记录,dig domain.com
提供更详细的DNS信息。
服务管理命令
CentOS 7+版本推荐使用systemd
管理服务,旧版使用service
或chkconfig
。

服务启停与状态
systemctl start nginx
:启动服务(stop
停止、restart
重启、reload
重载配置)。systemctl enable nginx
:设置服务开机自启(disable
禁用自启、is-enabled
检查是否已启用)。systemctl status nginx
:查看服务运行状态及日志(-l
显示完整日志)。journalctl -u nginx -f
:查看指定服务的系统日志(-u
指定服务、-f
实时跟踪)。
服务开机自启管理
chkconfig --list
:列出所有服务的开机启动状态(仅适用于SysVinit服务)。systemctl list-unit-files --type=service
:列出所有服务的启用状态(enabled
已启用、disabled
未启用)。
性能监控命令
性能监控是保障系统稳定的关键,需实时关注CPU、内存、磁盘I/O及网络负载。
CPU与内存监控
vmstat 1 5
:每秒输出一次系统状态,共5次(r
运行队列进程数、b
阻塞进程数、us
用户CPU、sy
系统CPU、free
空闲内存)。sar -u 1 5
:实时报告CPU使用率(需安装sysstat
包,-u
显示CPU、-r
显示内存)。pidstat -u -p PID 1
:监控指定进程的CPU使用情况(-u
CPU、-p
指定PID)。
磁盘I/O与网络监控
iostat -xz 1 5
:监控磁盘I/O性能(-x
显示扩展信息、-z
忽略无设备统计)。iftop -i eth0
:实时监控网络流量(-i
指定网卡,按n
显示主机名、t
排序)。
安全维护命令
安全是运维的重中之重,需定期检查系统安全、优化防火墙策略。
用户与登录安全
last
:查看用户登录历史记录(含登录时间、IP、终端)。lastb
:查看失败登录尝试记录(用于排查暴力破解)。passwd -l username
:锁定用户账户(-u
解锁),禁止登录。
防火墙与SELinux
firewall-cmd --list-all
:查看防火墙规则(CentOS 7+默认使用firewalld)。firewall-cmd --add-port=80/tcp --permanent
:永久开放80端口(--reload
重新加载生效)。getenforce
:检查SELinux状态(Enforcing
enforcing、Permissive
警告模式、Disabled
禁用)。setenforce 0
:临时关闭SELinux(重启后恢复,需修改/etc/selinux/config
永久关闭)。
核心命令参数速查表
命令类别 | 常用命令 | 核心参数说明 |
---|---|---|
系统信息 | uname -a |
-a 显示所有信息(内核、主机名、架构) |
内存查看 | free -h |
-h 人类可读格式(GB/MB),-m 以MB为单位 |
磁盘查看 | df -hT |
-h 友好格式,-T 显示文件系统类型 |
进程监控 | top |
P 按CPU排序,M 按内存排序,q 退出 |
文件查找 | find /path -name "file" |
-name 按文件名,-type f/d 仅文件/目录,-exec 执行操作(如-exec rm {} \; ) |
端口查看 | ss -tuln |
-t TCP,-u UDP,-l 仅监听,-n 数字形式,-p 显示进程PID |
服务管理 | systemctl start/enable nginx |
start 启动,enable 开机自启,status 查看状态,journalctl -u nginx 查看日志 |
相关FAQs
Q1:如何查看某个进程占用的端口?
A:可通过netstat -tulnp | grep PID
或ss -tulnp | grep PID
查看指定PID占用的端口,或直接用lsof -i :端口号
查看占用该端口的进程(如lsof -i :80
查看80端口占用情况)。
Q2:CentOS如何查看系统启动耗时?
A:使用systemd-analyze blame
命令可查看每个服务的启动耗时(按耗时降序排列),systemd-analyze time
显示总启动时间及关键阶段耗时(如kernel-initrd-user),若需优化,可重点关注耗时较长的服务,通过systemctl disable
禁用非必要开机自启服务。
