Linux - uname命令查看系统版本信息

Posted 程序员小默

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux - uname命令查看系统版本信息相关的知识,希望对你有一定的参考价值。

Linux几个发型版本:Ubuntu(乌班图)、RedHat(红帽)、CentOS、Debain[蝶变]、Fedora、SuSE、OpenSUSE

【1】系统版本查询信息几种方式

① 查看系统信息

命令如下:

uname -a

该命令解释如下:

Linux

#显示所有信息
[root@janus ~]# uname -a
Linux janus 3.10.0-1062.18.1.el7.x86_64 #1 SMP Tue Mar 17 23:49:17 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

#系统类型
[root@janus ~]# uname -m
x86_64

#
[root@janus ~]# uname -n
janus

#查看内存版本
[root@janus ~]# uname -r
3.10.0-1062.18.1.el7.x86_64

#显示内存名称
[root@janus ~]# uname -s
Linux

#主机处理器类型
[root@janus ~]# uname -p
x86_64


[root@janus ~]# uname -v
#1 SMP Tue Mar 17 23:49:17 UTC 2020
[root@janus ~]# uname -o
GNU/Linux
[root@janus ~]# uname -i
x86_64
[root@janus ~]# uname --version
uname (GNU coreutils) 8.22
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by David MacKenzie.
[root@janus ~]# uname --help
Usage: uname [OPTION]...
Print certain system information. With no OPTION, same as -s.

-a, --all print all information, in the following order,
except omit -p and -i if unknown:
-s, --kernel-name print the kernel name
-n, --nodename print the network node hostname
-r, --kernel-release print the kernel release
-v, --kernel-version print the kernel version
-m, --machine print the machine hardware name
-p, --processor print the processor type or "unknown"
-i, --hardware-platform print the hardware platform or "unknown"
-o, --operating-system print the operating system
--help display this help and exit
--version output version information and exit

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
For complete documentation, run: info coreutils uname invocation

② 查看正在运行的内核版本

命令如下:

cat /proc/version

示例如下:

Linux

Linux version 3.10.0-693     linux内核版本号
gcc version 4.8.5 gcc编译器版本号
Red Hat 4.8.5-16 Red Hat版本号

③ 查看发行版本信息

命令如下:

cat /etc/issue // ubuntu

cat /etc/redhat-release

示例如下:

Linux

​more /etc/issue​​查看发行版本信息:

[root@heheapp1 tomcat8086]# more /etc/issue
CentOS release 6.8 (Final)
Kernel \\r on an \\m

④ 显示LSB和特定版本的相关信息

命令如下:

lsb_release -a

示例如下:

Linux

适用于所有的linux,包括Redhat、SuSE、Debian等发行版,但是要安装lsb。

安装lsb:

yum install lsb

⑤ 查看系统64还是32位

命令如下:

getconf LONG_BIT

示例如下:

[root@li127-156 ~]# getconf LONG_BIT
32

如果我们想要判断当前系统的位数,还可以通过file命令来判断系统文件(主要是系统命令)的位数来推断系统的位数。命令如下

[root@VM_0_12_centos ~]# 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.18, stripped

⑥ 几个命令信息对比

不同命令获取信息如下:

[root@heheapp1 tomcat8086]# more /etc/issue
CentOS release 6.8 (Final)
Kernel \\r on an \\m

[root@heheapp1 tomcat8086]# cat /proc/version
Linux version 2.6.32-573.el6.x86_64 (mockbuild@c6b9.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC) ) #1 SMP Thu Jul 23 15:44:03 UTC 2015

[root@heheapp1 tomcat8086]# uname -a
Linux heheapp1 2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

[root@heheapp1 tomcat8086]# getconf LONG_BIT
64

【2】Linux和ubuntu的区别

严格来说,Linux并不是操作系统,而是一个操作系统的内核,严谨一些可以说:linux 一般指 GNU 套件加上 linux 内核。

Ubuntu是基于linux内核的桌面PC操作系统,术语上喜欢称Ubuntu是一个 linux 发行版(因为debian(其实也是一款操作系统) 是 linux 的一个发行版,而 ubuntu 是属于 debian 系列的一个分支,所以…)。

