用于检查服务器操作系统及其版本的Linux命令是什么?

我使用shell连接到服务器。

#1 楼

内核版本

如果需要内核版本信息,请使用uname(1)。例如:

$ uname -a
Linux localhost 3.11.0-3-generic #8-Ubuntu SMP Fri Aug 23 16:49:15 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux


发行信息

如果要发行信息,它会因发行情况以及系统是否支持Linux而有所不同。标准库。以下是一些检查方法和示例输出。

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu Saucy Salamander (development branch)
Release:    13.10
Codename:   saucy

$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=13.10
DISTRIB_CODENAME=saucy
DISTRIB_DESCRIPTION="Ubuntu Saucy Salamander (development branch)"

$ cat /etc/issue.net
Ubuntu Saucy Salamander (development branch)

$ cat /etc/debian_version 
wheezy/sid


评论


CodeGnome,为什么不使用uname -o

–debal
13年8月29日在6:16

@debal因为在Linux系统上返回的全部是GNU / Linux,这不是OP可能要求的。

– CodeGnome
13年8月29日在6:17



刚刚检查,您是正确的。 lsb_release -a达到了目的。谢谢。

–debal
13年8月29日在6:23

我试过cat / etc / issue,结果为:\ S内核\ r在\ m上,这是什么意思?

–ray
17年7月5日在7:35



@Ray,对于CentOS 7相同,在Red Hat情况下的issue.net用于标识打印输出消息的格式。 \ r表示“插入发行版号”,\ m表示“插入计算机的体系结构标识符”。

–zhihong
18-10-25在12:45

#2 楼

如果您使用的是基于RH的操作系统,则可以执行cat /etc/redhat-release来检查Red Hat Linux(RH)版本。

另一个可以在任何Linux发行版上运行的解决方案是lsb_release -a

并且uname -a命令显示内核版本和其他内容。

cat /etc/issue.net也显示您的操作系统版本...当您要连接到服务器时,此文件显示在telnet命令中。出于安全原因,最好删除此文件中的版本和操作系统名称。

评论


“ cat /etc/issue.net”可在Raspberry Pi上使用。例如,“ Raspbian GNU / Linux 7”

– Peter Mortensen
15-10-27在13:27



Telnet?我认为这几天是ssh(?)

– Peter Mortensen
15年10月27日在13:30

#3 楼

如果它是基于debian的系统,则可以

cat /etc/*_version


,或者对于基于Red Hat或CentOS的系统,可以尝试(这在Red Hat Enterprise Linux上有效-7):

cat /etc/*-release


评论


cat / etc / *-release-对我有用。我有/ etc / alpine-release和/ etc / os-release。

–柯比
17年7月13日在11:31

也适用于CentOS

– TimSparrow
18年8月23日在14:52