【Linux】GNU是什么

GNU是一个自由软件项目,其全称是"GNU's Not Unix!",由理查德·斯托曼(Richard Stallman)于1983年发起。GNU项目的目标是创建一个完全自由的操作系统,包括一整套完全自由的软件工具,以取代Unix系统。这里的"自由"指的是自由软件(Free Software)的概念,即用户有使用、复制、修改和分发软件的自由。

GNU项目包括以下几个关键方面:

  1. 操作系统:GNU项目开发了一个名为GNU系统(GNU System)的操作系统,它包括了内核、shell、编程语言编译器、文本编辑器、文件系统等组件。

  2. 自由软件:GNU项目强调软件的自由性,即用户有权自由地运行、学习、分享和改进软件。

  3. GNU通用公共许可证(GPL):GNU项目开发了一种许可证,即GNU通用公共许可证,它允许软件以自由软件的形式分发和使用。

  4. 重要软件:GNU项目开发了许多重要的软件,包括但不限于:

Bash:Bourne Again Shell,一个Unix shell和命令语言。

GCC:GNU编译器集合(GNU Compiler Collection),支持多种编程语言的编译器。

GDB:GNU调试器(GNU Debugger),用于调试程序。

Gawk:GNU AWK,文本处理工具。

Grep:GNU版本的grep,用于搜索文本文件。

Emacs:一个可扩展、高度可定制的文本编辑器。

  1. GNU Hurd:GNU项目开发了自己的内核,称为Hurd,它是GNU系统的一部分,但Hurd的开发进度较慢,并没有广泛部署。

  2. GNU/Linux:虽然GNU Hurd的开发没有达到预期,但GNU项目开发的许多组件被用于Linux操作系统中。Linux内核与GNU工具集合合,形成了广泛使用的操作系统,通常被称为GNU/Linux。

  3. 自由软件基金会(FSF):理查德·斯托曼创建了自由软件基金会,以支持和推广自由软件的理念。

GNU项目对软件自由和开源运动有着深远的影响,它不仅推动了技术的发展,也促进了对软件自由和用户权利的讨论。

相关推荐
毒爪的小新3 小时前
Linux 环境极速部署 vLLM:从零搭建生产级大模型推理服务
linux·人工智能·ai·语言模型·vllm
鹤落晴春3 小时前
RH124问答3:从命令行管理文件
linux·运维·服务器
凡人叶枫3 小时前
Effective C++ 条款30:透彻了解 inlining 的里里外外
linux·开发语言·c++·嵌入式开发·effective c++
Net_Walke4 小时前
【Linux系统】静态链接库与动态链接库
linux·嵌入式硬件
syc78901234 小时前
中文语境下AI编码工具实战对比:从迭代体验看日常开发选择
linux·人工智能·ubuntu
凡人叶枫5 小时前
Effective C++ 条款22:将成员变量声明为 private
linux·开发语言·c++
vsropy7 小时前
Ubuntu网络图标消失问题/有网络问号
linux·运维·ubuntu
coderwu7 小时前
Ubuntu 24.04 终端输入 openclaw config 提示未找到命令解决办法
linux·运维·ubuntu
凡人叶枫9 小时前
Effective C++ 条款28:避免使用 handles 指向对象内部
linux·服务器·开发语言·c++·嵌入式开发
AI帮小忙9 小时前
Debian系linux操作系统里安装OpenClaw
linux·运维·debian