linux基本功系列之uname实战

在这里插入图片描述

文章目录

  • 前言
  • 一. 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命令在日常工作中,应用的比较广泛,一定要认真学习,记熟记牢常用参数。

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

初入了解——什么是VUE

个人简介&#xff1a;云计算网络运维专业人员&#xff0c;了解运维知识&#xff0c;掌握TCP/IP协议&#xff0c;每天分享网络运维知识与技能。座右铭&#xff1a;海不辞水&#xff0c;故能成其大&#xff1b;山不辞石&#xff0c;故能成其高。个人主页&#xff1a;小李会科技的…

Java中的反射

类加载器&#xff08;1&#xff09;类的加载当我们的程序在运行后&#xff0c;第一次使用某个类的时候&#xff0c;会将此类的class文件读取到内存&#xff0c;并将此类的所有信息存储到一个Class对象中。说明&#xff1a;a.图中的Class对象是指&#xff1a;java.lang.Class类的…

从Linux内核中学习高级C语言宏技巧

Linux内核可谓是集C语言大成者,从中我们可以学到非常多的技巧,本文来学习一下宏技巧,文章有点长,但耐心看完后C语言level直接飙升。 本文出自:大叔的嵌入式小站,一个简单的嵌入式/单片机学习、交流小站 从Linux内核中学习高级C语言宏技巧 1.用do{}while(0)把宏包起来 …

《网络安全》零基础教程-适合小白科普

《网络安全》零基础教程 目录 目录 《网络安全》零基础教程 第1章 网络安全基础 什么是网络安全 常见的网络安全威胁 网络安全的三个基本要素 网络安全的保障措施 第2章 网络攻击类型 病毒、蠕虫、木马、后门 DoS、DDoS攻击 ​​​​​​​SQL注入、XSS攻击 ​​​…

测试背锅侠?入职软件测试后大d佬给我丢了这个bug分类分析,至今受益匪浅......

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 刚成为入职&#xf…

测试场景设计

测试场景设计 又叫做场景法。其实对于场景法是测试用例中面临最多的&#xff0c;但是这种模式不是很容易总结&#xff0c;有时候是基于经验&#xff0c;有时候是我们对系统的了解。所以在这种情况下&#xff0c;我们强硬的用场景法对其进行规范。 场景法原理 现在的软件几乎…

vscode无法连接宝塔ftp排雷

宝塔面板现在使用率非常的高。今天把自己的踩坑处理方法记录一下。 在配置号宝塔面板ftp后&#xff0c;使用vscode的sftp插件&#xff0c;发现一直链接不上。一度以为自己配置文件&#xff0c;配置的参数有问题。各种度娘后&#xff0c;花了好长时间。后来发现自己陷入了误区。…

JS高级知识总结

文章目录1. this指向问题2. 对象进阶2.1 对象的定义和使用2.2 对象访问器2.2.1 Getter2.2.2 Setter2.3 对象构造器2.4 对象原型2.4.1 prototype属性2.4.2 \_\_proto\_\_ 属性2.4.3 constructor属性2.4.4 原型链2.5 Object对象2.5.1 管理对象2.5.2 保护对象3. 函数进阶3.1 函数的…

【Python】控制自己的手机拍照,并自动发送到邮箱

前言 嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 今天这个案例&#xff0c;就是控制自己的摄像头拍照&#xff0c; 并且把拍下来的照片&#xff0c;通过邮件发到自己的邮箱里。 想完成今天的这个案例&#xff0c;只要记住一个重点&#xff1a;你需要一个摄像头 思路…

8大主流编程语言的适用领域,你可能选错了语言

很多人学编程经常是脑子一热然后就去网上一搜资源就开始学习了&#xff0c;但学到了后面发现目前所学的东西并不是自己最喜欢的&#xff0c;好像自己更喜欢另一个技术&#xff0c;感觉自己学错了&#xff0c;于是乎又去学习别的东西。 结果竹篮打水一场空&#xff0c;前面所付…

蓝桥杯刷题冲刺 | 倒计时28天

