我们日常办公和开发大多在 Windows 或 macOS 环境下进行,用得那叫一个如鱼得水,不过总有要用Linux系统的时候吧,这时候也许就会手速 -50%,自信 -80%,光 apt 还是 yum 就能卡三秒,这篇笔记就是为 “低频但关键” 的 Linux 操作场景而写。

✅ 聚焦 RHEL系(CentOS/Rocky) 与 Debian系(Ubuntu/Debian) 的共性与差异

✅ 按功能模块组织(系统、网络、服务、包管理……)

✅ 所有命令实测可用,标注现代推荐替代(如 ip 代替 ifconfig)

—— 不求精通,但求关键时刻,敲对命令,一次成功。

适用于 RHEL系(CentOS / Rocky / Alma / RHEL)与 Debian系(Ubuntu / Debian)
✅ 共性命令|⚠️ 系统差异|🔧 现代替代|📌 实用提示


🔍 一、系统信息

功能命令说明
内核/架构/主机名uname -a✅ 通用。输出示例:Linux host 5.15.0-xx-generic #xx-Ubuntu SMP … x86_64
操作系统版本cat /etc/os-release推荐
lsb_release -a(Debian系默认可用;RHEL需装 redhat-lsb-core
✅ 通用。比 /etc/issue 更标准、信息更全
CPU 信息lscpu(简洁)
cat /proc/cpuinfo(详细)
✅ 通用
主机名hostname(查看)
hostnamectl(查看+设置,systemd 系统通用)
✅ 通用(hostnamectl set-hostname xxx 可持久修改)
PCI 设备lspci -tv✅ 通用(树状输出)
USB 设备lsusb -tv✅ 通用
加载的内核模块lsmod✅ 通用
环境变量envprintenv✅ 通用

💡 提示:

  • hostnamectl 是现代推荐方式,修改后立即生效且持久化(写入 /etc/hostname
  • 避免依赖 /etc/issue——它可能被定制或为空;/etc/os-release 是 LSB 标准文件。

📊 二、资源监控

功能命令说明
内存 & 交换区free -h推荐-h 自动单位)
free -m(MB 单位)
✅ 通用(-h 更直观)
磁盘分区使用df -hT-T 显示文件系统类型)✅ 通用
目录占用大小du -sh /path(概览)
du -h --max-depth=1 /path(子目录明细)
✅ 通用
内存总量/空闲grep MemTotal /proc/meminfo
grep MemFree /proc/meminfo
✅ 通用(底层准确)
系统运行时长 & 负载uptime✅ 通用(输出:运行时间、用户数、1/5/15分钟平均负载)
负载详情cat /proc/loadavg✅ 通用(前3个数 = uptime 的负载;第4个 = 当前运行进程数/总数)
⚠️ 注意:MemFree ≠ 可用内存!Linux 会缓存文件到内存(buffers/cache),真实可用看 free 输出的 available 列。

💾 三、磁盘与分区

功能命令说明
当前挂载点`mountcolumn -t(对齐美观)<br>findmnt`(推荐,systemd 工具,更清晰)✅ 通用
分区表lsblk推荐,简洁树状)
fdisk -l(传统,需 root)
✅ 通用(lsblk 无需 sudo)
交换分区swapon -s
cat /proc/swaps
✅ 通用
IDE 设备参数(已过时)hdparm -i /dev/sda(仅限旧 IDE,现代多为 SATA/NVMe)⚠️ 基本废弃;用 smartctl -a /dev/sda(需 smartmontools)查健康状态更佳
启动硬件检测日志`dmesggrep -i "sd\nvme\ata"`✅ 通用(比 IDE 更普适)

🔧 现代建议:

  • 新磁盘分区用 fdisk(MBR)或 gdisk(GPT)
  • 文件系统创建:mkfs.ext4 /dev/sdb1(通用)
  • 挂载:sudo mount /dev/sdb1 /mnt/data + 写入 /etc/fstab 实现开机挂载

🌐 四、网络管理

