397

What is the Linux command to check the server OS and its version?

I am connected to the server using shell.

sarath
  • 4,081

3 Answers3

487

Kernel Version

If you want kernel version information, use uname(1). For example:

$ 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

Distribution Information

If you want distribution information, it will vary depending on your distribution and whether your system supports the Linux Standard Base. Some ways to check, and some example output, are immediately below.

$ 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
  • 7,820
  • CodeGnome, why not use uname -o – debal Aug 29 '13 at 06:16
  • 14
    @debal Because on Linux systems all it returns is GNU/Linux, which is not what the OP is likely asking for. – CodeGnome Aug 29 '13 at 06:17
  • 4
    Just checked it, and you are correct. lsb_release -a did the trick. Thanks. – debal Aug 29 '13 at 06:23
  • 1
    I tried cat /etc/issue and it gives me result as: \S Kernel \r on an \m, what does it mean? – ray Jul 05 '17 at 07:35
  • @Ray, get the same for CentOS 7, issue.net for Red Hat case is used to identify the format of print out message. \r for "Inset the release number", \m for "insert the architecture identifier of the machine". – zhihong Oct 25 '18 at 12:45
  • Just to add, hostnamectl is also an option. – rd10 Jun 28 '20 at 20:15
78

If it is a debian based system, you could do

cat /etc/*_version

or for a Red Hat or CentOS based system, you could try (this is working on Red Hat Enterprise Linux-7):

cat /etc/*-release
Paulo Tomé
  • 3,782
74

You can execute cat /etc/redhat-release to check the Red Hat Linux (RH) version if you use an RH-based OS.

Another solution that may work on any linux distributions is lsb_release -a.

And the uname -a command shows the kernel version and other things.

Also cat /etc/issue.net shows your OS version... This file shows in the telnet command when you want to connect to the server. For security reasons, it is better to delete the version and os name in this file.