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 # 设置时区为上海