功能传统命令(仍可用)现代推荐(优先使用说明
网络接口ifconfigip aip addr show✅ 通用;ifconfignet-tools,多数新系统默认未装
路由表route -nip route✅ 通用
防火墙规则iptables -L -n -vnft list ruleset(若用 nftables)⚠️ RHEL8+/Debian11+ 默认用 nftables 替代 iptables
监听端口netstat -lntpss -lntp快10倍+✅ 通用;ssiproute2 工具集,已预装
所有连接netstat -antpss -antp同上
网络统计netstat -sss -s(简略)或 nstatss -s 足够日常诊断

🔒 防火墙补充:

  • RHEL系:firewalld(动态管理,用 firewall-cmd
  • Debian系(Ubuntu):ufw(简单封装,sudo ufw allow 22
  • 临时关闭(调试):

    # RHEL
    sudo systemctl stop firewalld
    # Ubuntu
    sudo ufw disable

🧵 五、进程管理

功能命令说明
所有进程ps aux(BSD风格,更常用)
ps -ef(SysV风格)
✅ 通用
实时监控top(基础)
htop强烈推荐,彩色/交互/树状,需安装)
htop:RHEL → sudo dnf install htop;Ubuntu → sudo apt install htop
进程树pstree -p✅ 通用(显示父子关系)
按名查进程pgrep nginxpkill nginx✅ 通用
💡 技巧:top 中按 P 按 CPU 排序,M 按内存,k 杀进程。

👤 六、用户与权限

功能命令说明
当前活跃用户w✅ 通用(含终端、运行命令、负载)
用户信息id username✅ 通用(UID/GID/所属组)
登录历史last✅ 通用(读 /var/log/wtmp
所有用户cut -d: -f1 /etc/passwd✅ 通用(含系统用户)
所有用户组cut -d: -f1 /etc/group✅ 通用
当前用户计划任务crontab -l✅ 通用
添加用户(交互)sudo adduser username✅ Debian系默认;RHEL系可用,但传统用 useradd
添加用户(非交互)sudo useradd -m -s /bin/bash username✅ 通用;-m 创建家目录,-s 指定 shell
授予 sudo 权限usermod -aG wheel username(RHEL)
usermod -aG sudo username(Debian)
⚠️ 关键差异!组名不同

🔐 权限速查:

  • chmod 755 file → owner:rwx, group/others: rx
  • chmod u+x file → 给 owner 加执行权
  • chown user:group file → 改属主/属组

⚙️ 七、服务管理

✅ RHEL 7+/Debian 8+ 均使用 systemd,命令完全通用!
# 查看所有服务状态
systemctl list-units --type=service --state=running

# 启动/停止/重启/重载(以nginx服务为例)
sudo systemctl start nginx
sudo systemctl stop nginx
sudo systemctl restart nginx
sudo systemctl reload nginx

# 开机自启
sudo systemctl enable nginx
sudo systemctl disable nginx

# 查看服务详情(含日志)
systemctl status nginx
journalctl -u nginx -f        # 实时追踪日志

📌 注意:

  • 旧命令 chkconfig(RHEL) / update-rc.d(Debian)已淘汰,仅用于 SysV init 系统(如 CentOS 6)
  • 服务名差异仍存在:httpd(RHEL) vs apache2(Debian)

📦 八、软件包管理

1. RHEL系(RPM + DNF/YUM)

操作CentOS 7CentOS 8/9 / Rocky/Alma
安装sudo yum install pkgsudo dnf install pkgdnf 是 yum v4+
升级sudo yum updatesudo dnf upgrade
卸载sudo yum remove pkgsudo dnf remove pkg
搜索yum search keyworddnf search keyword
列出已安装`rpm -qa \grep pkg`同左;或 dnf list installed
安装本地 RPMsudo rpm -ivh pkg.rpm同左(推荐 dnf install ./pkg.rpm 自动解依赖)

2. Debian系(DEB + APT)

操作命令
更新索引sudo apt update
升级软件sudo apt upgrade(不删旧包)
sudo apt full-upgrade(可删/换包)
安装sudo apt install pkg
卸载sudo apt remove pkg(保留配置)
sudo apt purge pkg(删配置)
搜索apt search keyword
列出已安装dpkg -l \(竖线) grep pkg
apt list --installed
安装本地 DEBsudo dpkg -i pkg.debsudo apt install -f(修依赖)

🔑 常见包名差异对照表

功能RHEL系Debian系
Web 服务器httpdapache2
MySQL 客户端mysql(MariaDB)mysql-client / default-mysql-client
开发工具组@Development Toolsbuild-essential
EPEL 等扩展源sudo dnf install epel-releasesudo apt install software-properties-common + add-apt-repository

🛠️ 九、实用技巧 & 避坑指南

场景方案
命令找不到?RHEL:sudo yum install yum-utils && yum provides "*/cmd"
Debian:sudo apt install apt-file && apt-file update && apt-file search cmd
中文乱码?安装语言包:
RHEL:sudo dnf install langpacks-zh_CN
Debian:sudo apt install language-pack-zh-hans
并设 export LANG=zh_CN.UTF-8
SSH 免密登录ssh-keygenssh-copy-id user@host(通用)
快速压缩/解压tar -czvf archive.tar.gz dir/(gzip)
tar -xzf archive.tar.gz(解压)
命令历史增强history \(竖线) grep keyword;或装 fzf + Ctrl+R 模糊搜索

📎 极简速查表

类别RHEL系Debian系通用
安装软件sudo dnf install xxxsudo apt install xxxsnap install xxx(跨平台,慎用)
更新系统sudo dnf upgradesudo apt update && sudo apt upgrade
服务控制systemctl start xxx同左
防火墙firewall-cmd --add-port=80/tcp --permanentufw allow 80
查IPip a同左
看端口ss -lntp同左