我如何检查我正在运行的Ubuntu版本?

如何通过命令行和图形界面检查我的当前Ubuntu版本?

4既然这是我在搜索中找到的第一个结果,我就提供一个替代方案:检查/etc/apt/sources.list文件,并查看它从哪个仓库拉取。这是我唯一能找出我正在运行的Ubuntu镜像的方法,而我是在docker run -it --rm命令中运行的,显然没有安装lsb_release - Bratchley
4个回答

官方页面所述,使用以下方法:
lsb_release -a

您的版本显示在“描述”行上。如果您只想要该行,请键入lsb_release -d

如果您想通过桌面环境进行检查,可以查看系统设置 → 详细信息,其中显示的数据如下:

Display of "System Settings → Details"

备选方案如下:

  • hostnamectl
  • cat /etc/*ease

查看 lsb_releasehostnamectlcat /etc/*ease 命令的示例输出:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.2 LTS          # <-- here
Release:    16.04
Codename:   xenial

$ lsb_release -d
Description:    Ubuntu 16.04.2 LTS

$ hostnamectl 
   Static hostname: XXX
         Icon name: computer-desktop
           Chassis: desktop
        Machine ID: 3d6dcfdd7b9f41dbb62b0e8cd75014ae
           Boot ID: 4ff04a6baed54e719592f3255005a235
  Operating System: Ubuntu 16.04.2 LTS                # <-- here
            Kernel: Linux 4.10.0-38-generic
      Architecture: x86-64

$ cat /etc/*ease
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS"  # <--- here
NAME="Ubuntu"
VERSION="16.04.2 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.2 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial

83为什么是这个奇怪的命令?我总是记不住它。为什么不用类似 os -v 这样的命令呢?有点烦人。 - Charlie Parker
6似乎80年代有很多好东西,包括简单易记的UNIX命令! - João Rocha da Silva
12啊,在我们好旧的纯粹DOS中,它只是ver - kap
1@CharlieParker 请参阅Linux标准基础 - Aaron D. Marasco
30Ubuntu的官方LTS Docker镜像(ubuntu:xenial)没有lsb_release命令;我不得不像另一个答案中提到的那样解析/etc/os_release文件。 - Aaron D. Marasco
9根据man lsb_release,LSB代表Linux Standard Base - Serge Stroobandt
@CharlieParker 将以下内容添加到你的 .bashrc 文件中:export OS_CODE_NAME=$(lsb_release -cs); export OS_CODE_VERSION=$(lsb_release -rs) 可以让你使用 env | grep OS 命令,这可能更加方便。 - spyle
@kap 别名 ver="lsb_release -ds" - caraca
3@CharlieParker alias os="lsb_release -a"。我同意这应该默认更容易,但UNIX的美妙之处在于它允许您自己轻松修复此类问题。 - Austin Dean
这在Ubuntu 18中似乎无法正常工作。在16中可以(而且在您提供的文档中显示为14)。 - wordsforthewise
在Ubuntu 18上出现了bash: lsb_release: command not foundE: Unable to locate package lsb_release的错误提示。 - techkuz
@JoãoRochadaSilva 这实际上是来自2000年代的。 - JoL
只需要简短发布说明的代码:sb_release -d | grep -ioP ':\s+\K(.+?$)' - Agnius Vasiliauskas

使用:

cat /etc/*release

在我的情况下,它产生了以下输出:
DISTRIB_ID=LinuxMint
DISTRIB_RELEASE=17.2
DISTRIB_CODENAME=rafaela
DISTRIB_DESCRIPTION="Linux Mint 17.2 Rafaela"
NAME="Ubuntu"
VERSION="14.04.3 LTS, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04.3 LTS"
VERSION_ID="14.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"

14cat /etc/lsb-release - user4381
3在当前的Mint版本中,/etc/upstream-release/lsb-release也可能是感兴趣的内容。 - cheffo
12这在我测试的所有地方都有效。lsb_release 不适用于所有版本,例如在 Docker 上的 Ubuntu 16.04。 - Jay
3根据我的经验,这是一种更为强大的方法,因为有些发行版可能没有lsb_release命令。 - RutgerH
1在我的 Docker 镜像上进行了工作 - Rıfat Erdem Sahin
如何仅获取DISTRIB_CODENAME,例如“xenial”? - RutgerH
使用命令直接获取grep 'CODENAME' /etc/lsb-release | cut -d'=' -f2的结果。 - Larry Cai
1好的答案,因为从docker安装的Ubuntu镜像没有安装lsb-release。 - Binita Bharati
最佳解决方案,适用于大多数情况下的工作。 - tim
这个也可以在WSL上运行。 - Niko Pasanen

使用终端命令来显示已安装的Ubuntu“版本”的详细信息:
lsb_release -a

这可能比你需要的更冗长 - 也许你只是想看到 15.4?它可以通过选项 -r--release)单独显示:
$ lsb_release -r
Release:        15.04

在脚本中使用时,添加-s--short)。
$ lsb_release -r -s
15.04

请参阅进一步的示例,以获取更有用的选项-c(--codename)和-d(--description),以及两者的组合。
$ lsb_release -c
Codename:       vivid
$ lsb_release -d
Description:    Ubuntu 15.04
$ lsb_release -dc
Description:    Ubuntu 15.04
Codename:       vivid



请注意,您可以通过类似的命令获取有关当前运行的内核和硬件的类似信息。
$ uname -a
Linux mybox 3.19.0-31-generic #36-Ubuntu SMP Wed Oct 7 15:04:02 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

1lsb_release -r -s 是我正在寻找的,谢谢。 - Lukas Liesis
1lsb_release -rslsb_release -cs在脚本中非常有用。 - frozen-flame

在终端中执行此命令将为您提供所有可能需要的信息:
lsb_release -a

你可以通过在GUI中转到“系统设置>详细信息”来访问它。

enter image description here