CentOS9 常用命令(运维必看)

1、系统信息

类别命令说明
系统信息uname -r显示内核版本
lsb_release -a显示发行版信息(如 CentOS Stream 9)
cat /etc/redhat-release查看 CentOS 版本信息
cat /proc/cpuinfo查看 CPU 详细信息
lscpu显示 CPU 架构和核心数
lsblk查看块设备和挂载点信息
hostnamectl查看和设置主机名、系统信息
cat /etc/os-release查看系统版本信息
whoami显示当前用户名
dmidecode -t system查看硬件系统信息(需 root)
lshw列出所有硬件信息(需安装 lshw)
free -h查看内存和交换区使用情况
swapon --show显示交换分区使用情况
uptime显示系统运行时间和负载
cat /proc/meminfo查看内存详细信息
nproc显示 CPU 核心数
lscpu | grep "Model name"查看 CPU 型号
cat /proc/uptime查看系统运行时间(秒)
lsb_release -cs显示发行版代号
cat /sys/class/dmi/id/product_name查看硬件产品名称

2、用户与组管理

类别命令说明
用户与组管理adduser <用户名>添加新用户
userdel -r <用户名>删除用户及其家目录
passwd <用户名>修改指定用户密码
passwd修改当前用户密码
sudo passwd root修改 root 用户密码
groupadd <组名>创建新组
groupdel <组名>删除组
usermod -aG <组名> <用户名>将用户添加到组
usermod -s /bin/bash <用户名>修改用户默认 Shell
id <用户名>查看用户 UID、GID 和组信息
getent passwd查看所有用户信息
getent group查看所有组信息
who显示当前登录用户
w显示登录用户及活动
last查看用户登录历史
chage -l <用户名>查看用户密码过期信息
usermod -L <用户名>锁定用户账户
usermod -U <用户名>解锁用户账户
vipw安全编辑 /etc/passwd 文件
vigr安全编辑 /etc/group 文件

3、主机名与 DNS 配置

类别命令说明
主机名与 DNS 配置hostnamectl set-hostname <主机名>设置主机名
hostname显示当前主机名
echo <主机名> > /etc/hostname永久修改主机名(需重启生效)
echo "nameserver 8.8.8.8" > /etc/resolv.conf设置 DNS(临时,重启可能失效)
nmcli con mod <连接名> ipv4.dns "8.8.8.8 8.8.4.4"修改网络连接的 DNS
nmcli con mod <连接名> ipv4.dns-search <域名>设置 DNS 搜索域
nmcli con up <连接名>激活网络连接以应用 DNS
sudo systemctl restart systemd-resolved重启 DNS 解析服务
cat /etc/resolv.conf查看当前 DNS 配置
nslookup <域名>查询域名解析
dig <域名>详细 DNS 查询(需安装 bind-utils)
host <域名>简单 DNS 查询(需 bind-utils)
nmcli con show <连接名> | grep dns查看指定连接的 DNS 配置
sudo nmcli con mod <连接名> ipv4.ignore-auto-dns yes禁用自动 DNS

4、SSH 管理

类别命令说明
SSH 管理ssh-keygen -t rsa生成 RSA 密钥对
ssh-keygen -t ed25519生成 Ed25519 密钥对(更安全)
ssh-keygen -t rsa -b 4096生成 4096 位 RSA 密钥对
ssh-copy-id <用户@主机>将公钥复制到远程主机
ssh <用户@主机>登录远程主机
ssh -p <端口> <用户@主机>指定端口登录远程主机
sudo systemctl restart sshd重启 SSH 服务
sudo systemctl status sshd检查 SSH 服务状态
sudo systemctl enable sshd设置 SSH 服务开机自启
cat ~/.ssh/id_rsa.pub查看本地公钥
ssh-add将私钥添加到 SSH 代理
sudo nano /etc/ssh/sshd_config编辑 SSH 服务配置文件
ssh -i <私钥文件> <用户@主机>使用指定私钥登录
ssh-keygen -R <主机>从 known_hosts 删除主机指纹
sudo semanage port -a -t ssh_port_t -p tcp <端口>修改 SELinux 端口上下文(需自定义端口)

5、时间与时区管理

