How do I find out what version of Linux distribution I'm using from the shell (bash) prompt?
To find out what version of Linux (distro) you are running, enter the following command at the shell prompt:
$ cat /etc/*-release
Sample output from my RHEL v5.x server:
Red Hat Enterprise Linux Server release 5 (Tikanga)Sample outputs from my Ubuntu Linux v7.10 server:
DISTRIB_ID=Ubuntu DISTRIB_RELEASE=7.10 DISTRIB_CODENAME=gutsy DISTRIB_DESCRIPTION="Ubuntu 7.10"
lsb_release Command
The lsb_release command displays certain LSB (Linux Standard Base) and distribution-specific information. Type the following command:
$ lsb_release -a
Sample outputs:
No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 6.0.1 (squeeze) Release: 6.0.1 Codename: squeeze
How Do I Find Out My Kernel Version?
Type the following command:
$ uname -a
OR
$ uname -mrs
Sample outputs:
Linux 2.6.32-5-amd64 x86_64
Where,
- Linux - Kernel name
- 2.6.32-5-amd64 - Kernel version number
- x86_64 - Machine hardware name (64 bit)
Say hello to /proc/version
Type the following command to see kernel version and gcc version used to build the same:
$ cat /proc/version
Sample outputs:
Linux version 3.2.0-0.bpo.1-amd64 (Debian 3.2.4-1~bpo60+1) (ben@decadent.org.uk) (gcc version 4.4.5 (Debian 4.4.5-8) ) #1 SMP Sat Feb 11 08:41:32 UTC 2012
You should follow me on twitter here or grab rss feed to keep track of new changes.
Featured Articles:
- 30 Handy Bash Shell Aliases For Linux / Unix / Mac OS X
- Top 30 Nmap Command Examples For Sys/Network Admins
- 25 PHP Security Best Practices For Sys Admins
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- Linux: 20 Iptables Examples For New SysAdmins
- Top 20 OpenSSH Server Best Security Practices
- Top 20 Nginx WebServer Best Security Practices
- 20 Examples: Make Sure Unix / Linux Configuration Files Are Free From Syntax Errors
- 15 Greatest Open Source Terminal Applications Of 2012

- My 10 UNIX Command Line Mistakes
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- The Novice Guide To Buying A Linux Laptop











{ 45 comments… read them below or add one }
But how to find version of other unix systems like FreeBSD. cat /etc/*-release won’t give it
Thanks for giving command cat /etc/*-release
Really this is useful
Thanks
Vikash
This isn’t exactly a general solution. It assumes the distribution supports some LSB stuff, I think.
For debian and slackware, one could try:
$ cat /etc/*version
On debian stable, lsb-release exists, but just isn’t in /etc/. There is an lsb-release package, and you can run:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 4.0r1 (etch)
Release: 4.0r1
Codename: etch
By the way, lsb_release -a also works on the older Ubuntu version I have.
You can also cat version in proc…
:; cd /proc
;; cat version
Linux version 2.6.9-42.0.3.ELsmp (brewbuilder@hs20-bc1-7.build.redhat.com) (gcc version 3.4.6 20060404 (Red Hat 3.4.6-3)) #1 SMP Mon Sep 25 17:28:02 EDT 2006
Thanks Richard,
cat /proc/version worked for me..
Thanks alot ! all commands gave some good info about my sys.
And “cat /etc/issue” as well, for my ubuntu 8
thanx richy!!!it works
Thanks for the quick command. Worked perfectly.
hi guys,
can this kind of file which contains the version info be modified? for example when I want to remaster Ubuntu to new name with my name: Maxx
do we just to modify a file? or what should we do?
thanks in advance!
hai ,
i read ur information for linux.but, i want “what r the different versions available in linux”.please give ans immediately
would you also like a foot massage with that ??
Please specify the which Linux ? Redhat or else….
Also try
uname -a
Thanks Daniel, that helped on FreeBSD
Worked perfectly ;)
Hi Daniel, I think your solution will only give the hostname, Kernel, arhitecture etc, but NOT the “distribution name” as is quoted on the question. Havent checked on anyother distro, but at least thats what happens on my CentOS 5.4, the other solutions seem to work.
[root@myhostname ~]# uname -a
Linux myhostname.mydomanin.com 2.6.18-164.el5 #1 SMP Thu Sep 3 03:33:56 EDT 2009 i686 i686 i386 GNU/Linux
Thanks. Was digging few old linux machines and found this works. Running very old ubuntu ;)
I’m on rhel .. if I type cat /etc/*release I get:
Red Hat Enterprise Linux WS release 4 (Nahant Update 3)
but if I type cat /proc/version I get:
Linux version 2.6.9-34.0.1.EL.ADSKsmp (root@oka) (gcc version 3.4.4 20050721 (Red Hat 3.4.4-2))
I’m confused :( so what’s my distribution??
Your distribution is RHEL and your kernel version is 2.6.9-34.0.1.
Both are different.
hi guys
please tyr
FOR UNIX:
#cat /etc/issue
#cat /etc/*-release
#cat /proc/version
#uname -a
FOR Debai/slackware:
#cat /etc/*version
/etc/issue works for Debian too! I use something like this:
if [ "`cat /etc/issue | grep Debian | wc -l`" == "1" ]; then echo "is debian" else cat /etc/issue # write out distro nameThis solution works perfect.
uname -a
Also try:
$ cat /etc/[A-Za-z]*[_-][rv]e[lr]*
Hi!
Nice example!
Anyhow I can not see why needed the [A-Za-z] part. Please let me know.
So here are the roots of a brand new all platformer ver.sh one-liner…. B-)
cd /etc && cat *_ver* *-rel* /proc/version && uname -a && lsb_release -a
Let us know what does it miss?? (I know – this must be considered as pre-alpha version. B-) some file and command availability should be implemented…)
…. OK – sorry for the OT-like summary here.
–
R
thnx… helps lot
I typed this in and it worked: cat /proc/version
And this came up : Linux version 2.6.34houkouonchi-web100-ioat-vlan (root@houkouonchi) (gcc version 4.1.2 (Gentoo 4.1.2)) #1 SMP Thu Oct 14 16:27:09 PDT 2010
What distro would this be??? I am running my linux through a data center that I have access to.
Oh it would be Gentoo. THANKS! answered my own question =P
thank u .. it works
smarcell – you are so clever. I am in awe.
but when I type that into the little white box thing, it just says “cat /etc/lsb-release.d: Is a directory”
and I still have no idea what my OS is ;-P
more seriously:
maxx – no you don’t want to change these files or try; what you want to do is something like (just an e.g.) in
/etc/rc.local
#!/bin/sh
#other stuff will be here probably, put your stuff at the end
echo “Hello, you’ve just successfully gained access to Maxx’s computer” > /etc/motd
cat /proc/version >> /etc/motd
echo `uname -a` >> /etc/motd
and so on. you are printing text and the output of programs to the file /etc/motd using shell syntax (the little backticks mean “interpret as a command to run” and echo means “print this” and > means “create a file and send this to it” and “>> means append this to the end of this file”
generally, motd will be printed on login (“message of the day”, quite old school, some systems might not have it I guess. My Scientific Linux 6.1 does. I think ubuntu does. maybe not.)
if not, you can make it yourself and have it in everyone’s .bashrc by editing /etc/skel. For that matter you can put anything you want in .bashrc or .profile and it will run whevever a shell is opened (a bash shell obviously).
/proc isn’t usually somewhere you want to write, unless you know why you are doing it.
please send me linux versions and release dates
hi
thank you for cat /etc/*-release
and lsb_release -a
very helpful
Thanks a ton…
lsb_release -a suited my requirements!
Thanks :)
Same problem on Centos 5.6.
Thank you all! Спасибо,
You’d think ‘displaying kernel version number’ would be a simple, everyday command to find… I’m sure most of you know, that is not true. I search and check a hundred pages before finding this article. I should have now to check nixCraft (cyberciti) first or at lest in the top 5 sites..
Learning.
Thanks again.
Landis.
Thanks Dear….. It helps me lot
thanx a lot
thank you!
It nice!
I wish to update my linux distro…can you post the commands please..
i have linux RH 5, it shows kernal version some 2.6 and server version also 2.6
so which is my linux version or how can i check it..
Thanks :)
lsb_release -a => this command not work for me.
Which linux distribution support this command.
currently I have centOS
lsb_release isn’t installed on CentOS by default. just install it.
yum install lsb
lsb_release_a
command not found
hi folks,
just fell into this thread, verified it and … got confused.
Well, my CentOS just updated from 6.3 to 6.4. Everything I verified showed up 6.4, except /etc/issue, which still contains 6.3. So my conclusion is, that this file is created at install time and may be left untouched by updates. And yes, /etc/issue can safely be ‘personalized’, ‘taylored’ or whatever you like to call such customizing.
So far just my few cents.
Useful info, easy to understand, thanks!