小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
uname查看系统信息(linux内核版本)
uname(全拼:unix name)命令用于显示系统信息,以及linux的内核版本。
uname -r 用于查看linux的内核版本。
uname命令的参数说明:
-a
或--all
显示全部的信息。-m
或--machine
显示架构类型。-n
或--nodename
显示在网络上的主机名称。-r
或--release
显示linux的内核版本。-s
或--sysname
显示操作系统名称。-v
显示操作系统的版本。--help
显示帮助。--version
显示版本信息。
如下:
[root@VM_0_15_centos ~]# uname
Linux
[root@VM_0_15_centos ~]# uname -r
3.10.0-957.21.3.el7.x86_64
[root@VM_0_15_centos ~]# uname -a
Linux VM_0_15_centos 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
复制代码
其他:
[root@VM_0_15_centos ~]# uname -m
x86_64
[root@VM_0_15_centos ~]# uname -n
VM_0_15_centos
[root@VM_0_15_centos ~]# uname -v
#1 SMP Tue Jun 18 16:35:19 UTC 2019
[root@VM_0_15_centos ~]# uname -s
Linux
复制代码
SMP:对称多处理(Symmetrical Multi-Processing)或 对称多处理器 (Symmetric Multi-Processor) ,是服务器常用的一种系统架构模式。
发行版中前面的
3.10.0
是linux内核版本,是RHEL/Centos7使用的内核。
/etc/redhat-release文件查看发行版本
# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
复制代码
/proc/version 文件查看详细版本
# cat /proc/version
Linux version 3.10.0-957.21.3.el7.x86_64 ([email protected]) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Tue Jun 18 16:35:19 UTC 2019
复制代码
lsb_release命令查看系统版本信息
lsb_release命令
lsb_release
命令显示有关的特定 Linux 发行版的 LSB(Linux Standard Base)信息,包括版本号(version number
)、发行代号(release codename
)和发行商ID(distributor ID
)。
# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.3.1611 (Core)
Release: 7.3.1611
Codename: Core
复制代码
此命令适用于所有的linux,包括Redhat、SUSE、Debian等发行版,前提是安装了LSB Core。
安装LSB Core
lsb_release 是 LSB Core 软件包的一部分。默认不是必须安装在系统中。
下面是几个不同的系统安装 LSB Core 的介绍:
- RHEL/Centos
sudo yum update && sudo yum install redhat-lsb-core
复制代码
- RHEL8/Centos8/Fedora
sudo dnf update && sudo dnf install redhat-lsb-core
复制代码
- Ubuntu, Debian
sudo apt-get update && sudo apt-get install lsb-core
复制代码
- OpenSUSE
sudo zypper update && sudo zypper install lsb-core
复制代码
- Arch
pacman -Syu lsb-release
复制代码
其他
上面的几个命令,尤其是uname已经列出来所有的发行版本和内核版本,及机器的信息。
此外,可能还有不怎么使用,或者,很取巧的方式,获取版本或架构位数信息的方式,如下几种的介绍。
- getconf LONG_BIT 或 getconf WORD_BIT
# getconf LONG_BIT
64
复制代码
长整型的位数(long int)来表示系统的位数。
- /bin/ls文件信息(
file /bin/ls
)
# file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=3d705971a4c4544545cb78fd890d27bf792af6d4, stripped
复制代码
ELF 全称 “Executable and Linkable Format”,即可执行可链接文件格式,目前常见的Linux、 Android可执行文件、共享库(.so)、目标文件( .o)以及 Core 文件(吐核)均为此格式。