菜鸟科技网

CentOS运维常用命令有哪些关键点?

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

CentOS运维常用命令有哪些关键点?-图1
(图片来源网络,侵删)

系统管理命令

系统管理是运维的核心,涉及系统信息查看、用户管理、进程控制等基础操作。

系统信息查看

  • 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创建、zgzip压缩、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:查看监听端口及协议(tTCP、uUDP、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管理服务,旧版使用servicechkconfig

CentOS运维常用命令有哪些关键点?-图2
(图片来源网络,侵删)

服务启停与状态

  • 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使用情况(-uCPU、-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 -tTCP,-uUDP,-l仅监听,-n数字形式,-p显示进程PID
服务管理 systemctl start/enable nginx start启动,enable开机自启,status查看状态,journalctl -u nginx查看日志

相关FAQs

Q1:如何查看某个进程占用的端口?
A:可通过netstat -tulnp | grep PIDss -tulnp | grep PID查看指定PID占用的端口,或直接用lsof -i :端口号查看占用该端口的进程(如lsof -i :80查看80端口占用情况)。

Q2:CentOS如何查看系统启动耗时?
A:使用systemd-analyze blame命令可查看每个服务的启动耗时(按耗时降序排列),systemd-analyze time显示总启动时间及关键阶段耗时(如kernel-initrd-user),若需优化,可重点关注耗时较长的服务,通过systemctl disable禁用非必要开机自启服务。

CentOS运维常用命令有哪些关键点?-图3
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