- How To Find Out My Linux Distribution Name and Version
- Method 1. Use /etc/*-release file to display Linux distro version
- Method 2. Use lsb_release command To find out Linux distribution name and version
- Method 3. Use hostnamectl to find out my Linux distribution name and version
- How do I find out My Linux kernel version?
- Say hello to /proc/version
- Related media
- Putting It All Together
- Conclusion
- Команда find в Linux – мощный инструмент сисадмина
- Поиск по имени
- Поиск по типу файла
- Поиск по размеру файла
- Единицы измерения файлов:
- Поиск пустых файлов и каталогов
- Поиск времени изменения
- Поиск по времени доступа
- Поиск по имени пользователя
- Поиск по набору разрешений
- Операторы
- Действия
- -delete
- Заключение
How To Find Out My Linux Distribution Name and Version
H ow do I find out what version of Linux distribution I am using from the shell (bash) prompt? How can I tell my Linux distribution name and version using command-line options over ssh-based session?
Tutorial details | |
---|---|
Difficulty level | Easy |
Root privileges | No |
Requirements | lsb_release |
Est. reading time | 2 minutes |
You can use any one of the following method to find out your Linux distribution and name:
a] /etc/*-release file.
b] lsb_release command
c] /proc/version file.
d] hostnamectl command
Method 1. Use /etc/*-release file to display Linux distro version
To find out what version of Linux (distro) you are running, enter the following cat command at the shell prompt:
$ cat /etc/*-release
Sample output from my RHEL v5.x server:
Sample outputs from my Ubuntu Linux v7.10 server:
Method 2. Use lsb_release command To find out Linux distribution name and version
The lsb_release command displays certain LSB (Linux Standard Base) and distribution-specific information. Type the following command:
$ lsb_release -a
Sample outputs:
Method 3. Use hostnamectl to find out my Linux distribution name and version
For GNU systemd based distro this is the best option:
$ hostnamectl
What version of Linux am I running?
How do I find out My Linux kernel version?
Type the following uname command:
$ uname -a
OR
$ uname -mrs
Sample outputs:
- No ads and tracking
- In-depth guides for developers and sysadmins at Opensourceflare✨
- Join my Patreon to support independent content creators and start reading latest guides:
- How to set up Redis sentinel cluster on Ubuntu or Debian Linux
- How To Set Up SSH Keys With YubiKey as two-factor authentication (U2F/FIDO2)
- How to set up Mariadb Galera cluster on Ubuntu or Debian Linux
- A podman tutorial for beginners – part I (run Linux containers without Docker and in daemonless mode)
- How to protect Linux against rogue USB devices using USBGuard
Join Patreon ➔
- Linux – Kernel name
- 2.6.32-5-amd64 – Kernel version number
- x86_64 – Machine hardware name (64 bit)
Here is output from my SUSE Enterprise Linux server:
Get Linux distribution name and version number in a shell
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:
Another outputs from my CentOS 7 box:
And SUSE Enterprise Linux server:
Related media
This tutorial is also available in a quick video format:
Putting It All Together
Animated gif.01: Finding out Linux distribution name and version with various commands demo
Conclusion
This page showed various commands to figure out what Linux kernel version and Linux distribution your server/desktop/laptop is running.
🐧 Get the latest tutorials on Linux, Open Source & DevOps via
Category | List of Unix and Linux commands |
---|---|
Documentation | help • mandb • man • pinfo |
Disk space analyzers | df • duf • ncdu • pydf |
File Management | cat • cp • less • mkdir • more • tree |
Firewall | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
Linux Desktop Apps | Skype • Spotify • VLC 3 |
Modern utilities | bat • exa |
Network Utilities | NetHogs • dig • host • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • glances • gtop • jobs • killall • kill • pidof • pstree • pwdx • time • vtop |
Searching | ag • grep • whereis • which |
Shell builtins | compgen • echo • printf |
Text processing | cut • rev |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |
Comments on this entry are closed.
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
For FreeBSD uname -a works OK
Well, the article was entitled “HowTo: Find Out My Linux Distribution Name and Version”… 🙂
Generally speaking, “uname -a” will tell you what you need to know. You may need to know a couple of quirks about the O.S. in question. For example, Solaris calls itself “SunOS” (long history there). AIX breaks the version number up into two different uname fields (“5 2” instead of “5.2” – it might even be “2 5” IIRC, which you then have to know to turn into “5.2”). Solaris has an /etc/release.
If you’re going to use /etc/*-release, I would loose the dash
as you’ll pick up a couple more flavors of Unix like that.
“uname” was supposed to be the universal way to do this sort of thing, however, the output varies way too much from vendor to vendor.
PS: Technically, Solaris is a “package deal” consisting of an operating system, an X-Windows package, etc. – 5 things that previously they had not bundled together. So, technically, Solaris 10 (for example) contains an operating system called SunOS 5.10. So when Solaris says “SunOS” in uname, it’s not really incorrect.
This isn’t exactly a general solution. It assumes the distribution supports some LSB stuff, I think.
For debian and slackware, one could try:
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
Well, that’s all fine well and good for home use, but security people will tell you announcing your o.s. and version in /etc/issue is a bad idea (why give hackers that info?). They will want you to replace /etc/issue with some kind of warning notification (“This computer is only for use by authorized employees of company X. Usage is subject to monitoring. All users are expected to comply with company security policy Y. Unauthorized use is subject is grounds for termination and/or criminal prosecution.”, etc.). Any computer owned by a company that has security people or lawyers, this isn’t going to work on. 🙂
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 ??
Ha ha.. Nice one Bro
Please specify the which Linux ? Redhat or else….
Thanks Daniel, that helped on FreeBSD
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.
]# 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:
This solution works perfect.
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
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
Thanks, Its really a great tips
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
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
Источник
Команда find в Linux – мощный инструмент сисадмина
Иногда критически важно быстро найти нужный файл или информацию в системе. Порой можно ограничиться стандартами функциями поиска, которыми сейчас обладает любой файловый менеджер, но с возможностями терминала им не сравниться.
Команда find – это невероятно мощный инструмент, позволяющий искать файлы не только по названию, но и по:
- Дате добавления.
- Содержимому.
- Регулярным выражениям.
Данная команда будет очень полезна системным администраторам для:
- Управления дисковым пространством.
- Бэкапа.
- Различных операций с файлами.
Команда find в Linux производит поиск файлов и папок на основе заданных вами критериев и позволяет выполнять действия с результатами поиска.
Синтаксис команды find:
- directory-to-search (каталог поиска) – это отправной каталог, с которой find начинает поиск файлов по всем подкаталогам, которые находятся внутри. Если не указать путь, тогда поиск начнется в текущем каталоге;
- criteria (критерий) – критерий, по которым нужно искать файлы;
- action (действие) – что делать с каждым найденным файлом, соответствующим критериям.
Поиск по имени
Следующая команда ищет файл s.txt в текущем каталоге:
- . (точка) – файл относится к нынешнему каталогу
- -name – критерии по которым осуществляется поиск. В данном случае поиск по названию файла.
В данном случае критерий -name учитывает только символы нижнего регистра и файл S.txt не появиться в результатах поиска. Чтобы убрать чувствительность к регистру необходимо использовать –iname.
Для поиска всех изображений c расширением .png нужно использовать шаблон подстановки *.png:
Можно использовать название каталога для поиска. Например, чтобы с помощью команды find найти все png изображения в каталоге home:
Если выдает слишком много ошибок в отказе разрешения, тогда можно добавить в конец команды – 2> /dev/null. Таким образом сообщения об ошибках будут перенаправляться по пути dev/null, что обеспечит более чистую выдачу.
Поиск по типу файла
Критерий -type позволяет искать файлы по типу, которые бывают следующих видов:
- f – простые файлы;
- d – каталоги;
- l – символические ссылки;
- b – блочные устройства (dev);
- c – символьные устройства (dev);
- p – именованные каналы;
- s – сокеты;
Например, указав критерий -type d будут перечислены только каталоги:
Поиск по размеру файла
Допустим, что вам необходимо найти все большие файлы. Для таких ситуаций подойдет критерий -size.
- «+» — Поиск файлов больше заданного размера
- «-» — Поиск файлов меньше заданного размера
- Отсутствие знака означает, что размер файлов в поиске должен полностью совпадать.
В данном случае поиск выведет все файлы более 1 Гб (+1G).
Единицы измерения файлов:
Поиск пустых файлов и каталогов
Критерий -empty позволяет найти пустые файлы и каталоги.
Поиск времени изменения
Критерий -cmin позволяет искать файлы и каталоги по времени изменения. Для поиска всех файлов, измененных за последний час (менее 60 мин), нужно использовать -60:
Таким образом можно найти все файлы в текущем каталоге, которые были созданы или изменены в течение часа (менее 60 минут).
Для поиска файлов, которые наоборот были изменены в любое время кроме последнего часа необходимо использовать +60.
Поиск по времени доступа
Критерий -atime позволяет искать файлы по времени последнего доступа.
Таким образом можно найти файлы, к которым не обращались последние полгода (180 дней).
Поиск по имени пользователя
Опция –user username дает возможность поиска всех файлов и каталогов, принадлежащих конкретному пользователю:
Таким образом можно найти все файлы пользователя tisha в каталоге home, а 2>/dev/null сделает выдачу чистой без ошибок в отказе доступа.
Поиск по набору разрешений
Критерий -perm – ищет файлы по определенному набору разрешений.
Поиск файлов с разрешениями 777.
Операторы
Для объединения нескольких критериев в одну команду поиска можно применять операторы:
Например, чтобы найти файлы размером более 1 Гбайта пользователя tisha необходимо ввести следующую команду:
Если файлы могут принадлежать не только пользователю tisha, но и пользователю pokeristo, а также быть размером более 1 Гбайта.
Перед скобками нужно поставить обратный слеш «\».
Действия
К команде find можно добавить действия, которые будут произведены с результатами поиска.
- -delete — Удаляет соответствующие результатам поиска файлы
- -ls — Вывод более подробных результатов поиска с:
- Размерами файлов.
- Количеством inode.
- -print Стоит по умолчанию, если не указать другое действие. Показывает полный путь к найденным файлам.
- -exec Выполняет указанную команду в каждой строке результатов поиска.
-delete
Полезен, когда необходимо найти и удалить все пустые файлы, например:
Перед удалением лучше лишний раз себя подстраховать. Для этого можно запустить команду с действием по умолчанию -print.
Данное действие является особенным и позволяет выполнить команду по вашему усмотрению в результатах поиска.
- command – это команда, которую вы желаете выполнить для результатов поиска. Например:
- rm
- mv
- cp
- <> – является результатами поиска.
- \; — Команда заканчивается точкой с запятой после обратного слеша.
С помощью –exec можно написать альтернативу команде –delete и применить ее к результатам поиска:
Другой пример использования действия -exec:
Таким образом можно скопировать все .jpg изображения в каталог backups/fotos
Заключение
Команду find можно использовать для поиска:
- Файлов по имени.
- Дате последнего доступа.
- Дате последнего изменения.
- Имени пользователя (владельца файла).
- Имени группы.
- Размеру.
- Разрешению.
- Другим критериям.
С полученными результатами можно сразу выполнять различные действия, такие как:
- Удаление.
- Копирование.
- Перемещение в другой каталог.
Команда find может сильно облегчить жизнь системному администратору, а лучший способ овладеть ей – больше практиковаться.
Источник