作者&#xff1a;指针不指南吗 专栏&#xff1a;蓝桥杯倒计时冲刺 &#x1f43e;马上就要蓝桥杯了&#xff0c;最后的这几天尤为重要&#xff0c;不可懈怠哦&#x1f43e; 文章目录1.卡片2.数字三角形3.购物单4.回文日期1.卡片 题目 链接&#xff1a; 卡片 - 蓝桥云课 (lanqiao…

【计算机组成原理 - 第一章】计算机系统概论(完结)

本章参考王道考研相关课程&#xff1a; 【2021版】1.2.1_计算机硬件的基本组成_哔哩哔哩_bilibili 【2021版】1.2.2_认识各个硬件部件_哔哩哔哩_bilibili 【2021版】1.2.3_计算机系统的层次结构_哔哩哔哩_bilibili 【2021版】1.3_计算机的性能指标_哔哩哔哩_bilibili 目录 一、…

彻底搞懂nodejs事件循环

nodejs是单线程执行的&#xff0c;同时它又是基于事件驱动的非阻塞IO编程模型。这就使得我们不用等待异步操作结果返回&#xff0c;就可以继续往下执行代码。当异步事件触发之后&#xff0c;就会通知主线程&#xff0c;主线程执行相应事件的回调。 以上是众所周知的内容。今天…

14个Python处理Excel的常用操作,非常好用

自从学了Python后就逼迫用Python来处理Excel&#xff0c;所有操作用Python实现。目的是巩固Python&#xff0c;与增强数据处理能力。 这也是我写这篇文章的初衷。废话不说了&#xff0c;直接进入正题。 数据是网上找到的销售数据&#xff0c;长这样&#xff1a; 一、关联公式:…

人工智能轨道交通行业周刊-第35期(2023.2.20-2.26)

本期关键词&#xff1a;重庆智慧轨道、智能运维主机、标准轨距、地方铁路公报、景深、机器视觉应用 1 整理涉及公众号名单 1.1 行业类 RT轨道交通人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS World轨道交通联盟VSTR铁路与城市轨道交通Rai…

【C/C++】必知必会知识点大总结

✍个人博客&#xff1a;https://blog.csdn.net/Newin2020?spm1011.2415.3001.5343 &#x1f4da;专栏地址&#xff1a;C/C知识点 &#x1f4e3;专栏定位&#xff1a;整理一下 C 相关的知识点&#xff0c;供大家学习参考~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;…

基于Reactor模式下的epoll多路复用服务器

文章目录一、认识Reactor模式1.1 Reactor 模式的概念1.2 Reactor 模式的组件1.3 Reactor 模式的流程1.4 Reactor 模式的优点二、Reactor模式下的 epoll ET服务器2.1 总体设计思路2.2 Connection 类结构2.3 封装 socket 实现 Sock 类2.4 封装 epoll 实现 Epoller 类2.4.1 Create…

2023年BeijngCrypt勒索病毒家族最新变种之.halo勒索病毒

目录 前言&#xff1a;简介 一、什么是.halo勒索病毒&#xff1f; 二、.halo勒索病毒是如何传播感染的&#xff1f; 三、感染.halo后缀勒索病毒建议立即做以下几件事情 四、中了.halo后缀的勒索病毒文件怎么恢复&#xff1f; 五、加密数据恢复情况 六、系统安全防护措施建…

宣布推出 .NET 社区工具包 8.1!

我们很高兴地宣布 .NET Community Toolkit 8.1 版正式发布&#xff01;这个新版本包括呼声很高的新功能、bug 修复和对 MVVM 工具包源代码生成器的大量性能改进&#xff0c;使开发人员在使用它们时的用户体验比以往更好&#xff01; 就像在我们之前的版本中一样&#xff0c;我…

STM32F1硬件SPI驱动nRF24L01通过按键控制数据收发带状态反馈

STM32F1硬件SPI驱动nRF24L01通过按键控制数据收发带状态反馈&#x1f4cc;相关篇《STM32F1基于STM32CubeMX配置硬件SPI驱动nRF24L01数据收发》 &#x1f3ac;功能演示 &#x1f33f;工程默认配置的是STM32F103VC单片机&#xff0c;其他型号的修改需要修改启动文件startup_st…