GNU/Linux详解

GNU/Linux awk命令用法详解 本来计划年前写完的,结果现在才搞定,手册的内容一边翻一边实验,还有awk版本问题,又参考Effective AWK Programming对语法和示例做了些补充。终于写完了,大家元宵节快乐!AWK简介AWK是一门解释型的编程语言,它的名字来源于它的三位作者的姓氏:Alfred Aho,Peter Weinberger和Brian Kernighan。AWK能够应用于广泛的计算和数据处理任务。所有的... 阅读详情

GNU/Linux 是一种操作系统,一个管理计算机的庞大软件,类似于微软的 Windows 系统,但它是完全免费的。其准确的名称是 GNU/Linux,但 "Linux" 更常被使用。

GNU/Linux 并非某一家公司独立开发的产品,而是由许多公司和团体共同贡献的成果。事实上,GNU/Linux 系统是核心组件,并由此衍生出许多不同的产品,这些被称为发行版。

不同的发行版能够完全改变 GNU/Linux 的外观和功能。它们的范围从由公司支持的完整大型系统,到能够放入 USB 存储设备或在老旧计算机上运行的轻量级系统(通常由志愿者开发)。

什么是GNU?

GNU是一个类Unix操作系统,官网地址为The GNU Operating System and the Free Software Movement。它是许多程序的集合,包括应用程序、库、开发工具,甚至游戏。GNU 的开发始于1984年1月,被称为 GNU 项目。GNU中的许多程序是由GNU项目发布的,这些程序被称为GNU软件包。
“GNU”这个名字是“GNU's Not Unix”(GNU不是Unix)的递归缩写。“GNU”发音为g'noo,像说“grew”一样,但将“r”替换为“n”。

在类Unix系统中,负责分配机器资源并与硬件对话的程序被称为“内核”。GNU通常与一个名为Linux的内核一起使用。这种组合被称为GNU/Linux操作系统。全球数以百万计的用户使用GNU/Linux,尽管许多人误将其称为“Linux”。
GNU 自己的内核,GNU Hurd,早在1990年就开始开发(早于Linux的出现)。志愿者们仍然在继续开发Hurd,因为它是一个有趣的技术项目。

GNU 项目的宗旨

GNU 项目的宗旨是为了捍卫用户的计算机自由,确保用户能够控制和使用他们的软件,而不会受制于专有软件的限制。通过开发和推广自由软件,GNU 项目不仅在技术上推动了软件的开放性,同时在道德和社会责任层面,也为用户和开发者提供了一个尊重自由的选择。

GNU为什么要使用Linux了,而不是GNU Hurd?

尽管 GNU Hurd 是 GNU 项目最初计划的内核,但由于 开发进展缓慢、设计复杂 以及 技术难题 的存在,Hurd 并未如预期那样快速成熟。而 Linux 内核 在短时间内发展迅速、稳定性高、兼容性强,使得 GNU 项目选择 Linux 内核来加速实现其自由操作系统的目标。因此,GNU/Linux 成为了今天广泛使用的自由操作系统,而 Hurd 则继续作为一个技术实验项目进行开发。

Linux 内核是GNU项目开发的吗?

Linux 内核不是由 GNU 项目开发的。它是由 林纳斯·托瓦兹(Linus Torvalds) 在 1991 年独立发起的一个项目,最初只是一个小型的个人项目,用来为个人计算机编写一个类 Unix 的内核。

​​​​​​​Linux内核的快速发展

Linux的诞生和成功:1991年,林纳斯·托瓦兹(Linus Torvalds) 开始开发 Linux 内核,并迅速受到全球开源社区的支持。Linux 内核采用的是 宏内核架构,这种架构相对简单,将所有的操作系统核心功能(如进程管理、设备驱动、内存管理等)都放在内核中,避免了Hurd微内核架构中用户空间和内核空间之间频繁的通信问题。

开发速度快:由于架构相对简单、社区支持广泛,Linux 在短时间内快速发展,功能和稳定性都得到了极大提高。Linux 很快成为一个稳定、可靠的操作系统内核,并迅速被用户和开发者接受。

