,想知道你的 Linux 服务器运行的是哪个发行版和内核版本吗?其实非常简单,最直接的方法是使用uname命令,uname -r可以显示当前运行的内核版本,uname -i显示硬件架构,而uname -v则能提供更详细的内核编译信息,对于发行版信息,可以查看/proc/version文件(cat /proc/version),它通常会包含发行版的简略信息,更标准和详细的方式是检查/etc/os-release文件(cat /etc/os-release),这个文件现在被广泛采用,包含了发行版名称、版本号、ID 等关键信息,你也可以使用lsb_release -a(如果已安装该工具)来获取发行版信息,或者运行hostnamectl命令,它能同时显示系统、内核和硬件架构信息,选择其中一两种方法,通常就能快速准确地查出 Linux 服务器的版本信息了。
为什么需要查询 Linux 版本?
在 Linux 服务器管理中,查询系统版本是一个非常基础但重要的操作,为什么这么说呢?
- 软件兼容性:不同的 Linux 发行版或版本可能对某些软件的支持不同,Docker、Kubernetes 等工具在不同版本上的表现可能有差异。
- 安全补丁:及时了解系统版本有助于判断是否需要打补丁,避免安全漏洞。
- 故障排查:当服务器出现问题时,知道系统版本可以帮助你更快地定位问题。
举个例子,假设你正在部署一个应用程序,但发现它在某个 Linux 版本上运行不正常,这时,查询系统版本就能帮助你判断问题是否出在系统环境上。
常用命令大全
我会介绍几种常用的命令来查询 Linux 版本,这些命令可以在终端中直接使用,操作简单快捷。
uname 命令
uname 是 Linux 系统中最基础的命令之一,它可以显示系统的内核版本、硬件架构等信息。

-
基本用法:
uname -r # 查看内核版本 uname -a # 查看详细系统信息
-
示例输出:
$ uname -r 5.4.0-135-generic $ uname -a Linux server 5.4.0-135-generic #140-Ubuntu SMP Thu Sep 10 11:49:23 UTC 2020 x86_64 GNU/Linux -
优点:简单快捷,适合快速查看内核版本。
-
缺点:只能查看内核版本,无法直接获取发行版(如 Ubuntu、CentOS)的名称。
lsb_release 命令
lsb_release 命令专门用于查询 Linux 发行版的信息。
-
基本用法:
lsb_release -a # 查看发行版信息
-
示例输出:
$ lsb_release -a LSB Version: 1.4 Distributor ID: Ubuntu Description: Ubuntu 20.04.3 LTS Release: 20.04 Codename: focal -
优点:直接显示发行版名称、版本号、Codename 等信息。
-
缺点:部分旧版本的系统可能不支持此命令。
hostnamectl 命令
hostnamectl 是 systemd 系统中的一个工具,可以显示系统的主机名、内核版本、操作系统信息等。

-
基本用法:
hostnamectl # 查看系统详细信息
-
示例输出:
$ hostnamectl ... Operating System: Ubuntu 20.04.3 LTS Kernel: Linux 5.4.0-135-generic ... -
优点:信息全面,适合查看系统整体信息。
-
缺点:输出信息较多,可能需要耐心阅读。
查看 /proc/version 文件
Linux 系统中有一个特殊的虚拟文件 /proc/version,它包含了系统的内核版本和发行版信息。
-
基本用法:
cat /proc/version
-
示例输出:
$ cat /proc/version Linux version 5.4.0-135-generic (buildd@lgw02-0b) (gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04.1)) #140-Ubuntu SMP Thu Sep 10 11:49:23 UTC 2020 -
优点:无需安装额外工具,适合基础系统。
-
缺点:信息相对简略,不包含发行版名称。
rpm 和 dpkg 命令
如果你的系统是基于 RPM 包管理的(如 CentOS、RHEL),或者基于 Debian 包管理的(如 Ubuntu、Debian),你可以通过查询已安装的包来获取系统版本。

-
RPM 系统:
rpm -q centos-release # 查询 CentOS 版本
-
Debian 系统:
dpkg -l linux-image-generic # 查询内核版本
-
优点:精准获取系统版本信息。
-
缺点:需要知道具体的包名,且需要 root 权限。
不同场景下的应对策略
我会结合实际场景,告诉你在不同情况下如何查询 Linux 版本。
场景 1:远程连接服务器,没有图形界面
如果你通过 SSH 连接到服务器,且没有图形界面,这时你可以使用 uname 或 lsb_release 命令。
- 推荐命令:
uname -a lsb_release -a
场景 2:需要验证系统版本是否准确
单靠一个命令可能不够,这时你可以结合多个命令来验证。
- 示例:
echo "内核版本:" uname -r echo "发行版信息:" lsb_release -a echo "系统信息:" hostnamectl
场景 3:没有 root 权限,如何查询?
如果你没有 root 权限,仍然可以使用 lsb_release 或 hostnamectl 命令,因为它们不需要 root 权限。
- 推荐命令:
lsb_release -a hostnamectl
常见问题解答
下面是一些用户在查询 Linux 版本时可能遇到的问题及解答。
| 问题 | 解答 |
|---|---|
| Q1:如何查看 Linux 发行版名称? | 使用 lsb_release -a 或 hostnamectl 命令。 |
| Q2:如何查看内核版本? | 使用 uname -r 命令。 |
Q3:系统不支持 lsb_release 命令怎么办? |
可以尝试安装 lsb-core 包,或者使用 hostnamectl 命令。 |
| Q4:如何查看系统的所有硬件信息? | 使用 lshw 命令,但需要 root 权限。 |
案例分析
案例 1:远程连接服务器,查询系统版本

假设你通过 SSH 连接到一台陌生的服务器,需要快速了解系统版本。
$ uname -a Linux server 5.4.0-135-generic #140-Ubuntu SMP Thu Sep 10 11:49:23 UTC 2020 x86_64 GNU/Linux $ lsb_release -a LSB Version: 1.4 Distributor ID: Ubuntu Description: Ubuntu 20.04.3 LTS Release: 20.04 Codename: focal
通过这两个命令,你已经知道这是一台 Ubuntu 20.04 服务器,内核版本为 5.4.0-135-generic。
案例 2:部署软件时需要确认系统兼容性
你正在部署一个 Docker 容器,但发现 Docker 在某个 Linux 版本上不兼容。
$ docker --version Docker version 20.10.7, build 590363a $ uname -r 5.4.0-135-generic $ lsb_release -a Distributor ID: Ubuntu Description: Ubuntu 20.04.3 LTS
通过这些信息,你可以确认系统是 Ubuntu 20.04,内核版本为 5.4.0-135-generic,然后去 Docker 官方网站查看是否支持这个版本。
查询 Linux 服务器的版本信息并不复杂,关键在于掌握常用的命令和工具,无论是通过 uname、lsb_release、hostnamectl,还是查看 /proc/version 文件,你都可以快速获取所需信息。
希望这篇文章能帮助你轻松解决 Linux 版本查询的问题,如果你有任何疑问或需要进一步的帮助,欢迎在评论区留言,我会尽力为你解答!
相关的知识点:

