linux基本功系列之uname实战

news2024/11/26 18:25:11

在这里插入图片描述

文章目录

  • 前言
  • 一. uname命令介绍
  • 二. 语法格式及常用选项
  • 三. 参考案例
    • 3.1 输出全部信息
    • 3.2 输出内核名称及版本
    • 3.3 输出网络节点的主机名
    • 3.4 输出主机硬件架构
    • 3.5 输出操作系统名称
    • 3.6 显示版本信息
  • 总结

前言

大家好,又见面了,我是沐风晓月,本文是专栏【linux基本功-基础命令实战】的第52篇文章。

专栏地址:[linux基本功-基础命令专栏] , 此专栏是沐风晓月对Linux常用命令的汇总,希望能够加深自己的印象,以及帮助到其他的小伙伴😉😉。

如果文章有什么需要改进的地方还请大佬不吝赐教👏👏。

🏠个人主页:我是沐风晓月
🧑个人简介:大家好,我是沐风晓月,双一流院校计算机专业😉😉
💕 座右铭: 先努力成长自己,再帮助更多的人 ,一起加油进步🍺🍺🍺
💕欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信😘

一. uname命令介绍

uname命令的英文全称即“Unix name”。

用于显示系统相关信息,比如主机名、内核版本号、硬件架构、操作系统类型等。

如果未指定任何选项,其效果相当于执行uname -s命令,即显示系统内核的名字。

二. 语法格式及常用选项

依据惯例,我们还是先查看帮助,使用 uname --help

[root@mufeng ~]# uname --help
用法:uname [选项]...
输出一组系统信息。如果不跟随选项,则视为只附加-s 选项。

  -a, --all			以如下次序输出所有信息。其中若-p 和
				-i 的探测结果不可知则被省略:
  -s, --kernel-name		输出内核名称
  -n, --nodename		输出网络节点上的主机名
  -r, --kernel-release		输出内核发行号
  -v, --kernel-version		输出内核版本
  -m, --machine		输出主机的硬件架构名称
  -p, --processor		输出处理器类型或"unknown"
  -i, --hardware-platform	输出硬件平台或"unknown"
  -o, --operating-system	输出操作系统名称
      --help		显示此帮助信息并退出
      --version		显示版本信息并退出


为了更直观一些,我们把常用的参数用表格来展示:

参数解释
a显示所有可用信息,包括内核名称、主机名称、内核版本、操作系统名称、硬件架构等等。
s显示内核名称。
n显示主机名称。
r显示内核版本号。
v显示内核发布号。
m显示硬件架构。

接下来我们看看与参数相关的案例应用

三. 参考案例

3.1 输出全部信息

[root@mufeng ~]# uname -a
Linux mufeng 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

这里可以输出系统,主机名,内核版本,时间和主机硬件系统架构等信息。

3.2 输出内核名称及版本

[root@mufeng ~]# uname -s
Linux
[root@mufeng ~]# uname  -r
3.10.0-957.el7.x86_64

这里解析下与内核有关的知识,简单了解,后续有机会再深入学习即可:

可以看到当前的版本是3.10版本

Linux内核的作用是将应用层序的请求传递给硬件,并充当底层驱动程序,对系统中的各种设备和组件进行寻址。

如果要学习linux内核,建议C语言要掌握熟练,否则直接上手容易走很多弯路。

操作系统的组成:

  • Bootloader:它负责设备的启动过程。
  • Shell:Shell是一种编程语言,它可以控制其他文件,进程以及所有其他程序。
  • Kernel:它是操作系统的主要组件,管理内存,CPU和其他相关组件。
  • Desktop Environment:这是用户通常与之交互的环境。
  • Graphical server(图形服务器):它是操作系统的子系统,用于在屏幕上显示图形
  • Applications: 这些是执行不同用户任务(例如word,excel等)的程序集。
  • Daemons : 后台服务提供商。

内核的任务

  • 用于应用程序执行的流程管理。
  • 内存和I / O(输入/输出)管理。
  • 系统调用控制(内核的核心行为)。
  • 借助设备驱动程序进行设备管理

如何学习linux内核呢?

学习Linux内核需要具备一定的计算机操作系统和编程知识,建议先掌握以下基础知识:

  • 熟悉Linux操作系统的基本操作和命令行使用。
  • 掌握C语言编程基础和Linux系统编程知识,如系统调用、进程管理、文件系统等。
  • 了解操作系统的基本原理和概念,如进程、线程、内存管理、文件系统等。
  • 熟悉Linux内核的源代码结构和代码组织方式,以及内核的编译和安装方法。

