Linux 介绍_1 无用的小知识
Linux 是什么
我的博客
本文档介绍如下内容
- 什么是
Linux
Linux
历史Linux
的优势与劣势- 有哪些种类的
Linux
,如何选择合适自己的版本 - 什么是开源以及
GNU
历史
UNIX
在讨论 Linux
之前,让我们回到更早的时期。刚开始的电脑除了体积极大外,每一台电脑都具有自己独特的操作系统。软件也总是限定在几种特定的功能,在一个电脑系统中可以运行的软件,可能并不能运行在其他的系统中。这十分不友好。在 1969 年,贝尔实验室的开发者小组开始了一项工作,来解决软件存在的这类问题,他们开发了一个新的操作系统,具有如下特性:
- 简洁优雅
- 以
C
编写 - 可以回收代码
贝尔实验室将这个项目名命为 UNIX
。它只需要非常少的代码,即内核来适配每一个特定的系统。操作系统以及所有其他的功能都基于这个内核上以高级语言 C
进行编写。
到 80 年代末,很多人家中具备了家用电脑。到此,具有了几个 PC
架构中的 UNIX
版本,但是它们都不是免费的,且它们十分缓慢,因此人们大都在他们的家用电脑上使用 MS DOS
或 Windows 3.1
。
Linus 与 Linux
在 90 年代初,家用电脑已经具有足够的性能运行完整的 UNIX
。1991 年 Linus Tovalds 在 comp.os.minix 发了:
From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: Gcc-1.40 and a posix-question
Message-ID: <1991Jul3.100050.9886@klaava.Helsinki.FI>
Date: 3 Jul 91 10:00:50 GMT
Hello netlanders,Due to a project I'm working on (in minix), I'm interested in the posix standard definition. Could somebody please point me to a (preferably) machine-readable format of the latest posix rules? Ftp-sites would be nice.
他希望有一个免费的系统,能够完全兼容 UNIX
,因此他询问了 POSIX
标准。当时即插即用尚未发明,但是一些人对拥有自己的 UNIX
系统十分感兴趣。新的驱动渐渐的开始支持几乎所有类型的新硬件。几乎在新硬件刚发布,就有人购买了它并适配,提交了 Linux
测试。
在 Linus 发布邮件两年后,就有了 12000 个 Linux 用户。项目稳步增长,且所有的内容都遵守 POSIX
标准。所有的 UNIX
特性,都逐步添加到 Linux
中,让它成长为一个成熟的操作系统。Linux
适合于工作站、中型以及大型的服务器,现在 Linux
加入了桌面市场。
用户界面
Linux 是否困难
Linux
对于一个程序员来讲是绝配,它具有编译器、库、开发调试工具。每一个标准的 Linux
发布版本中都具备这些包。它具有 C 编译器,并包含所有的文档与手册,而且包含例子来帮助用户随时使用。
在 Linux
的早期,使用这个系统需要是这方面的专家。即便在每一个系统中,都具备介绍手册,但是找到这些手册却十分困难,即便找到了手册,解释说明都是专业的术语,这对新用户是十分不友好的。
用户初次使用 Linux
像 RedHat
,SuSE
以及 Mandriva
这样的公司慢慢兴起。他们继承了图形用户界面 GUI
到系统中,用于方便地对系统、服务进行管理。现在作为一个 Linux
用户,不需要对系统深入地了解,就可以使用了。
今天,你能够以图形形式启用所有需要地应用,当需要地时候,也可以访问系统地核心。访问下面的几个网站,可以看到桌面版 Linux
界面:
http://www.gnome.org
http://kde.org/screenshots/
http://www.openoffice.org
http://www.mozilla.org
Linux 未来
开源
首先 Linux
是开源的,开源软件的含义: 程序开发者可以读取、分发并修改代码。现在 Linux
不仅仅是一个操作系统,现在基于它形成了一个产业链。从制作、测试系统,到为用户提供软件,为用户提供维护、升级以及定制化内容等。
Linux 属性
Linux 优点
- 免费
Linux
可以在网络上免费下载下来,无需注册,无需付费,免费升级。若想自己定制,源码自由下载。
使用 GNU Public License (GPL) 证书,这个证书保证,任何人都可以修改并发布修改内容。 Linux
可以移植到任何平台
如果生产商制作了一款新的硬件平台,可以使用Linux
内核,进行裁剪适配到新的硬件平台,因为相关操作的文档都是可以免费获取的。- 可以保持一直运行
像UNIX
一样,Linux
系统可以不重启一直运行下去。 - 安全且功能多样
具有强鲁棒性以及经年累
月证明的稳定质量。但是Linux
不仅仅可以用来抵御网络攻击,它也可以用在其他任何场景中,你的开发设备与控制台将会像你的防火墙一样安全。 - 可裁剪
从Palmtop
的 2MB 大小到具有成百上千的节点,添加或删除合适的包,可以将Linux
进行裁剪、适配。你即可以用它来实现一个大型的工程,比如编译一个操作系统,也可以用它来适配一个嵌入式处理器,比如老版的 486。 - 调试时间短
因为Linux
已经被成千上万的开发者使用调试了,很多问题已经被这些开发者遇到并解决了。而且社区十分活跃,因此一个bug可能几个小时就解决掉了。
Linux 缺点
- 有太多不同的版本分支
千人千面,Linux
具有很多大小版本分支,可能对初次接触它的人不太友好,但是你总是能找到你需要的版本。 - 对用户不是十分友好,尤其是首次使用这一操作系统的人
对新用户友好这块儿,已经在做了。
Linux
Linux 以及 GNU
不同版本的 Linux
可能看起来有所不同,但是构建这些图形界面以及用户接口的基本元素是一样的。Linux
基于 GNU: Gnu's Not UNIX
工具。GNU
提供了处理、使用系统的标准方式。所有的 GNU
工具都是开源的,因此可以被安装到任何的系统上。大部分 Linux
版本都提供预编译的常用工具包,比如 RedHat
以及 Debian
的 RPM
包(也称作 deb
或 dpkg
)。然而,如果你希望做一点自己的工作,你会享受自己从开源源码构建自己所用工具的过程。
GNU
常用软件列表:
Bash
GNU
shellGCC
GNU
编译器GDB
GNU
调试器Coreutils
一系列UNIX
风格的常用工具,比如ls
,cat
,chmod
Findutils
搜索查找文件Gimp
GNU
图形处理程序Gnome
GNU
桌面环境Emacs
强力编辑器Ghostscript
Ghostview
是PostScript
文件的解释器与图形前端GNU Photo
与数码相机进行交互的软件Octave
一个编程语言,最初用来执行数值计算以及图形处理GNU SQL
数据库系统Radius
远程拨号认证系统- ...
当然也有商用的应用,这里就不再展开了。
为了安装新的包,需要一些软件管理工具。最常用的是 RPM
以及 dpkg
,RPM
是 RedHat
包管理器,用在不同的 Linux
系统中。dpkg
是 Debian
包管理系统,使用 apt-get
接口,它同样可以用来管理 RPM
包。第三方软件提供商,可能有自己的安装工具。
GNU/Linux
Linux
内核不是 GNU
项目的一部分,但是使用 GNU
软件相同的证书。很大部分的常用软件与开发工具,不是 Linux
指定的,却是从 GNU
项目中发展出来的。因为任何可用的操作系统以及最小集的实用工具,一些人称这样的系统为 GNU/Linux
系统。我们后面所说的大部分内容都是这样的系统。
应该选择安装哪个版本
在选择安装系统时,最重要的一个因素是你的硬件。因为每一个 Linux
版本都包含基础的包,来满足你几乎所有的需求,你只需要考虑这个版本是否能够运行在你的硬件平台上就好了。比如 LinuxPPC
可以运行在 Apple
以及其他的 PowerPC
上,但是不能运行在 x86
架构的设备上。LinuxPPC
可以运行在新的 Mac
上,但是可能某些功能不能使用。
一些 Linux
版本最好运行在特定的处理器上,一些版本可能能够运行在某些处理器上,但是因为使用的人比较少,所以不是很稳定。