类别命令说明
时间与时区管理date显示当前日期和时间
timedatectl查看系统时间和时区状态
sudo timedatectl set-timezone Asia/Shanghai设置时区为上海
sudo timedatectl set-ntp true启用 NTP 时间同步
sudo timedatectl set-time "2025-04-10 10:00:00"手动设置系统时间
sudo dnf install chrony -y安装 chrony 时间同步服务
sudo systemctl enable chronyd设置 chronyd 开机自启
sudo systemctl restart chronyd重启 chronyd 服务
chronyc sources查看 NTP 时间源
chronyc tracking查看时间同步状态
sudo hwclock查看硬件时钟
sudo hwclock --systohc将系统时间同步到硬件时钟
sudo hwclock --hctosys将硬件时钟同步到系统时间
timedatectl list-timezones列出所有可用时区

6、防火墙管理(firewalld)

类别命令说明
防火墙管理sudo firewall-cmd --state查看防火墙状态
sudo firewall-cmd --get-active-zones查看活动区域
sudo firewall-cmd --permanent --add-service=ssh允许 SSH 服务
sudo firewall-cmd --permanent --add-port=80/tcp开放 80 端口
sudo firewall-cmd --permanent --remove-port=80/tcp关闭 80 端口
sudo firewall-cmd --reload重新加载防火墙规则
sudo firewall-cmd --list-all查看当前区域的所有规则
sudo firewall-cmd --list-services查看当前区域允许的服务
sudo firewall-cmd --permanent --add-source=<IP/子网>限制来源 IP 或子网
sudo firewall-cmd --permanent --zone=public --change-interface=<接口>更改接口区域
sudo firewall-cmd --panic-on启用紧急模式(阻断所有流量)
sudo firewall-cmd --panic-off关闭紧急模式
sudo firewall-cmd --query-service ssh检查是否允许 SSH 服务
sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=<IP> port port=22 protocol=tcp accept'添加富规则限制特定 IP 访问 SSH

7、SELinux 管理

类别命令说明
SELinux 管理getenforce查看当前 SELinux 状态
sudo setenforce 0临时禁用 SELinux(0=关闭,1=启用)
sudo setenforce 1临时启用 SELinux
sudo nano /etc/selinux/config编辑 SELinux 配置文件
sestatus查看详细 SELinux 状态
sudo semanage fcontext -a -t httpd_sys_content_t "/var/www(/.*)?"设置文件上下文(例如 Apache)
sudo restorecon -R /var/www恢复目录的 SELinux 上下文
sudo ausearch -m avc查看 SELinux 拒绝日志
sudo audit2allow -a根据日志生成 SELinux 策略(需 audit2allow)
sudo semanage port -l列出 SELinux 端口策略
sudo semanage port -a -t http_port_t -p tcp 8080添加自定义端口到 SELinux 策略

8、文件与目录管理

类别命令说明
文件与目录管理mkdir -p /路径/目录创建目录及其父目录
rmdir 目录名删除空目录
ls -lh列出目录内容(-a 显示隐藏文件)
ls -ld 目录名查看目录本身的详细信息
cp -r 源目录 目标目录递归复制目录及其内容
mv 源文件 目标文件移动或重命名文件/目录
rm -rf 目录名强制删除目录及其内容(谨慎使用)
touch 文件名创建空文件或更新时间戳
ln -s 源文件 链接名创建符号链接
ln 源文件 硬链接名创建硬链接
cat 文件名查看文件内容
less 文件名分页查看文件(q 退出)
more 文件名分页查看文件(空格翻页)
head -n 10 文件名查看文件前 10 行
tail -n 10 文件名查看文件后 10 行
tail -f 文件名实时查看文件末尾(日志用)
stat 文件名查看文件详细状态(权限、大小等)
file 文件名查看文件类型

9、文件搜索与文本处理

类别命令说明
文件搜索与文本处理find / -name "*.txt"查找所有 .txt 文件
find /路径 -type f -mtime -7查找 7 天内修改的文件
locate 文件名快速查找文件(需 sudo updatedb)
whereis <命令>查找命令位置(如 whereis ls)
which <命令>显示命令路径(如 which python3)
grep -r "模式" /路径递归搜索匹配文本
grep -i "模式" 文件名忽略大小写搜索文本
awk '{print $2}' 文件名打印文件第二列
sed 's/旧/新/g' 文件名替换文件中匹配文本(不修改原文件)
sed -i 's/旧/新/g' 文件名替换文件中匹配文本并保存
cut -d',' -f1 文件名按逗号分隔提取第一列
sort 文件名对文件内容排序
uniq 文件名去除重复行(需先排序)
wc -l 文件名统计文件行数

10、权限管理

类别命令说明
权限管理chmod 755 文件名修改文件权限(755 = rwx/r-x/r-x)
chmod -R 644 目录名递归修改目录下文件权限
chown -R 用户:组 目录递归更改所有者和组
chgrp 组名 文件名更改文件所属组
ls -l 文件名查看文件权限详情
sudo setfacl -m u:用户:rwx 文件名设置文件 ACL 权限
sudo getfacl 文件名查看文件 ACL 权限
sudo chown -h 用户 链接名修改符号链接的所有者

11、进程管理

类别命令说明
进程管理ps aux列出所有正在运行的进程
ps -ef列出所有进程详细信息
kill -9 <PID>强制终止进程(PID 为进程 ID)
pkill -9 <进程名>按进程名强制终止
killall <进程名>终止所有匹配进程名的进程
top实时查看进程状态(q 退出)
htop更友好的进程查看工具(需安装)
jobs查看后台任务
bg将暂停任务放入后台
fg将后台任务切换到前台
nohup <命令> &后台运行命令并忽略挂起信号
nice -n 10 <命令>以指定优先级运行命令
renice 10 <PID>调整运行中进程优先级

12、日志查看与分析

类别命令说明
日志查看与分析journalctl -xe查看系统日志并跳转到末尾
journalctl -u <服务名>查看指定服务日志(如 sshd)
journalctl -b查看本次启动的日志
journalctl --since "YYYY-MM-DD"查看指定日期后的日志
tail -n 50 /var/log/messages查看系统日志最后 50 行
tail -f /var/log/secure实时查看安全日志(认证相关)
dmesg查看内核日志
dmesg --level=err查看错误级别的内核日志
sudo ausearch -m avc查看 SELinux 拒绝日志
sudo logrotate -f /etc/logrotate.conf强制执行日志轮转

13、磁盘与空间管理

类别命令说明
磁盘与空间管理df -h查看磁盘分区使用情况
df -i查看磁盘 inode 使用情况
du -sh /路径计算指定路径总大小
sudo fdisk -l列出磁盘分区信息(需 root)
lsblk列出块设备信息
sudo parted -l查看分区表信息(需 parted)
sudo mkfs.ext4 /dev/sdX格式化分区为 ext4(替换 /dev/sdX)
sudo mkfs.xfs /dev/sdX格式化分区为 xfs(CentOS 默认文件系统)
sudo mount /dev/sdX /mnt挂载分区到指定目录
sudo umount /mnt卸载挂载点
sudo blkid查看块设备 UUID 和类型
sudo parted /dev/sdX mklabel gpt创建 GPT 分区表
sudo parted /dev/sdX mkpart primary 0% 100%创建主分区
sudo resize2fs /dev/sdX调整 ext 文件系统大小
sudo xfs_growfs /mnt扩展 xfs 文件系统大小
sudo fstrim -v /执行 TRIM 操作(SSD 优化)

14、软件包管理(DNF)

类别命令说明
软件包管理sudo dnf update -y更新所有软件包
sudo dnf upgrade -y升级所有软件包(含依赖处理)
sudo dnf install <软件名> -y安装指定软件包(如 nginx)
sudo dnf remove <软件名> -y删除软件包
sudo dnf autoremove -y清理不再需要的依赖包
sudo dnf clean all删除缓存的软件包文件
dnf list installed列出已安装的软件包
dnf list available列出可安装的软件包
dnf provides <文件>查找提供指定文件的软件包
dnf info <软件名>查看软件包详细信息
sudo dnf groupinstall <组名>安装软件包组(如 "Development Tools")
sudo dnf repolist查看启用的软件源
sudo dnf config-manager --add-repo <URL>添加第三方软件源
sudo dnf module list查看可用模块(如 python39)
sudo dnf module install <模块名>安装指定模块(如 nginx:1.20)
sudo dnf history查看 DNF 操作历史
sudo dnf check-update检查可用更新

15、容器管理(Podman)

类别命令说明
容器管理podman ps查看运行中的容器
podman ps -a查看所有容器(包括停止的)
podman run -d <镜像名>后台运行容器
podman run -it <镜像名> /bin/bash交互式运行容器
podman stop <容器名>停止容器
podman rm <容器名>删除容器
podman images查看本地镜像
podman pull <镜像名>拉取镜像
podman rmi <镜像名>删除镜像
podman build -t <镜像名> .从 Dockerfile 构建镜像
podman exec -it <容器名> /bin/bash进入容器终端
podman logs <容器名>查看容器日志
podman inspect <容器名>查看容器详细信息
podman network create <网络名>创建容器网络
podman volume create <卷名>创建容器卷
podman pod create <pod名>创建 Pod(容器组)
podman generate systemd <容器名>生成 systemd 服务文件