在具备以上基础知识的基础上,可以通过以下途径学习Linux内核:

  • 阅读内核源代码:通过下载内核源代码并阅读代码,深入了解Linux内核的实现原理和代码实现细节。
  • 学习内核开发文档:Linux内核有丰富的开发文档,包括官方文档和社区文档,这些文档详细介绍了内核的设计和实现,可以帮助学习者更好地理解内核源代码。
  • 参与内核社区:加入Linux内核社区,参与内核开发和讨论,与其他开发者交流经验和知识。
  • 学习内核开发工具:掌握内核开发工具的使用,如调试工具、性能分析工具等,可以帮助学习者更好地理解内核运行机制和调试内核问题。

学习Linux内核需要投入大量的时间和精力,建议通过逐步深入学习的方式,逐步提升自己的技能和知识水平。同时,应该多加实践,通过编写内核模块、实现内核功能等方式巩固所学知识。

3.3 输出网络节点的主机名

[root@mufeng ~]# uname -n
mufeng

此处和hostname查出来的是一样的:

[root@mufeng ~]# hostname
mufeng

3.4 输出主机硬件架构

[root@mufeng ~]# uname -m
x86_64
[root@mufeng ~]# uname -p
x86_64

uname -m : 输出主机硬件架构名称
uname -p 输出处理器类型或者unkown

拓展:
cpu有四大架构:
我们目前使用比较多的架构有:ARM、RISC-V、MIPS,X86等等

架构特点代表的使用者运营机构发布时间
X86性能高,速度快,兼容好Intel,AMD英特尔1978
ARM成本低,功耗低苹果,谷歌,华为,IBM英国ACORN公司1983年
RISC-V模块化,简单化,可拓展三星,英伟达,西部数据RISC-V基金会2014
MIPS简洁,优化方便,拓展性能高龙芯MIPS科技2002

这里设计到两个概念: 主机硬件架构和处理器类型:

主机硬件架构名称和处理器类型是两个不同的概念。

主机硬件架构名称指的是计算机所采用的硬件平台架构。常见的硬件平台架构包括x86、x86-64、ARM、MIPS等。硬件平台架构决定了操作系统和软件在计算机上的运行方式。

处理器类型指的是计算机的中央处理器(CPU)的型号或系列。常见的处理器型号或系列包括Intel Core i7、AMD Ryzen、Qualcomm Snapdragon等。不同的处理器型号或系列在性能、功耗、架构等方面存在差异。

在使用uname -m命令时,它所返回的主机硬件架构名称是指计算机的处理器架构类型,例如x86、x86-64、ARM等,而不是具体的处理器型号或系列。

因此,主机硬件架构名称和处理器类型是两个不同的概念,但它们都会影响操作系统和软件在计算机上的运行方式。

你会发现这里的uname -p 和uname -m 输出的结果一样,为什么呢?

uname -m命令返回的是计算机的主机硬件架构名称,例如x86、x86-64、ARM等,而uname -p命令返回的是计算机的处理器类型,例如i686、x86_64、armv7l等。

然而,在一些操作系统上,uname -p命令实际上也会返回主机硬件架构名称,而不是处理器类型。这通常是因为在这些操作系统上,处理器类型和主机硬件架构名称的含义被混淆了。因此,在这些操作系统上,uname -p和uname -m命令返回的结果是相同的。

需要注意的是,不同的操作系统可能对uname命令的实现方式存在差异,因此在不同的操作系统上使用uname命令时,其输出的结果也可能会存在差异。

3.5 输出操作系统名称

[root@mufeng ~]# uname -o
GNU/Linux

拓展:
GNU/Linux 是以 Unix 操作系统为原型创造的,自从诞生之日起,它就被设计成一种多任务、多用户的系统。这些特点使 GNU/Linux 完全不同于其它著名的操作系统。

这里有小伙伴就有疑问了,输出操作系统名称,不应该是centos这种吗,为什么是 GNU/Linux。

因为:

操作系统名称通常是基于其核心代码的标准命名方式,而不是基于某个特定的发行版。

GNU/Linux是一种开源操作系统,其核心代码是由GNU组织开发的GNU项目中的一部分,而Linux则是由Linus Torvalds开发的内核部分。这种操作系统通常会以GNU/Linux的形式进行命名,以突显GNU和Linux两部分代码的重要性。这种命名方式是由GNU组织和自由软件社区推广的,并被广泛接受。

CentOS是一种基于Red Hat Enterprise Linux(RHEL)的开源操作系统,它是RHEL的重新编译版本。尽管CentOS是一种非常流行的操作系统,但它只是基于RHEL的一种发行版,而不是一个独立的操作系统。因此,CentOS通常被视为RHEL的社区支持版本。

因此,CentOS虽然是一种重要的Linux发行版,但它的命名通常不用于代表整个Linux操作系统的名称。而GNU/Linux是一种更广泛的命名方式,它代表了使用Linux内核和GNU软件的开源操作系统的范畴。

3.6 显示版本信息

使用 --version可以查看与版本相关的信息,不过这个不经常用。

root@mufeng ~]# uname --version
uname (GNU coreutils) 8.22
Copyright (C) 2013 Free Software Foundation, Inc.
许可证:GPLv3+:GNU 通用公共许可证第3 版或更新版本<http://gnu.org/licenses/gpl.html>。
本软件是自由软件:您可以自由修改和重新发布它。
在法律范围内没有其他保证。

总结

uname命令在日常工作中,应用的比较广泛,一定要认真学习,记熟记牢常用参数。

💕💕💕 好啦,这就是今天要分享给大家的全部内容了,我们下期再见!✨ ✨ ✨
🍻🍻🍻如果你喜欢的话,就不要吝惜你的一键三连了~

请添加图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/384672.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深度学习-【语义分割】学习笔记4 膨胀卷积(Dilated convolution)

文章目录膨胀卷积为什么需要膨胀卷积gridding effect连续使用三次膨胀卷积——1连续使用三次膨胀卷积——2连续使用三次膨胀卷积——3Understanding Convolution for Semantic Segmentation膨胀卷积 膨胀卷积&#xff0c;又叫空洞卷积。 左边是普通卷积&#xff0c;右边是膨胀…

python的多线程编程之锁

1、 背景概述 在上篇文章中&#xff0c;主要讲述了python中的socket编程的一些基本方面&#xff0c;但是缺少关于锁的相关概念&#xff0c;从而在这篇文章中进行补充。 由于在python中&#xff0c;存在了GIL&#xff0c;也就是全局解释器锁&#xff0c;从而在每次进行获得cpu的…

网络通信--Linux

文章目录网络通信的基础通信模型IP地址和端口port网络套接字网络字节序初识UDP与TCP两种协议sockaddr结构体家族认识一些网络常用基础函数UDP实现简单通信TCP实现简单通信总结网络通信的基础 网络通信是建立在多层协议之下&#xff0c;最终利用数据传输线路进行数据通信。首先…

Web Spider案例 网洛克 第三题 AAEncode加密 练习(七)

声明 此次案例只为学习交流使用&#xff0c;抓包内容、敏感网址、数据接口均已做脱敏处理&#xff0c;切勿用于其他非法用途&#xff1b; 文章目录声明一、资源推荐二、逆向目标三、抓包分析 & 下断分析逆向3.1 抓包分析3.2 下断分析逆向拿到混淆JS代码3.3 AAEncode解决方…

【强烈建议收藏:MySQL面试必问系列之SQL语句执行专题】

一.知识回顾 之前的文章我们一起学习了MySQL面试必问系列之事务专题、锁专题&#xff0c;没有学习的小伙伴可以直接通过该链接地址直接访问&#xff0c;MYSQL你真的了解吗专栏的文章&#xff0c;接下来我们就一起来学习一下MySQL中SQL语句的执行流程&#xff0c;看看你掌握的怎…

csdn文章导航

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注…

Windows11安装Anaconda遇到的一些bug的【解决方案】

Windows11安装Anaconda遇到的一些bug的【解决方案】问题描述&#xff1a;CondaValueError: Malformed version string ~: invalid character(s)或者类似&#xff1a;CondaHTTPError解决思路&#xff1a;主要是换源的时候清华大学的路径不对&#xff0c;过时了。。。只需修改用户…

图数据库认证考试 NGCP 错题解析 vol.02:这 10 道题竟无一人全部答对

如果你读过「NebulaGraph 错题解析第一期」&#xff0c;大概知道在错题解析未出来之前&#xff0c;NebulaGraph 专业技能认证 NGCP&#xff08;全称 NebulaGraph Certified Professional&#xff09;的通过率仅有 16.7%。但是&#xff0c;经过上一轮 NebulaGraph 认证考试出题人…

EventGraph:Event Extraction as Semantic Graph Parsing 论文解读

EventGraph: Event Extraction as Semantic Graph Parsing 论文&#xff1a;2022.case-1.2.pdf (aclanthology.org) 代码&#xff1a;huiling-y/EventGraph (github.com) 期刊/会议&#xff1a;CASE 2022 摘要 事件抽取涉及到事件触发词和相应事件论元的检测和抽取。现有系…

黑盒测试重点复习内容

黑盒测试一、等价类划分边界值分析法二、判定表法一、等价类划分边界值分析法 对于各种输入或者输出&#xff0c;必须考虑等价类和边界值&#xff0c;并补充一些特殊值&#xff0c;如空值、空格、0、异常格式等特殊值。 基本概念&#xff1a; 有效等价类&#xff1a;满足需求…

K_A14_003 基于STM32等单片机驱动APDS9960手势运动模块 串口与OLED0.96双显示

K_A14_003 基于STM32等单片机驱动APDS9960手势运动模块 串口与OLED0.96双显示一、资源说明二、基本参数参数引脚说明三、驱动说明时序对应程序:四、部分代码说明1、接线引脚定义1.1、STC89C52RCAPDS9960手势运动模块1.2、STM32F103C8T6APDS9960手势运动模块五、基础知识学习与相…

实例解析Java反射

反射是大多数语言里都必不不可少的组成部分&#xff0c;对象可以通过反射获取他的类&#xff0c;类可以通过反射拿到所有方法&#xff08;包括私有&#xff09;&#xff0c;拿到的方法可以调用&#xff0c;总之通过“反射”&#xff0c;我们可以将Java这种静态语言附加上动态特…

【OpenCV】车牌自动识别算法的设计与实现

写目录一. &#x1f981; 设计任务说明1.1 主要设计内容1.1.1 设计并实现车牌自动识别算法&#xff0c;基本功能要求1.1.2 参考资料1.1.3 参考界面布局1.2 开发该系统软件环境及使用的技术说明1.3 开发计划二. &#x1f981; 系统设计2.1 功能分析2.1.1 车辆图像获取2.1.2 车牌…

研报精选230303

目录 【个股230303中泰证券_李子园】李子园&#xff1a;甜牛奶行业龙头&#xff0c;全国化加速推进中【行业230303中国银河】医药月报23or02&#xff1a;集采持续推进&#xff0c;控费仍是政策主基调【行业230303国联证券】银行行业专题研究&#xff1a;财富管理月报&#xff1…

征集令!寻找别出心裁的i.MX9352应用方案Demo

想要体验NXP全新的i.MX 9352这颗高性价比处理器吗&#xff1f;想要展示由你亲手打造的超炫酷的应用方案Demo吗&#xff1f;想要领取至高500元的京东E卡奖励吗&#xff1f;现在飞凌嵌入式全都给到你&#xff01;面向全体工程师征集基于飞凌嵌入式OK-MX9352-C开发板设计的优质应用…

【Linux】Shell详解

&#x1f60a;&#x1f60a;作者简介&#x1f60a;&#x1f60a; &#xff1a; 大家好&#xff0c;我是南瓜籽&#xff0c;一个在校大二学生&#xff0c;我将会持续分享Java相关知识。 &#x1f389;&#x1f389;个人主页&#x1f389;&#x1f389; &#xff1a; 南瓜籽的主页…

Flutter Button 实例

大家好&#xff0c;我是 17。 在上篇文章 使用 Flutter Button 介绍了如何修改 button 的样式&#xff0c;本文来具体实践一下。 本文列举一些常用的 button 效果&#xff0c;以便在用到的时候方便使用。因为 ElevatedButton 最常用&#xff0c;所以大多以 ElevatedButton 举…

wifi 概率性自动断线(IpReachabilityMonitor)和 案例介绍

IpReachabilityMonitor机制,有时候会遇到用户反馈wifi 会概率性自动断线,最后发现是系统有开启IpReachabilityMonitor 机制,可能是在干扰严重环境下或相对弱信号下让系统误判导致下断线。 这篇博主写的非常好.wifi 概率性自动断线(IpReachabilityMonitor)_lost_provision…

Cesium+Vue3+vite 环境搭建(nvm安装使用),以及简单上手

目录 【nvm的安装和使用】 1、安装nvm 2、配置nvm 3、测试 一、Vite项目 1、创建一个新的Vite项目 解决问题&#xff1a;npm ERR! Unexpected token . 2、安装Cesium插件 3、项目配置 【1】在vite.config.js里进行配置 【2】清空style.css 【3】在App.vue里面进行全…

深度剖析指针(下)——“C”

各位CSDN的uu们你们好呀&#xff0c;今天小雅兰的内容还是我们的指针呀&#xff0c;上两篇博客我们基本上已经把知识点过了一遍&#xff0c;这篇博客就让小雅兰来带大家看一些和指针有关的题目吧&#xff0c;现在&#xff0c;就让我们进入指针的世界吧 复习&#xff1a; 数组和…