嵌入式Linux开发:CodeWarrior IDE目标设置与GNU工具链配置详解 在嵌入式系统开发中,交叉编译工具链是连接主机开发环境与目标硬件平台的核心桥梁,它负责将高级语言源代码转换为目标处理器架构(如ColdFire、ARM)可执行的机器码。其工作原理基于编译器、汇编器和链接器的协同工作,通过指定目标CPU架构、优化级别和内存布局等参数,生成适配特定硬件的二进制文件。这项技术的核心价值在于实现了代码的平台移植性,显著提升了开发效率。在嵌入式Linux应用场景下,开发者常需配置集成开发环境(如CodeWarrior IDE)中的目标设置(Target Settings)与GNU工具链 阅读详情

相关推荐

Deepin GNU/Linux与WSL 2融合:开发者高效环境搭建指南

Linux子系统(WSL 2)是微软推出的革命性技术,通过在Windows内核中直接集成Linux系统调用,实现了近乎原生的Linux环境支持。其核心技术原理是利用轻量级虚拟机(VM)运行完整的Linux内核,同时通过虚拟化技术实现高效的文件系统互通和硬件资源调度。这种架构为开发者提供了独特的价值:既能保留Windows生态的生产力工具,又能无缝使用Linux的开发环境。在具体应用场景中,将Deepin GNU/Linux这样的桌面友好型发行版移植到WSL 2环境,可以充分发挥其精美的UI设计和开箱即用的中

weixin_33892359的博客 426

GNU和Linux的关系、 Linux的发行版本、CentOs和RedHat的区别

GNU和Linux的关系、 Linux的发行版本、CentOs和RedHat的区别

老照片 3350

CMake 交叉编译实战:aarch64-linux-gnu 工具链从配置到运行

交叉编译是指在一种架构的宿主机上生成另一种架构可执行代码的技术,其核心在于让构建系统在配置阶段就明确目标平台,避免误用宿主机资源。CMake 通过 toolchain file 注入编译器、sysroot 和查找规则,确保 find_package、try_compile 等动作在正确的路径下执行。正确配置后,可显著提升嵌入式 Linux 开发的效率与可移植性,广泛应用于 ARM 开发板、物联网设备等场景。本文以 aarch64-linux-gnu 工具链为例,详细拆解 toolchain file 的编写

weixin_33845881的博客 334

GNU与Linux

你了解什么是GNU吗?知道GNU/LINUX的由来吗?

ZBigluck的博客 782

STM32Cubemx+CanFestival:从零到一的CANopen移植实战

本文详细介绍了如何使用STM32CubeMX和CanFestival实现CANopen协议栈的移植,从开发环境搭建到核心配置步骤,再到调试与问题排查。通过实战经验分享,帮助开发者快速掌握STM32与CANopen的结合应用,提升嵌入式系统开发效率。

weixin_42558093的博客 421

skywalking各项指标说明

skywalking各项指标说明

没有简介 2488

Linux

Linux 1、初始Linux 1.1、什么是Linux Linux,全称GNU/Linux,其内核最初是由芬兰人林纳斯·托瓦兹于1991年10月5日首次发布 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX(可移植操作系统接口)和多用户、多任务、支持多线程和多CPU的操作系统 Linux能运行主要的UNIX工具软件应用程序和网络协议(它支持32位和64位硬件)。Linux 继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统 1.2、Linux发行版本

记录学习历程 2960

ACR 磁共振安全手册 2024 更新版:全面保障 MRI 安全实践

MR 环境:MR 系统周围的三维空间,包含法拉第屏蔽体积和 9 高斯线,医疗设备在此区域可能因暴露于 MR 设备产生的电磁场而构成危险,需进行访问控制以降低风险MR 受控访问区域:MR 系统周围的局部定义区域,包含 MR 环境(包括其静磁场),访问仅限于授权人员MR 抛射物区域:围绕 MRI 系统的 IV 区区域,铁磁物体在此有成为抛射物的风险图一 磁共振环境:场地规划与区域划分。

楚山之石的博客 2602

GNU与Linux之间的关系

是现代操作系统的一个重要组成部分,它涉及到自由软件运动和开源软件的发展。二者虽然经常被混为一谈,但实际上它们分别代表了不同的项目和贡献。

zyqash的博客 1441

Eureka常见面试题总结

