How to use the shell command to get the version of Linux Distributions All In One

如何使用 shell 命令获取 Linux 发行版的版本

  • hostnamectl
  • cat /etc/os-release
  • lsb_release -a

Linux Distributions

  1. Debian
  2. Ubuntu
  3. Raspberry Pi OS

https://en.wikipedia.org/wiki/Linux_distribution

solutions

  1. hostnamectl
$ hostnamectl
Static hostname: raspberrypi
Icon name: computer
Machine ID: a983fcbfe97e4a6d89ab5ec87d937b83
Boot ID: b1dbb5a0f2014ce087624c262c67aec3
Operating System: Debian GNU/Linux 11 (bullseye)
Kernel: Linux 6.1.21-v8+
Architecture: arm64
  1. cat /etc/os-release
$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
  1. lsb_release -a
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye

$ cat /proc/version
Linux version 6.1.21-v8+ (dom@buildbot) (aarch64-linux-gnu-gcc-8 (Ubuntu/Linaro 8.4.0-3ubuntu1) 8.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023
$ cat /etc/issue

$ more /etc/issue

$ less /etc/issue

demos

grep & regular expression / 正则表达式

$ grep '^VERSION' /etc/os-release
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
$ grep -E '^(VERSION|NAME)=' /etc/os-release
NAME="Debian GNU/Linux"
VERSION="11 (bullseye)"

get Linux kernel version

# Linux kernel version
$ uname -r
6.1.21-v8+

( 反爬虫测试!打击盗版️)如果你看到这个信息, 说明这是一篇剽窃的文章,请访问 https://www.cnblogs.com/xgqfrms/ 查看原创文章!

apt-get 命令详解

在安装任何软件之前,我们最好是要更新本地软件包索引(package index)。

本地软件包索引列出了软件仓库中所有可安装软件包以及版本信息

$ apt-get update
$ sudo apt-get update

sudo 的在英语里的意思是 switch user and do something

在Linux系统上,你需要root权限来安装和卸载软件包。sudo可以临时将你的用户ID切换为root。

$ apt-get install

apt-get install 是用来安装软件包的。你需要将软件包的名字添加到 apt-get install 之后.

# 在 Ubuntu 系统上安装 Chromium 浏览器
$ sudo apt-get install chromium-browser

有时候apt-get会询问你是否真的要安装软件包。

# 如果你想自动回答**yes**,可以在安装命令中添加 **-y** 选项.
$ sudo apt-get install -y chromium-browser

的Ubuntu系统上已经安装好了Chromium浏览器.

在你用apt-get install命令安装软件包之前,你需要知道这个软件包在软件仓库中的名称.

这看起来有点麻烦.当你熟悉之后,你会感到非常方便.尤其是当你SSH远程管理Linux服务器的时候.

apt-get首先会从软件仓库中下载deb安装包,这些deb安装在 /var/cache/apt/archives目录下;

下载后,apt-get会自动安装软件包

一条命令安装多个软件包

apt-get install 可以一次性安装多个软件包,比如

$ sudo apt-get install wireshark nmap aircrack-ng
$ apt-get upgrade

apt-get upgrade命令用来升级系统上可以升级的软件包.

$ sudo apt-get upgrade

apt-get 会告诉你哪些软件包会升级.并且询问你是否真的需要升级这些软件包.你可以在命令中添加 -y 选项来自动回答yes.

$ sudo apt-get -y upgrade
$ apt-get remove

这条命令用来删除系统上的软件包,比如,删除Firefox

sudo apt-get remove firefox

它不会删除软件包的配置文件.

$ apt-get purge

这条命令可以用来删除软件包及其配置文件.

sudo apt-get purge firefox

$ apt-get clean

当apt-get安装或升级软件包时,它会将deb安装包下载到文件系统的/var/cache/apt/archives目录下.

软件包安装完成后,这些deb安装包基本上就没有什么用处了.apt-get clean命令可以帮你删除这些deb安装包.

你可以使用下面的命令查看/var/cache/apt/archives目录下deb安装包的大小.

$ du -sh /var/cache/apt/archives

$ apt-get autoclean

apt-get autoclean 也可以用来删除 /var/cache/apt/archives目录下的deb安装包.

但它只删除那些已经不能从软件仓库中下载的deb安装包.

这就是说,Debian或Ubuntu已经不维护那些软件包了,或者那些软件包有了一个新的名字.

apt-get autoremove

这条命令用来删除不需要的依赖软件包.

$ apt-get dist-upgrade

这条命令可能会让很多人感到困惑.

在Debian系统上,你用这条命令升级系统版本,比如从Debian 7升级到Debian 8.

但是在Ubuntu系统上,这条命令只会升级Linux内核以及之前没有被升级的软件包.

升级Ubuntu的版本你需要用到do-release-upgrade命令.

附:手动安装Deb软件包

$ dpkg -i

如果你从网站上下载了一个deb软件包,那么你需要dpkg工具来安装这个deb包.

例如,你可以下载 WPS linux 版.然后,在终端里将当前工作目录切换到下载目录,再输入下面的命令安装 WPS Linux版.

$ sudo dpkg -i wps-office*.deb

dpkg 的一个缺点是它不能解决依赖关系.你必须手动安装依赖包.

而 gdebi可以帮助我们自动安装依赖包.输入下面的命令安装 gdebi

$ sudo apt-get install gdebi

# 它的命令语法如下:
$ sudo gdebi <package.deb>

https://github.com/xgqfrms-GitHub/MongoDB/blob/master/MEAN/apt-get命令详解.md

refs

https://www.cyberciti.biz/faq/how-to-check-os-version-in-linux-command-line/

https://support.ucsd.edu/its?id=kb_article_view&sysparm_article=KB0032481

https://github.com/xgqfrms/daily-english-learning/issues/115#issuecomment-1568241155

https://askubuntu.com/questions/497540/where-is-my-wpa-supplicant-conf/1469767?noredirect=1#comment2576150_1469767



xgqfrms 2012-2021

www.cnblogs.com/xgqfrms 发布文章使用:只允许注册用户才可以访问!

原创文章,版权所有️xgqfrms, 禁止转载 ️,侵权必究️!


How to use the shell command to get the version of Linux Distributions All In One的更多相关文章

  1. ionic打包apkFailed to execute shell command "input,keyevent,82"" on device: Error: adb: Command failed with exit code 137

    错误代码如下 BUILD SUCCESSFUL in 12s 46 actionable tasks: 1 executed, 45 up-to-date Built the following ap ...

  2. Jenkins--Run shell command in jenkins as root user?

    You need to modify the permission for jenkins user so that you can run the shell commands. You can i ...

  3. 时间写入文件名 nohup 原理 Command In Background your shell may have its own version of nohup

    echo 123 > `date +%Y-%m-%d-%H.tmp` echo 123 > /home/`date +%Y-%m-%d-%H.tmp` nohup --help [root ...

  4. I.MX6 Android shutdown shell command

    /******************************************************************************* * I.MX6 Android shu ...

  5. Makefile,Shell command,Shell Language 之间的联系

    1. Makefile 首先要知道Makefile 是什么东西,Makefile 是一个指令文件,里面存储着自定义的命令(可以借助已有的命令创造而来)在不同的系统下对Makefile 的区别不一样,L ...

  6. centos安装安全狗提示Need system command 'locate' to install safedog for linux的解决方法

    今天为客户的centos服务器安装安全狗时提示Need system command 'locate' to install safedog for linux.Installation aborte ...

  7. Jenkins可用环境变量列表以及环境变量的使用(Shell/Command/Maven/Ant)

    一.可用环境变量列表(以下来自google翻译): BRANCH_NAME 对于多分支项目,这将被设置为正在构建的分支的名称,例如,如果您希望从而master不是从特征分支部署到生产. CHANGE_ ...

  8. getopts shell command -options parameters

    说明:原文网址http://blog.chinaunix.net/uid-26807463-id-3151601.html 获取UNIX类型的选项: unix有一个优点就是标准UNIX命令在执行时都具 ...

  9. Android shell command execute Demo

    package com.android.utils; import java.io.File; import java.io.IOException; import java.io.InputStre ...

  10. Linux shell command学习笔记(二)

    <cut> 作用:从输入文件或者命令的输出中析取出各种域 用法:cut –c{字符串范围} –d{字段间分割符} –f{字段索引编号} 举例: (1)查看在线用户:who | cut –c ...

随机推荐

  1. 【读书笔记】组合计数-Tilings-引言部分

    Tilings-引言部分 目录 一些形式化定义 各种各样的Tilings例子 Example 9.1.1 Example 9.1.2 Example 9.1.3 Thurston and Lagari ...

  2. ReentrantLock 锁详解

    更多内容,前往个人博客 ReentrantLock 支持公平锁和非公平锁,可重入锁 ReentrantLock的底层是通过 AQS[链接]实现. 一.BAT 大厂的面试题 [1]什么是可重入,什么是可 ...

  3. 记一次 .NET 某企业 ERP网站系统 崩溃分析

    一:背景 1. 讲故事 前段时间收到了一个朋友的求助,说他的ERP网站系统会出现偶发性崩溃,找了好久也没找到是什么原因,让我帮忙看下,其实崩溃好说,用 procdump 自动抓一个就好,拿到 dump ...

  4. 武装你的WEBAPI-ODATA聚合查询

    本文属于OData系列 目录 武装你的WEBAPI-OData入门 武装你的WEBAPI-OData便捷查询 武装你的WEBAPI-OData分页查询 武装你的WEBAPI-OData资源更新Delt ...

  5. PHP微信三方平台-授权登录

    一.逻辑步骤解析 步骤 1:第三方平台方获取预授权码(pre_auth_code) 步骤 2:引入用户进入授权页 第三方平台方可以在自己的网站中放置"微信公众号授权"或者" ...

  6. nginx中的proxy_pass配置

    Nginx 是最常用的反向代理工具之一,一个指令 proxy_pass搞定反向代理,对于接口代理.负载均衡很是实用,但 proxy_pass指令后面的参数很有讲究,通常一个/都可能引发一个血案. 通常 ...

  7. rocketmq-spring : 实战与源码解析一网打尽

    RocketMQ 是大家耳熟能详的消息队列,开源项目 rocketmq-spring 可以帮助开发者在 Spring Boot 项目中快速整合 RocketMQ. 这篇文章会介绍 Spring Boo ...

  8. 比memcpy还要快的内存拷贝,老哥了解一下?

    本文来自博客园,作者:T-BARBARIANS,转载请注明原文链接:https://www.cnblogs.com/t-bar/p/17262147.html 谢谢! 前言 朋友们有想过居然还有比me ...

  9. vue之数组的方法

    目录 简介 filter方法 简介 本文会把遇到的数组的方法慢慢补充进来 filter方法 filter()方法是一个过虑方法 以下面的为例:列表dataList会每次取一个值,把值给匿名函数,并执行 ...

  10. [ElasticSearch]#解决问题#修改Search Guard密码时 报错:ERR: Seems there is no Elasticsearch running on localhost:9300 - Will exit

    问题复现 [root@es2 tools]# ps -ef | grep elasticsearch 9200 22693 1 1 09:31 ? 00:04:54 /usr/bin/java -Xm ...