UNIX、Linux和GNU简介

一、UNIX操作系统

UNIX操作系统,当时的电信业巨头AT&T(美国电报电话公司)的贝尔实验室开发的操作系统。它是一个多用户、多任务操作系统,可以运行在大量不同种类的硬件平台上。
商业性质的类UNIX操作系统:
IBM的AIX、HP的HP-UX、Sun的Solaris。
免费获得的类UNIX操作系统:
FreeBSD、Linux。

二、Linux

Linux是一个可以自由发布的类UNIX内核实现,它是一个操作系统的底层核心。开发者是Linus Torvalds,git也是他开发的。
可以运行Linux的设备
32位和64位Intel x86的个人计算机、使用SUN SPAR、IBM PowerPC、AMD Opteron、Intel Itanium的工作站和服务器、手持PDA、Sony PS2/PS3游戏机等。
Linux发行版
Linux实际上只是一个内核,我们可以获得内核的源代码,编译并安装它,然后获得并安装许多其他自由发布的软件,从而完成一个完整的Linux系统的安装。通常这样安装所得的系统称为Linux系统,系统中大多数的工具都来自于自由软件基金会的GNU项目。自己从源代码创建Linux系统比较麻烦,所以很多人制作了准备好Linux发行版(通常称为flavor),可以通过U盘和CD进行安装,这些发行版不仅包含Linux内核,还会装载一些编程工具和应用程序,一般都会装载一个X视窗系统。
著名的商业Linux发行版
Red Hat Enterprise Linux、Fedora、Novell SuSE Linux
著名的免费的Linux发行版
openSUSE变体、Ubuntu Linux、Slackware、Gentoo、Debian GNU/Linux。
更多发行版信息可以参考:https://distrowatch.com/
Linux程序
Linux应用程序表现为两种特殊类型的文件:可执行文件和脚本文件。
1.可执行文件
可执行文件是计算机可以直接运行的程序,相当于Windows中的.exe文件。
2.脚本文件
脚本文件是一组指令的集合,这些指令由另一个程序(解释器)来执行 ,它们相当于Windows中的.bat文件、.cmd文件或解释执行的BASIC程序。
Linux并不要求可执行文件或脚本文件具有特殊的文件名或扩展名。文件系统属性用来指明一个文件是否为可执行文件。在Linux中,你可以用编译过的程序代替脚本(反之亦然)而不会影响其他程序或调用者。当登录Linux系统时,你与一个shell(通常是bash)进行交互,它像Windows中的命令提示窗口一样运行程序。它在一组指定的目录路径下按照你给出的程序名搜索与之同名的文件。搜索的目录路径存储在shell变量PATH里,这一点和Windows很类似。搜索路径由系统管理员配置。

三、GNU项目和自由软件基金会

商业化的UNIX系统都包含提供系统服务和工具的应用程序,而对于Linux系统来说,这些额外的程序是由许多程序员编写并自由发布的。
Linux社区
Linux社区支持自由软件的概念,即软件本身不应受限,它们应遵守GNU通用公共许可证(GPL)。虽然获得软件需要支付一定的费用,但是此后就可以随意使用它们,并且它们通常是以源代码形式发布的。
自由软件基金会(Free Software Foundation)
由Richard Stallman创立,也是Emacs, GCC, GDB的开发者,GNU项目由他发起,这个项目的宗旨是试图创建一个与UNIX系统兼容,并不受UNIX名字和源代码私有权限制的操作系统和开发环境。
GNU项目软件
GCC:GNU编译器集,它包括GNU C编译器。
G++:C++编译器,是GCC的一部分。
GDB:源代码级调试器。
GNU make:UNIX make兼容的语法分析程序生成器。
bash:命令解释器(shell)
GNU Emacs:文本编辑器及环境。
其他软件
电子表格、源代码控制工具、编译器和解释器、因特网工具、图形图像处理工具(Gimp)、完整的基于对象的环境(GNOME和KDE)

猜你喜欢

转载自blog.csdn.net/luoting2017/article/details/82053361