在阿里云服务器(或其他 Linux 系统)上,可以通过以下几种命令行方式判断是否安装的是 CentOS 系统:
1. 查看 /etc/os-release 文件(推荐,适用于 CentOS 7/8/RHEL 系列)
这是最通用且现代的方法,大多数 Linux 发行版都支持该标准。
cat /etc/os-release
CentOS 的典型输出特征:
NAME="CentOS Linux"(CentOS 7)或NAME="CentOS Stream"(CentOS Stream)ID="centos"或ID="centos-stream"PRETTY_NAME="CentOS Linux 7 (Core)"等
注意:CentOS 8 已转为 CentOS Stream,若需传统稳定版可考虑 Rocky Linux 或 AlmaLinux。
2. 查看 /etc/centos-release 文件(仅适用于 CentOS 7 及更早版本)
如果系统较老(如 CentOS 6/7),该文件通常存在:
cat /etc/centos-release
典型输出示例:
CentOS Linux release 7.9.2009 (Core)
⚠️ 注意:CentOS 8 及以上版本移除了此文件,因此该方法不适用于 CentOS 8+。
3. 使用 lsb_release 命令(部分系统可能未安装)
lsb_release -a
若输出中包含 Distributor ID: CentOS,则说明是 CentOS 系统。
但需注意:某些精简版或容器环境可能未安装 lsb_release,此时会提示“command not found”。
4. 检查内核包管理器标识(辅助验证)
rpm -q centos-release
如果返回类似 centos-release-7-9.2009.el7.centos.x86_64,则确认是 CentOS 7;其他版本类似。
综合建议
- 优先使用
cat /etc/os-release,因为它兼容性好、信息规范。 - 若不确定,可组合多个命令交叉验证。
- 在阿里云 ECS 实例上,这些命令均可直接通过 SSH 登录后执行。
示例完整判断脚本(安全简洁版):
if [ -f /etc/centos-release ]; then
echo "检测到 CentOS 7 或更早版本"
cat /etc/centos-release
elif grep -q "^ID=centos" /etc/os-release; then
echo "检测到 CentOS 8+ 或 Stream"
cat /etc/os-release | grep "^ID|^NAME|^PRETTY_NAME"
else
echo "非 CentOS 系统"
fi
PHPWP博客