如何从命令行获取Linux版本
时间:2020-02-23 14:30:33 来源:igfitidea点击:
介绍
给定最低版本的Linux系统,我们如何知道正在使用的发行版和发行版?这是一个至关重要的问题。首先,我们可能考虑执行uname -a,但这不能提供我们可能需要的所有信息。幸运的是,几乎所有发行版都有一个文件保存该宝贵数据。
这是/etc/os-release文件。我们可能会猜到该如何查看,因为我们之前已经介绍过cat命令的用法。因此,我们只需执行以下操作,便会愉快地拥有所需的内容。
$cat /etc/os-release NAME="Ubuntu" VERSION="18.04.2 LTS (Bionic Beaver)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 18.04.2 LTS" VERSION_ID="18.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=bionic UBUNTU_CODENAME=bionic
另一方面,uname提供以下系统信息:
-a,全部按以下顺序打印所有信息,省略-p和-i(如果未知):
-s,kernel-name打印内核名称
-n,nodename打印网络节点主机名
-r,kernel-release打印内核版本
-v,内核版本-打印内核版本
-m,机器打印机器硬件名称
-p,处理器打印处理器类型(非便携式)
-i,硬件平台打印硬件平台(非便携式)版本输出uname版本信息和exit
-o,操作系统(主要输出GNU/Linux)
一致用法的示例
$uname -o GNU/Linux $uname -m x86_64 $uname -r 4.15.0-54-generic $uname -s Linux $uname -a Linux cloudstack 4.15.0-54-generic #58-Ubuntu SMP Mon Jun 24 10:55:24 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
如上所示,使用uname命令无法找到发行版和发行版。
使用lsb_release命令
在基于Debian的Linux发行版上,我们可以使用lsb_release命令来打印发行版特定的信息。
可用选项:
-v, --version: Show the version of the LSB against which your current installation is compliant. -i, --id: Display the distributor's ID. -d, --description: Display a description of the currently installed distribution. -r, --release: Display the release number of the currently installed distribution. -c, --codename: Display the code name of the currently installed distribution. -a, --all: Display all of the above information. -s, --short: Use the short output format for any information displayed. This format omits the leading header(s). -h, --help: Show summary of options.
请参阅下面的用法示例。
$lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 10 (buster) Release: 10 Codename: buster $lsb_release -c Codename: buster $lsb_release -d Description: Debian GNU/Linux 10 (buster) $lsb_release -i Distributor ID: Debian
使用hostnamectl命令
对于具有Systemd init的Linux系统,我们可以从hostnamectl命令输出中获取一些系统信息,例如操作系统,内核版本和CPU体系结构。
theitroad@localhost:~# hostnamectl Static hostname: debian10 Icon name: computer-vm Chassis: vm Machine ID: 2e5ced54e5274424b2165b459a18372a Boot ID: e21975d65c53409497466bfbce9cc193 Virtualization: kvm Operating System: Debian GNU/Linux 10 (buster) Kernel: Linux 4.19.0-5-amd64 Architecture: x86-64
请参阅以下可用选项的完整列表:
$hostnamectl --help hostnamectl [OPTIONS...] COMMAND ... Query or change system hostname. -h --help Show this help --version Show package version --no-ask-password Do not prompt for password -H --host=[theitroad@localhost]HOST Operate on remote host -M --machine=CONTAINER Operate on local container --transient Only set transient hostname --static Only set static hostname --pretty Only set pretty hostname Commands: status Show current hostname settings set-hostname NAME Set system hostname set-icon-name NAME Set icon name for host set-chassis NAME Set chassis type for host set-deployment NAME Set deployment environment for host set-location NAME Set location for host See the hostnamectl(1) man page for details.
检查/etc/issue内容
查看/etc/issue上的内容。
$cat /etc/issue Debian GNU/Linux 10 \n \l