There\u2019s a lot more to identifying a Linux release than citing a simple version number. Even a quick look at the output from the uname command can tell you that. What is all of that information, and what does it tell you?\nIn this post, we\u2019ll take a closer look at the output from the uname command along with release descriptions provided by some other commands and files.\nUsing uname\nA lot of information is displayed whenever you issue the command uname -a in a Linux system terminal window. That's because that little \u201ca\u201d tells the man command that you want to see all of the output that the command is able to provide. The resultant display will tell you a lot of different things about the system. In fact, each chunk of information displayed tells you something different about the system.\nAs an example, the uname -a output might look like this:\n$ uname -a\nLinux dragonfly 5.4.0-37-generic #41-Ubuntu SMP Wed Jun 3 18:57:02 UTC 2020 x86_64 x86_64 x86_64 GNU\/Linux\n\nWhile it's probably not much of a temptation, you could retrieve this very same information by using a command that includes all of the uname options in the proper order:\n$ uname -snmrvpio\nLinux dragonfly 5.4.0-37-generic #41-Ubuntu SMP Wed Jun 3 18:57:02 UTC 2020 x86_64 x86_64 x86_64 GNU\/Linux\n\nTo break this long string of information into separate chunks, you can use a for loop like this that runs through each of the options:\n$ for option in s n m r v p i o; do echo -n "$option: "; uname -$option; dones: Linuxn: dragonflym: x86_64r: 5.4.0-37-genericv: #41-Ubuntu SMP Wed Jun 3 18:57:02 UTC 2020p: x86_64i: x86_64o: GNU\/Linux\n\nThat loops shows what information is provided by which option. The uname man page provides descriptions for each option. Here's a list:\nLinux \u2013- kernel name (option \u201cs\u201d)\ndragonfly \u2013- nodename (option \u201cn\u201d)\nx86_64 \u2013- machine hardware name (option \u201cm\u201d)\n5.4.0-37-generic \u2013- kernel release (option \u201cr\u201d)\n#41-Ubuntu SMP Wed Jun 3 18:57:02 UTC 2020 -- kernel version (option \u201cv\u201d)\nx86_64 \u2013- processor (option \u201cp\u201d)\nx86_64 \u2013- hardware platform (option \u201ci\u201d)\nGNU\/Linux \u2013- operating system (option \u201co\u201d)\n\nTo delve a little more deeply into the information being displayed, take a closer look at the kernel release data shown. That 5.4.0-37 in the 4th line is not just a string of arbitrary numbers. Each numeric value is significant.\n\n5 is the kernel version\n4 signifies the major revision\n0 indicates the minor revision\n37 represents the most recent patch\n\nIn addition, that #41 in the 5th line of the loop output (kernel version) indicates that this release has been compiled 41 times.\nIndividual options can be useful when and if you want to display only one piece of all the available information. For example, the command uname -n can tell you just the name of the system and uname -r will show you just the kernel release. These and other options can be useful when you're taking inventory of your servers or building scripts.\nThe same variety of information will be provided by the uname -a command when working on Red Hat systems. Here\u2019s an example:\n$ uname -a\nLinux fruitfly 4.18.0-107.el8.x86_64 #1 SMP Fri Jun 14 13:46:34 UTC 2019 x86_64 x86_64 x86_64 GNU\/Linux\n\nDistribution release information\nIf you need to know what version of a distribution you\u2019re running, the uname output isn\u2019t going to help you much. The kernel version is, after all, not the same as the distribution version. For that information, you can use the lsb_release -r command on Ubuntu and other Debian-based systems and display the contents of the \/etc\/redhat-release file for Red Hat.\nFor Debian systems:\n$ lsb_release -r\nRelease: 20.04\n\nFor Red Hat and related systems:\n$ cat \/etc\/redhat-release\nRed Hat Enterprise Linux release 8.1 Beta (Ootpa)\n\nUsing \/proc\/version\nThe \/proc\/version file can also provide information on your Linux release. The information provided in this file has a lot in common with the uname -a output. Here are some examples.\nOn Ubuntu:\n$ cat \/proc\/version\nLinux version 5.4.0-37-generic (buildd@lcy01-amd64-001) (gcc version 9.3.0 (Ubuntu 9.3.0-10ubuntu2)) #41-Ubuntu SMP Wed Jun 3 18:57:02 UTC 2020\n\nOn RedHat:\n$ cat \/proc\/version\nLinux version 4.18.0-107.el8.x86_64 (email@example.com) (gcc version 8.3.1 20190507 (Red Hat 8.3.1-4) (GCC)) #1 SMP Fri Jun 14 13:46:34 UTC 2019\n\nWrap-Up\nLinux systems provide a lot of information on the kernel and distributions installed. You just have to know where or how to look and make sense of what it means.