HowtocheckosversioninLinuxcommandline
https://www.cyberciti.biz/faq/how-to-check-os-version-in-linux-command-line/#comment-932970
Linux 是一个自由的开放源代码的操作系统。Linux 有许多变种。这些变种典型地被称作 Linux 发行版本。Suse,OpenSUSE、Debian、Ubuntu,CentOS,Arch,Fedora,RHEL 都是常见的 Linux 发行版本名称。确定你的系统版本和名称对于安全补丁是非常有用的。(译注:或者安装包之类)
Linux 中查看系统版本
查找Linux系统名称和版本的步骤如下:
打开终端(bash shell)
如果是远程终端则需要ssh登陆:ssh user@server-name
输入下列任一命令来查看Linux的名称和版本:
cat /etc/os-release
lsb_release-a
hostnamectl
4. 输入以下命令来查看 Linux 内核版本:
uname -r
让我们通过示例详细了解Linux发行版本:(译注:各个发行版适用的命令)
/etc/os-release 文件
输入以下命令:
$ cat /etc/os-release
输出样例:
NAME=”Ubuntu”VERSION=”20.04.1 LTS (Focal Fossa)”ID=ubuntuID_LIKE=debianPRETTY_NAME=”Ubuntu 20.04.1 LTS”VERSION_ID=”20.04″HOME_URL=”https://www.ubuntu.com/”SUPPORT_URL=”https://help.ubuntu.com/”BUG_REPORT_URL=”https://bugs.launchpad.net/ubuntu/”PRIVACY_POLICY_URL=”https://www.ubuntu.com/legal/terms-and-policies/privacy-policy”VERSION_CODENAME=focalUBUNTU_CODENAME=focal
我们可以使用 grep / egrep 命令来从输出信息中过滤出 OS 版本和名称,如下:
$grep’^VERSION’/etc/os-release$egrep’^(VERSION|NAME)=’/etc/os-release
然后可以得到:
NAME=”CentOS Linux”VERSION=”8 (Core)”
即使是非常迷你的 Linux 发行版本,比如说 Alpine Linux 也会提供必须的 OS 信息,包括系统版本:
NAME=”Alpine Linux”ID=alpineVERSION_ID=3.12.1PRETTY_NAME=”Alpine Linux v3.12″HOME_URL=”https://alpinelinux.org/”BUG_REPORT_URL=”https://bugs.alpinelinux.org/”
使用lsb_release 命令在Linux上查看系统版本
lsb_release 命令会在控制台展示 LSB(Linux Standard Base) 和 分发的版本信息。语法如下:
$lsb_release-a
输出样例:
LSB Version: :core-4.1-amd64:core-4.1-noarchDistributor ID: CentOSDescription: CentOS Linux release 7.4.1708 (Core) Release: 7.4.1708Codename: Core
hostnamectl 命令
使用 hostnamectl 命令来查询或者改变系统的hostname(主机名)和相关设置。输入如下命令即可查询 OS 名称和 Linux 内核版本:
$ hostnamectl
Static hostname: nixcraft-www-42 Icon name: computer-vm Chassis: vm Machine ID: beb217fbb4324b7d9959f78c279e6599 Boot ID: 10f00cc5ca614b518a84d1793d0134bc Virtualization: qemu Operating System: Ubuntu 16.04.3 LTS Kernel: Linux 4.10.0-42-generic Architecture: x86-64
从我的 OpenSUSE Linux 15.2 服务器有另一个输出:
Static hostname: opensuse-nixcraft Icon name: computer-vm Chassis: vm Machine ID: b95459dbd45d428fa513ab6a9636d1a8 Boot ID: 9a144556789241e29b62b962cfb6ba1d Virtualization: kvm Operating System: openSUSE Leap 15.2 CPE OS Name: cpe:/o:opensuse:leap:15.2 Kernel: Linux 5.3.18-lp152.50-default Architecture: x86-64
uname 命令
仅输出 Linux 内核版本,执行:
$uname-r
输出样例:
/proc/version 文件
另一个选择是输入如下命令:
$cat /proc/version
输出样例:
Linux version 3.10.0-693.11.6.el7.x86_64 (mockbuild@x86-041.build.eng.bos.redhat.com) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) ) #1 SMP Thu Dec 28 14:23:39 EST 2017
/etc/iusse 文件
可以如下使用 more / less 辅助:
$cat/etc/issue$more/etc/issue$less/etc/issue
获取帮助
你可以通过下列命令来查看 uname 的帮助说明:
$ man hostnamectl$man uname$ man cat
结论:
我们解释了在 Linux 上如何查找并显示系统版本(OS version)。最安全的做法是使用 grep 或 cat 命令查看 /etc/os-release 文件。基于 Linux 分发的版本可以使用 hostnamectl 命令。
transcoder tips:
适用性比较普遍的命令:
#查看分发系统:centos/Debian/Ubuntu$cat/etc/issue#查看内核版本$ cat /proc/version