CentOS运维常用命令

CentOS 服务器运维中,以下是按场景分类的常用命令,涵盖系统监控、用户管理、服务管理、文件操作等核心场景,适合日常运维参考:

一、系统状态监控

  • 查看系统负载

    • uptime # 显示系统运行时间、用户数、1/5/15分钟负载
    • w # 更详细的负载信息,包括登录用户和进程
  • CPU 监控

    • top # 实时查看CPU、内存占用(按q退出)
    • htop # 交互式CPU/内存监控(需安装:yum install htop)
    • lscpu # 查看CPU核心数、架构等信息
    • mpstat # 查看多CPU核心负载(需安装sysstat:yum install sysstat)
  • 内存监控

    • free -h # 以人类可读单位显示内存使用
    • free -m # 以MB为单位显示内存使用
    • vmstat 1 # 每秒输出一次内存、IO等系统状态
  • 磁盘监控

    • df -h # 查看磁盘分区使用率
    • du -sh /path # 查看指定目录总大小(-s汇总,-h易读)
    • du -h --max-depth=1 / # 查看根目录下一级目录大小
    • iostat # 查看磁盘IO性能(需sysstat)
  • 网络监控

    • ifconfig # 查看网卡IP、MAC等信息(需net-tools:yum install net-tools)
    • ip addr # 现代版网络信息查看(推荐)
    • netstat -tuln # 查看监听端口(-t TCP,-u UDP,-l监听,-n数字显示)
    • ss -tuln # 更高效的端口查看命令(替代netstat)
    • ping -c 4 www.baidu.com # 测试网络连通性(-c指定次数)

二、用户与权限管理

  • 用户操作

    • useradd -m -s /bin/bash username # 创建带家目录和bash的用户
    • passwd username # 设置用户密码
    • userdel -r username # 删除用户及家目录(-r递归删除)
    • usermod -s /sbin/nologin username # 修改用户默认shell为不可登录
  • 用户组操作

    • groupadd groupname # 创建用户组
    • usermod -aG groupname username # 将用户加入附加组(-a避免覆盖)
    • groups username # 查看用户所属组
  • 权限管理

    • chmod 755 file.txt # 修改文件权限(r=4,w=2,x=1
    • chmod -R 777 /dir # 递归修改目录权限
    • chown user:group file.txt # 修改文件所有者和所属组
    • chown -R user:group /dir # 递归修改目录所有者

三、服务管理(systemd 系统)

  • 服务操作

    • systemctl start serviceName # 启动服务(如nginx、mysql)
    • systemctl stop serviceName # 停止服务
    • systemctl restart serviceName # 重启服务
    • systemctl reload serviceName # 重载服务配置(不中断服务)
    • systemctl status serviceName # 查看服务状态
  • 开机自启管理

    • systemctl enable serviceName # 设置服务开机自启
    • systemctl disable serviceName # 关闭开机自启
    • systemctl is-enabled serviceName # 查看服务是否开机自启

四、软件包管理(yum/dnf)

  • yum 基础操作

    • yum install packageName # 安装软件包
    • yum remove packageName # 卸载软件包
    • yum update packageName # 更新指定软件包
    • yum update # 更新系统所有软件包(谨慎操作)
    • yum search keyword # 搜索软件包
    • yum list installed # 查看已安装软件包
    • yum clean all # 清理缓存
  • dnf 操作(CentOS 8+ 推荐)dnf 是 yum 的升级版,命令类似:

    • dnf install packageName
    • dnf remove packageName

五、文件与目录操作

  • 基础操作

    • ls -l # 详细列出文件(权限、大小、时间)
    • ls -la # 显示所有文件(包括隐藏文件.开头)
    • cd /path # 切换目录
    • pwd # 显示当前目录路径
    • mkdir -p /dir/subdir # 创建多级目录(-p确保父目录存在)
    • rm -rf file/dir # 强制删除文件/目录(谨慎!不可恢复)
    • cp -r /source /dest # 复制目录(-r递归)
    • mv /source /dest # 移动/重命名文件/目录
  • 文件内容查看

    • cat file.txt # 查看文件全部内容
    • less file.txt # 分页查看(按q退出,支持搜索)
    • head -n 10 file.txt # 查看前10
    • tail -n 10 file.txt # 查看后10
    • tail -f /var/log/messages # 实时跟踪日志文件更新
    • grep "keyword" file.txt # 在文件中搜索关键词
    • grep -r "keyword" /dir # 递归搜索目录下所有文件

六、进程管理

    • ps aux # 查看所有进程(a=所有用户,u=详细信息,x=包括非终端进程)
    • ps aux | grep "keyword" # 搜索指定进程
    • pkill -9 processName # 强制杀死进程(-9表示强制)
    • kill -9 PID # 按进程ID杀死进程(PID通过ps查看)
    • jobs # 查看后台运行的进程
    • bg %1 # 将编号1的后台进程继续运行
    • fg %1 # 将编号1的后台进程调至前台

七、日志查看

    • tail -f /var/log/messages # 系统日志(通用消息)
    • tail -f /var/log/secure # 安全日志(登录、权限相关)
    • tail -f /var/log/yum.log # yum安装日志
    • journalctl -u nginx # 查看nginx服务日志(systemd日志)
    • journalctl --since "1 hour ago" # 查看1小时内的日志

八、系统信息查询

    • uname -a # 查看内核版本、系统架构
    • cat /etc/redhat-release # 查看CentOS版本
    • hostname # 查看主机名
    • hostnamectl set-hostname newname # 修改主机名
    • timedatectl # 查看系统时间和时区
    • timedatectl set-timezone Asia/Shanghai # 设置时区为上海
posted @ 2025-12-24 11:31  Leone-  阅读(16)  评论(0)    收藏  举报