为什么需要知道Linux系统版本
很多时候我们登录一台服务器,第一件事就是确认它跑的是什么系统。不同版本的Linuxnode.js安装linux,安装软件、配置服务、打补丁的方式都不太一样。有时候你照着教程操作,发现命令不对,或者软件源不可用,多半是系统版本搞错了。所以学会快速查看操作系统版本,是每个运维和开发的基本功。
怎么查看Linux发行版名称和版本号
最直接的方法是用cat /etc/os-release这个命令。几乎所有主流的Linux发行版都会在/etc/os-release文件里写清楚系统的名称、版本号、ID这些信息。比如你会看到类似NAME="Ubuntu",VERSION_ID="22.04"这样的内容。这个命令在CentOS、Debian、Fedora上都通用,算是比较靠谱的。

如果系统比较老,没有os-release这个文件,可以试试cat /etc/redhat-release,这个文件常见于Red Hat系的系统,比如CentOS、RHEL、Fedora。还有cat /etc/debian_version是Debian系专用的。另外lsb_release -a也是一个常用的命令,但需要系统安装了lsb-release包才能用,有些最小化安装的服务器可能没有。
怎么查看Linux内核版本

操作系统版本和内核版本是两个概念。发行版版本是Ubuntu 20.04这种,而内核版本是5.4.0-26-generic这种。用uname -r就能看到内核版本号。如果你想看更详细的内核信息linux 查操作系统版本,用uname -a,它会输出内核版本、主机名、系统时间、架构等一堆内容。uname这个命令在几乎所有的Linux系统上都存在linux 查操作系统版本,不用担心找不到。
有时候你排查内核相关的问题,比如驱动加载失败、容器运行异常,很有可能是内核版本不对。所以记清楚这两个版本号的区别,干活的时候才不会乱。
用hostnamectl和/proc/version也能看到版本信息

现在很多Linux系统都用了systemd,那么hostnamectl这个命令也能显示操作系统版本。执行hostnamectl之后,你会看到一行Operating System: Ubuntu 22.04.3 LTS,信息很清晰。这个方法比cat文件更直观,但前提是系统确实用了systemd。
还有一个方法是查看/proc/version文件,用cat /proc/version可以看到类似Linux version 5.4.0-26-generic (buildd@lgw01-amd64-038)这样的一段文字。这个文件会告诉你内核版本以及编译它的工具链信息,但不会直接显示是Ubuntu还是CentOS。所以这个命令适合用来查内核相关的信息linux shell,而不是发行版版本。
常用的查看版本命令汇总

如果你记不住那么多命令,可以记住下面这几个最实用的:cat /etc/os-release、uname -r、hostnamectl。基本上这三条命令能覆盖大部分场景。刚开始接触Linux的时候,可以先在虚拟机里多练几次,把每个命令的输出都看一遍,熟悉一下不同发行版的信息格式。等你用多了,一眼就能分辨出那是Ubuntu还是CentOS,甚至能直接看出内核版本是不是最新的长期支持版。
不同发行版的文件位置和命令习惯确实有区别,但核心思路是一样的:去固定的系统文件或者用系统自带的命令读取版本信息。你不需要死记硬背所有路径,只要知道去哪里找、用什么查,就足够了。
