CentOS 是基于 Red Hat Enterprise Linux (RHEL) 的开源 Linux 发行版,掌握常用的 CentOS 命令对于系统管理、故障排查和日常操作至关重要。
以下是一份分类整理的 CentOS 常用命令大全,涵盖文件操作、系统管理、网络、软件包管理等方面:
系统信息与状态查看
| 命令 | 说明 | 示例 |
|---|---|---|
uname -a |
查看内核版本、操作系统架构等信息 | uname -r 仅看内核版本 |
cat /etc/os-release |
查看 CentOS 具体版本信息 | – |
hostname |
查看主机名 | hostnamectl set-hostname newname 修改主机名 |
uptime |
查看系统运行时间、负载情况 | – |
whoami |
查看当前登录用户 | – |
last |
查看最近登录记录 | last | head -n 5 查看最近5条 |
文件与目录操作
| 命令 | 说明 | 示例 |
|---|---|---|
ls |
列出目录内容 | ls -l 显示详细信息,ls -a 显示隐藏文件 |
cd |
切换目录 | cd /home,cd .. 返回上级,cd ~ 返回家目录 |
pwd |
显示当前工作目录路径 | – |
mkdir |
创建目录 | mkdir -p /a/b/c 递归创建多级目录 |
rm |
删除文件或目录 | rm -rf /path 慎用:强制递归删除 |
cp |
复制文件或目录 | cp -r src/ dst/ 递归复制目录 |
mv |
移动或重命名文件 | mv oldname newname |
touch |
创建空文件或更新时间戳 | touch file.txt |
cat / head / tail |
查看文件内容 | tail -f log.txt 实时跟踪日志文件 |
find |
查找文件 | find / -name "config.ini" |
grep |
文本搜索 | grep "error" /var/log/syslog |
权限与所有权
| 命令 | 说明 | 示例 |
|---|---|---|
chmod |
修改文件权限 | chmod 755 file.sh,chmod +x file.sh |
chown |
修改文件所有者 | chown user:group file |
chgrp |
修改文件所属组 | chgrp developers file |
用户与组管理
| 命令 | 说明 | 示例 |
|---|---|---|
useradd |
创建新用户 | useradd -m -s /bin/bash newuser |
userdel |
删除用户 | userdel -r newuser 同时删除家目录 |
passwd |
修改用户密码 | passwd newuser |
groupadd |
创建用户组 | groupadd developers |
visudo |
编辑 sudo 配置文件 | 用于配置用户 sudo 权限 |
软件包管理 (YUM/DNF)
CentOS 7 及之前使用 YUM,CentOS 8+ 使用 DNF(但命令兼容)。
| 命令 | 说明 | 示例 |
|---|---|---|
yum install |
安装软件包 | yum install nginx -y |
yum remove |
卸载软件包 | yum remove nginx -y |
yum update |
更新所有软件包 | yum update -y |
yum search |
搜索软件包 | yum search nginx |
yum list installed |
列出已安装的软件包 | – |
yum clean all |
清理缓存 | – |
rpm -ivh |
安装本地 RPM 包 | rpm -ivh package.rpm |
rpm -qa |
查询已安装的 RPM 包 | – |
提示:
yum报错,可尝试执行yum makecache重建缓存。
网络配置与诊断
| 命令 | 说明 | 示例 |
|---|---|---|
ifconfig 或 ip addr |
查看网络接口信息 | ip addr show |
ping |
测试网络连通性 | ping www.baidu.com |
netstat 或 ss |
查看网络连接、端口监听 | netstat -tulnp,ss -tulnp |
curl |
发送 HTTP 请求 | curl -I http://example.com |
wget |
下载文件 | wget http://example.com/file.zip |
firewall-cmd |
管理防火墙 (CentOS 7+) | firewall-cmd --zone=public --add-port=80/tcp --permanent |
systemctl status firewalld |
查看防火墙状态 | – |
iptables -L |
查看防火墙规则 | – |
服务管理 (Systemd)
CentOS 7+ 使用 systemctl 管理服务。
| 命令 | 说明 | 示例 |
|---|---|---|
systemctl start |
启动服务 | systemctl start nginx |
systemctl stop |
停止服务 | systemctl stop nginx |
systemctl restart |
重启服务 | systemctl restart nginx |
systemctl enable |
设置开机自启 | systemctl enable nginx |
systemctl disable |
取消开机自启 | systemctl disable nginx |
systemctl status |
查看服务状态 | systemctl status nginx |
systemctl list-units --type=service |
列出所有服务 | – |
磁盘与存储管理
| 命令 | 说明 | 示例 |
|---|---|---|
df -h |
查看磁盘空间使用情况 | – |
du -sh |
查看目录或文件大小 | du -sh /var/log |
fdisk -l |
查看磁盘分区表 | – |
lsblk |
以树状图显示块设备 | – |
mount |
挂载文件系统 | mount /dev/sdb1 /mnt/data |
umount |
卸载文件系统 | umount /mnt/data |
free -m |
查看内存使用情况 | – |
进程管理
| 命令 | 说明 | 示例 |
|---|---|---|
ps aux |
查看所有进程 | – |
top 或 htop |
实时查看进程和资源占用 | htop 需安装,界面更友好 |
kill |
终止进程 | kill -9 PID |
pkill |
按名称终止进程 | pkill nginx |
nohup |
后台运行程序 | nohup ./script.sh & |
日志查看
| 命令 | 说明 | 示例 |
|---|---|---|
journalctl |
查看 systemd 日志 | journalctl -u nginx -f 实时查看 nginx 日志 |
/var/log/messages |
系统日志 | tail -f /var/log/messages |
/var/log/secure |
安全日志(登录失败等) | – |
/var/log/yum.log |
YUM 操作日志 | – |
🔧 实用技巧
-
权限提升:大多数系统管理命令需要
root权限,使用前加sudo。sudo yum install nginx
-
后台运行:使用
&将命令放入后台,nohup防止终端关闭后进程终止。nohup python app.py > output.log 2>&1 &
-
管道与重定向:
- 将前一个命令的输出作为后一个命令的输入。
ps aux | grep nginx
>:覆盖写入文件。>>:追加写入文件。
- 将前一个命令的输出作为后一个命令的输入。
-
查找命令帮助:
man <command>:查看手册(如man ls)。--help:查看简要帮助(如ls --help)。
⚠️ 注意事项
- 谨慎使用
rm -rf:误删可能导致系统崩溃,操作前务必确认路径。 - 防火墙设置:CentOS 默认启用
firewalld,安装 Web 服务(如 Nginx/Apache)后需开放相应端口。 - SELinux:CentOS 默认启用 SELinux,可能导致服务无法访问文件,排查问题时可临时设为宽容模式测试:
setenforce 0
如果你有具体的任务(如“如何安装 Nginx”或“如何查看 CPU 负载”),可以告诉我,我会提供更详细的步骤!
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/478195.html