16、网络管理

类别命令说明
网络管理ip addr show显示所有接口的 IP 和状态
ip link show显示网络接口状态(无 IP)
nmcli con show列出网络连接详细信息
nmcli con up <连接名>激活指定网络连接
nmcli con down <连接名>禁用指定网络连接
nmcli con add type ethernet con-name <连接名> ifname <接口> ipv4.method manual ipv4.addresses <IP/掩码>添加静态 IP 配置
sudo ip addr add <IP/掩码> dev <接口>手动添加 IP 地址
sudo ip link set <接口> up启用网络接口
sudo ip link set <接口> down禁用网络接口
ping <主机>测试连通性(如 ping 8.8.8.8)
traceroute <主机>跟踪路由路径(需 traceroute)
ss -tuln查看监听端口
netstat -tuln查看监听端口(需 net-tools)
ip route show查看路由表
sudo ip route add default via <网关>添加默认路由
sudo nmcli networking off关闭网络功能
sudo nmcli networking on启用网络功能
curl -I <URL>检查 URL 的 HTTP 头部
sudo tcpdump -i <接口>捕获网络数据包(需 tcpdump)
sudo ethtool <接口>查看接口详细信息(需 ethtool)

17、系统维护

类别命令说明
系统维护sudo reboot重启系统
sudo shutdown -h now立即关闭系统
sudo shutdown -r 1010 分钟后重启系统
sudo systemctl rescue进入救援模式
sudo systemctl emergency进入紧急模式
sudo fsck /dev/sda1检查并修复文件系统(替换 /dev/sda1)
sudo dnf install -f修复损坏的软件包依赖
sudo grub2-mkconfig -o /boot/grub2/grub.cfg更新 GRUB 配置文件
sudo systemctl daemon-reload重新加载 systemd 配置
sudo systemctl list-units列出所有 systemd 单元状态

18、内核模块管理

类别命令说明
内核模块管理lsmod列出已加载的内核模块
sudo modprobe <模块名>加载内核模块
sudo rmmod <模块名>卸载内核模块
sudo modinfo <模块名>查看模块详细信息
sudo depmod更新模块依赖
cat /proc/modules查看当前加载的模块

19、性能监控

类别命令说明
性能监控top实时查看进程状态(q 退出)
htop更友好的进程查看工具(需安装)
vmstat 1每秒刷新系统资源使用情况
iostat查看 CPU 和 IO 统计(需 sysstat)
iotop实时查看磁盘 IO(需 iotop)
mpstat 1每秒显示 CPU 使用情况(需 sysstat)
pidstat 1每秒显示进程资源使用(需 sysstat)
sudo perf stat <命令>性能统计(需 perf)
sar -u 1每秒显示 CPU 使用情况(需 sysstat)
free -m查看内存使用情况(以 MB 为单位)

20、备份与恢复

类别命令说明
备份与恢复tar -cvf backup.tar /路径创建备份文件
tar -xvf backup.tar解压备份文件
rsync -av /源 /目标同步备份文件/目录
dd if=/dev/sda of=/backup.img bs=4M创建磁盘镜像
sudo dd if=/backup.img of=/dev/sda bs=4M恢复磁盘镜像
sudo xfsdump -f /backup.xfs /mnt备份 xfs 文件系统(需 xfsdump)

21、历史命令管理

类别命令说明
历史命令管理history查看历史命令
history | grep <关键词>搜索历史命令
echo "export HISTTIMEFORMAT='%F %T '" >> ~/.bashrc显示历史命令时间戳
history -c清空当前会话历史
ctrl + r交互式搜索历史命令
!<编号>执行指定编号的历史命令

注意事项

  1. 软件包管理:CentOS Stream 9 使用 dnf,支持模块化软件包管理(如 dnf module)。
  2. 容器管理:默认使用 podman,与 Docker 命令类似但无守护进程,适合无根运行。
  3. SELinux:CentOS Stream 9 默认启用 SELinux,部分命令需考虑 SELinux 上下文。
  4. 文件系统:默认使用 xfs,部分磁盘管理命令针对 xfs 优化。

这些命令收集不易,喜欢的朋友可以点个赞

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Oreo.Li

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值