首先,我们看看一个具有linux内核的操作系统包含哪些部分。一般包含四大部分:内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以很轻松地运行应用程序、管理文件并使用整个系统。

① Linux应用程序

一个好的操作系统会提供一套方便于用户使用系统的应用程序,如文本编辑器、办公套件、Internet工具、数据库等。

② Linux文件系统

文件系统是文件存放在存储设备(如磁盘)上的组织方法。如EXT2、EXT3、FAT、FAT32、VFAT等。

③ Linux Shell

Shell是操作系统系统的用户界面,提供了用户与内核进行交互操作的一种接口,是一个命令解释器。它接收用户输入的命令并把它送入内核去执行。

④ Linux内核

内核是操作系统的核心。一个操作系统是需要执行一些任务,如请求内存资源、执行计算, 连接网络,等等。 Linux内核就负责处理所有这样的请求,就像人的大脑一样。

Linux内核从功能上讲具有五大模块化功能:进程管理、内存管理、文件系统管理、设备控制和网络管理。

  • 进程管理的体现:

Linux内核负责进程创建和销毁, 并完成进程之间的通信,以及进程的输入和输出。而且,进程管理控制了多个进程对Soc上的一个或者多个cpu资源的使用。

  • 内存管理

内存资源的使用策略对操作系统性能体现来说,尤为重要。 内核在有限的内存资源上,为每一个进程建立了一个虚拟地址空间。 内核的不同功能部分与内存管理子系统通过一套函数调用交互, 使得通信高效简单。

  • 文件系统管理

Linux操作系统中,几乎任何东西都可看作为一个文件(一切皆文件)。内核中大量使用kobject等结构体,来把一堆非结构化的硬件组织成一种多层次的数据系统。另外, Linux 支持多个文件系统类型,如ext4等。

  • 设备控制

几乎任何一个操作系统最终都运行在一个物理平台上。内核中包含访问平台上硬件设备的驱动代码。

  • 网络功能

大部分网络操作不会关联具体的进程,因为数据包的传输是异步事件。应用程序访问数据包之前,内核完成数据包的收集、标识和分发等任务。

那Ubuntu作为操作系统,具有什么特色呢?

目前看来,Ubuntu尊崇“免费开源和个性化”,拥有很人性化的亮丽的交互界面,强大的软件源支持,主流驱动大都可以在安装包中找到。另外因为Ubuntu是基于 debian 系列的,所以有 dpkg 套件可以在线获取安装软件,拥有完善的包管理机制,兼容性好,应用非常多,可以下载很多个性化小工具,个性化体验非常棒;可以说Ubuntu是Linux发行版中最好的PC操作系统。

因为这些原因,Ubuntu常常作为linux爱好者来学习linux应用编程和linux驱动开发的平台。


【3】一个奇怪的现象

背景:客户的服务器很老,解决某个问题发现的一个有趣的现象。

[root@li127-156 ~]# uname -v
#1 SMP PREEMPT Wed Jul 10 17:11:49 UTC 2019

[root@li127-156 ~]# uname -a
Linux li127-156 5.1.17-x86_64-linode128 #1 SMP PREEMPT Wed Jul 10 17:11:49 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

[root@li127-156 ~]# cat /proc/version
Linux version 5.1.17-x86_64-linode128 (maker@build.linode.com) (gcc version 4.9.2 (Debian 4.9.2-10+deb8u1)) #1 SMP PREEMPT Wed Jul 10 17:11:49 UTC 2019

[root@li127-156 ~]# more /etc/issue
CentOS release 6.2 (Final)
Kernel \\r on an \\m

[root@li127-156 ~]# getconf LONG_BIT
32
[root@li127-156 ~]# cat /etc/redhat-release
CentOS release 6.2 (Final)
[root@li127-156 ~]#


以上是关于Linux - uname命令查看系统版本信息的主要内容,如果未能解决你的问题,请参考以下文章

linux系统内怎么查看系统版本

Linux 信息收集相关命令

linux如何查看系统版本

Linux系统信息查看命令

如何查看linux发行版版本信息

Linux 内核系统 版本信息 获取