你可以通过以下几种常用方法来确认云服务器的操作系统(是 CentOS 还是 Ubuntu),推荐按顺序尝试:
✅ 1. 查看 /etc/os-release 文件(最可靠、通用,推荐)
这是现代 Linux 发行版(包括 CentOS 7+/8/9、Ubuntu 16.04+)的标准方式:
cat /etc/os-release
🔍 关键字段说明:
NAME="CentOS Stream"或NAME="CentOS Linux"→ CentOS 系统NAME="Ubuntu"→ Ubuntu 系统VERSION_ID="22.04"或"8"→ 版本号(如 Ubuntu 22.04 / CentOS 8)
示例输出(Ubuntu):
NAME="Ubuntu"
VERSION="22.04.3 LTS (Jammy Jellyfish)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 22.04.3 LTS"
VERSION_ID="22.04"
...
示例输出(CentOS Stream 9):
NAME="CentOS Stream"
VERSION="9"
ID="centos-stream"
ID_LIKE="rhel fedora"
PRETTY_NAME="CentOS Stream 9"
VERSION_ID="9"
...
✅ 注意:CentOS 7 也支持
/etc/os-release;旧版(如 CentOS 5/6)可能无此文件,但云服务器基本都是较新版本。
✅ 2. 查看 /etc/issue 或 /etc/issue.net(简单快速)
cat /etc/issue
# 或
cat /etc/issue.net
通常会显示类似 Ubuntu 22.04.3 LTS n l 或 CentOS Linux 7 (Core) n l。
⚠️ 注意:该文件可能被修改或精简,不如 os-release 可靠。
✅ 3. 使用 hostnamectl 命令(systemd 系统通用)
hostnamectl
输出中包含 Operating System: 一行,例如:
Operating System: Ubuntu 22.04.3 LTS
Kernel: Linux 5.15.0-86-generic
Architecture: x86-64
或
Operating System: CentOS Stream 9
Kernel: Linux 5.14.0-284.11.1.el9_2.x86_64
...
✅ 要求 systemd(CentOS 7+/Ubuntu 15.04+ 都满足),云服务器几乎都符合。
| ✅ 4. 检查发行版特有文件(辅助验证) | 判断依据 | CentOS / RHEL 系列 | Ubuntu / Debian 系列 |
|---|---|---|---|
| 包管理器 | yum 或 dnf(which yum / which dnf) |
apt(which apt) |
|
| 发行版标识文件 | /etc/centos-release(存在即大概率 CentOS) |
/etc/lsb-release(含 DISTRIB_ID=Ubuntu) |
|
| 主要软件源配置 | /etc/yum.repos.d/ 目录存在 |
/etc/apt/sources.list 存在 |
快速命令示例:
# 查看是否为 Ubuntu(检查 lsb-release 中的 ID)
grep -i "distrib_id" /etc/lsb-release 2>/dev/null || echo "Not Ubuntu (or lsb-release missing)"
# 查看是否为 CentOS(检查 release 文件)
cat /etc/centos-release 2>/dev/null || echo "Not CentOS (or file missing)"
❌ 不推荐的方法(已过时或不准确):
uname -a:只显示内核信息(如Linux xxx 5.15.0...),无法区分发行版。cat /proc/version:同上,仅内核和编译信息。
✅ 总结:首选执行以下任一命令即可快速准确判断:
cat /etc/os-release # ✅ 最标准、最推荐
# 或
hostnamectl # ✅ 清晰直观,带 OS 行
💡 小贴士:如果你刚登录云服务器但不确定用户名/密码,可结合控制台(如阿里云/腾讯云/AWS 控制台)的「实例详情」页查看“操作系统”字段,通常明确标注为 “Ubuntu 22.04 64位” 或 “CentOS 7.9 64位”。
需要我帮你分析某条命令的输出?欢迎贴出来,我来帮你解读 👇
云小栈