点击关注我的博客原文 Eureka是Netflix组件的一个子模块,也是核心模块之一。云端服务发现,一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移(来源springcloud中文网的介绍:https://www.springcloud.cc/)。下图总结了Eureka服务端(以下简称服务端)与Eureka客户端(以下简称客户端)之间协同工作的流程: 流程说明:...

u012105931的博客 2万+

Kaggle | 总奖池超200万美金的数学竞赛AIMO2冠军方案

••••结论1:通过结合高质量大规模数据集、工具集成推理和生成式选择方法,可以构建在挑战性数学问题上达到最先进水平的语言模型。本文的方法在 AIMO-2 竞赛中的胜利以及在多个数学基准上的 SOTA 结果验证了这一策略的有效性。结论2:发布 OpenMathReasoning 数据集、OpenMath-Nemotron 模型和代码是社区的宝贵财富。

hxshine的博客 1197

Linux系统概述及常用命令

系统概述 Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统。 Linus Torvalds ,Linux之父,他根据Minix系统的代码,参照UNIX系统的设计,写出了第一个Linux内核。1991年10月5日首次发布。 源码 https://github.com/torvalds/linux 背景 选择少,不开放 20世纪80年代,计算机硬件的性能不断提高,PC的市场不断扩大,当时可供计算机选用的操作系统主要有Unix、DOS和macOS这几种。 Unix价格昂贵

耘田 520

从报错到优化:一次Gauss JDBC参数限制排查实录(32767参数上限避坑指南)

本文详细记录了排查GaussDB JDBC驱动因绑定参数数量超过32767上限而抛出`PSQLException`(报错信息为`Tried to send an out-of-range integer as a 2-byte value`)的全过程。文章深入分析了该限制的底层协议原理,并提供了应用层分批查询、使用临时表以及优化业务逻辑等多种解决方案,旨在帮助开发者规避此参数上限陷阱,构建更稳健的数据访问层。

rgv23456789的博客 218

详解BSD、GNU/Linux与Shell:从概念到实践,一文扫清迷惑

本文解析了开源操作系统中的核心概念:BSD是一个完整的操作系统家族,包括FreeBSD、OpenBSD等,采用宽松的BSD许可证;GNU/Linux则是由Linux内核与GNU工具组合而成的操作系统。两者是竞争关系,但BSD系统也常集成GNU工具。在Shell方面,Linux默认使用功能强大的Bash(Bourne-Again Shell),而非C Shell或B Shell。文章通过对比表格清晰呈现了三者的区别与联系。

hour_go的博客 1560

【UML】第12篇 序列图(1/2)——基本概念和构成

序列图(Sequence Diagram)是一种用于显示对象之间交互的图形化表示。它描述了在特定场景下,对象之间按照时间顺序进行的消息传递和协作过程。在序列图中,对象被表示为带有垂直虚线的矩形,虚线表示对象的生命周期。对象之间的交互通过箭头表示的消息来表示,箭头从一个对象的生命线指向另一个对象的生命线,表示消息的发送和接收。

AI人人懂 3048

ScanNetV2 数据集讲解和选择性下载

写在前面的话: 不可转载!!!!!!!!!!!! ScanNetV2一共1.2T,数据太大本文会简单讲解如何下载自己想要的文件,并附上修改后的下载程序 ScanNetV2:http://www.scan-net.org/ 简介 ScanNetV2的作者是斯坦福大学的博士,其团队通过收集RGB-D的视频序列,通过ipad应用加深传感器而收集的,然后视频会被上传到服务器,并被自动重建。然后,视频会被给到亚马逊 Mechanical Turk,将标注工作众包出去。ScanNetV2是RGB-D数据集,.

qq_35781447的博客 2万+

鸿蒙 PC 底层开发技术详解(二):OpenHarmony、HarmonyOS 与 GNU/Linux 的关系

OpenHarmony:非 GNU 系的 Linux 发行版;HarmonyOS:OpenHarmony 的商业发行版。

hqzing的博客 1067

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

coreutils 跨平台安装教程:5 分钟在 Windows/macOS/Linux 装好 GNU 命令行工具集

uutils coreutils 是一个用 Rust 重写 GNU coreutils 的跨平台项目,把 `ls`、`cp`、`mv`、`cat` 这类天天用的命令行工具打包成一套。它追求与 GNU 版本完全对齐的输出和退出码,做到直接替换(drop-in replacement),同一个二进制可以跑在 Linux、macOS、*BSD、Windows 甚至 WASI 上。当前版本 0.11.0,

gitblog_00647的博客 970

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

HoRain云--揭秘GNU/Linux核心架构:从底层到应用

摘要: 本文系统解析了GNU/Linux的核心架构与组件,涵盖硬件抽象层、内核模块(进程调度、内存管理等)、用户空间工具链(GNU核心命令、systemd)及文件系统标准(FHS)。深入探讨了Shell环境、软件包管理(APT/RPM)、系统初始化流程(SysVinit vs Systemd)及高级机制(IPC、SELinux安全)。结合典型场景(服务器运维、容器化部署)和学习路径(内核编译、源码调试),提供实践指导。旨在帮助开发者精准排障、优化性能并构建定制化系统,适合从入门到进阶的Linux学习者。

2401_86544677的博客 978

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

GNU/Linux

什么是 GNU/Linux? (debian.org) Linux 是一种计算机操作系统:一系列能让您与计算机进行交互操作并运行其它程序的程序。 操作系统由多种基础程序构成。它们使计算机可以与用户进行交流并接受指令,读取数据或将其写入硬盘、磁带或打印机,控制内存的使用,以及运行其它软件。操作系统最重要的组成部分是内核。在 GNU/Linux 系统中,Linux 就是内核组件。而该系统的其余部分主要是由 GNU 工程编写和提供的程序组成。因为单独的 Linux 内核并不能成为一个可以正常工作的操作系统,所

学海无涯 243

GNU/Linux下如何设计PCB印刷电路板

GNU/Linux下如何设计PCB印刷电路板 gplEDA This website contains links to Electronic Design Automation(EDA) tools that are released under the GPL(either v2 or v3).   Here is a list of active projects (a

bywetec的专栏 5464

VS Code中配置GNU Global:为大型C/C++工程实现全局跳转

在大型C/C++源码中,跨文件查找符号定义和引用关系往往依赖完整的编译数据库,但许多老项目和嵌入式工程并不具备这一条件,导致编辑器的跳转功能频繁失效。GNU Global作为一种纯文本索引工具,通过扫描源码生成GTAGS、GRTAGS和GPATH三个索引文件,在不依赖编译器参与的情况下,同时提供定义跳转与反向引用查询,有效补充了LSP和ctags的不足。配合VS Code插件,开发者可以像使用IDE一样浏览复杂代码库,快速梳理调用链路。本文从索引原理出发,介绍GNU Global的安装配置、VS Code插

weixin_28835789的博客 211

1_科普—什么是GNU?什么是GPL协议?GNU和Linux是怎么结合在一起的?

1_科普—什么是GNU?什么是GPL协议?GNU和Linux是怎么结合在一起的?

即使是不成熟的尝试,也胜于从不执行的策略。 8105

一步步搭建物联网系统——GNU/Linux 强大且Free

GNU/Linux 强大且Free 什么是Linux Linux是一种自由和开放源码的类UNIX操作系统内核。目前存在着许多不同的Linux发行版,可安装在各种各样的电脑硬件设备,从手机、平 板电脑、路由器和影音游戏控制台,到桌上型电脑,大型电脑和超级电脑。Linux是一个领先的操作系统内核,世界上运算最快的10台超级电脑运行的都是基 于Linux内核的操作系统。 Linux

zixi2015的专栏 1787

GNU/Linux下文件的压缩与解压

<br />  GNU/Linux下压缩与解压的工具有很多,如:tar、gzip-gunzip、bzip2-bunzip2、zip-unzip、p7zip等等(只列出免费的),并给出简单介绍如下(以实用为主):<br />一、tar <br />        tar命令的参数选项有很多,下面只给出常用的压缩与解压命令:<br />1、tar常用的压缩相关命令:<br />tar -cvf pdf.tar *.pdf          #将当前目录下所有的pdf文件,打包为pdf.tar;<br />tar

瞬间印象 1492

GNU/Linux相关发行版及相关工具搜集整理

linux 发行版,文件管理器,桌面环境,ssh工具

acaist201的博客 514
上一篇: devtool命令行工具
下一篇: Linux系统架构
嵌入式孙老师
博客等级 码龄7年 5688粉丝 902原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值