1. Linux 新手入门
什么是 Linux?
UNIX 和 Linux 有什么不同?
为什么 Linux 很重要?
我能用 Linux 做什么?
如何开始学习 Linux?
如何在应用开发中使用 Linux?
在 Linux 上可以使用哪些编程语言?
Web 服务与 Linux 有什么关系?
Linux 如何适用于网格计算?
如何能进一步提高技能?
怎样证明我具备 Linux 技能(Linux 认证)?
哪些 IBM 工具可用于 Linux?
Linux 前景如何?
The developerWorks Linux 部分 有数百篇技术文章、教程和小技巧,是 Linux 应用
开发和系统管理的宝藏,但对于试图有自己选择方向的读者来说,找到所有需要
的信息却很不易。 本页对想学习 Linux 但又无从下手的读者提供了综述指导,提
供了 Linux 基础知识,并把相关的 developerWorks 文章、教程、技巧以及 IBM 培
训服务教学、讲座实习和 IBM 产品集结在一起,以利于您进一步学习。
Linux 究竟是什么?
2. 用最简单的话说,Linux 是一个操作系统。它是一位赫尔辛基大学学生 Linus Torvalds(Linux 是 Linus's UN
本身实际上只是其内核;它实现了多任务和多用户功能,管理硬件,分配内存并且使应用程序能够运行。
对于任何一种操作系统,普通用户绝对没有足够的兴趣去了解如内核内部细节这样的内容。只有真正致力于
工作的人 ― 才愿意探索这些复杂的东西。
但即使您从未亲身深入研究过内核,那么也别担心,您可以很容易地雇用一家承包商或公司来为您做这项工
常较困难,花费也比较大。
对于初学者,有关内核要记住的最重要的事是:带奇数的内核版本(即 2.3、2.5、2.7 等)是实验性的开发版
(即 2.4、2.6、2.8 等)。
典型的 Linux 发行版包含 Linux 内核,但还包含许多应用程序和工具。总的说来,Linux 分发版中出现的许
件基金会(Free Software Foundation)的 GNU 项目(GNU 是“GNU's Not UNIX”的缩写)。
Linux 内核和 GNU 工具套件都在 GNU 通用公共许可证(GNU General Public License,GNU GPL)下发行。
最佳方法就是去阅读它。冒着可能会遗漏某些重要方面的风险,我这样概括 GNU GPL:它是一种使计算机
可随意使用和实验它。
• 我们极力推荐 Linus Torvalds 以前的同事 Lars Wirzenius 所写的一篇很有趣的对 Linux 历史的概括。
• Linux at IBM 的 Linux Line 提供有关合作伙伴的新闻、Linux 学习资源、成功案例和新的进展 ― 所有
• IBM Linux 技术中心(IBM Linux Technology Center) 直接与 Linux 社区协同工作;它的网站跟踪 IB
献。
回页首
6. 为什么 Linux 很重要?
因为它是自由软件,通过 GNU 通用公共许可证授权,Linux 使程序员无需在每次开发新项目时都要不断重
和灰泥,您可以用它们构建独立的项目。自由软件的批评者们常常担心自由软件的自由和低成本会将导致一
过象(不然的话更象)古腾堡(Gutenberg)的印刷机对文字世界的影响一样。
• The GNU 通用公共许可证 说明了自由软件用户所享有的自由和要承担的责任。
• 在自由软件基金会(Free Software Foundation,FSF) 网站,您可以阅读有关自由软件的“思想”并且可
• IBM 公共许可证(IBM Public License,IPL)也是一个自由软件许可证。它是在 FSF 创始人 Richard
• IBM developerWorks 的开放源码专区提供了在开放和/或自由许可证下发行的下载。
回页首
8. 我能用 Linux 做什么?
您希望用 Linux 系统做什么将决定您想要什么样的 Linux 系统,以及在开始使用该系统之前要对它有多深的
Linux 是进行内核研究、学习 UNIX 或学习编程的绝佳学习平台;有许多工具和应用程序可用来玩游戏、进
件和浏览 Web。
它也是开放和封闭式生产系统的绝佳平台,因为可自由地对其进行最大程度的定制。Linux 可以作为各种事
从并行超级计算机到小玩意儿。IBM 已经参与了制造在 Linux 上运行的收银机的项目,以及制造 Linux 手表
PlayStation、TiVo 和 Sharp Zaurus 上使用了 Linux。
尽管 GNU 通用公共许可证要求将修改过的代码发布给使用该代码的客户,但它不要求将所有修改后的代码
没有领会的关键一点)。的确,对于基于 Linux 的收银机,把代码发布给大众在安全性上完全是一种冒险。
修改后的代码。
• IBM developerWorks Linux 专区是一个不可缺少的教程与文章资源,里面介绍了 Linux 的所有知识,
• 概念验证 手表上的 Linux 项目是一项由 IBM Research 开发的非常流行且广受欢迎的项目
• 查看 IBM 的智能自动售货机。
• 从 Linux at IBM 门户网站页面了解令人振奋的 Linux 项目和随需应变的计算。
回页首
10. 如何开始学习 Linux?
如果完全不了解 Linux,或者正在使用 Linux 作为桌面操作系统,那么您至少需要学习一些有关系统管理和
化的商业性个人操作系统不同,Linux 并不承诺手把手帮助您,也不承诺跟在您后面做一些清理工作:您必
基本的安全性都很简单。在许多方面,现在的 Linux 和 UNIX 管理要比流行的商业性个人操作系统的管理容
尽管 Linux 的确有几个窗口环境可让您执行管理,但控制系统最直接的方法是使用命令行。构建在命令行环
本的帮助系统。
在 Web 上,在现实世界中,有许多资源可以帮助您开始使用 Linux。有许多专门针对这一主题的网站、文章
Groups,也称为 LUG)在世界各个国家和城市举行会议 ― 众所周知,他们对新用户也非常友好。
• 你可以通过变通利用已有的技能,从 Windows 环境转到 Linux 环境。我们的系列文章 "Windows 到 L
• “为 Windows 用户准备的简明 Linux 词汇表”是另一个适合新手使用的有用(如果不是不可替代的话)
• IBM developerWorks Linux 专区提供了许多专门介绍基础知识的独立教程和系列教程;所涉及的内容
Linux 系统分区和备份等等。
• “为您的 Linux 应用开发加油提速 2003:针对 Linux 开发新手的基本任务”介绍了浏览 Linux 以及使用
回页首
12. 如何在应用开发中使用 Linux?
Linux 是作为编程平台的绝佳选择。它符合 GCC,这意味着您可以使用 GNU 项目出色的编程与调试工具套
的所有自由。商业性编程软件包和商业性操作系统一样,要花很多钱。是的,某些项目常常需要它们,而它
人 ― 以及某些职业人士 ― 自由软件绝对是不可替代的。如果您正在使用 Linux 作为开发平台,请不要跳过
己的计算机的程序员实在是愚蠢。
• UnitedLinux 公共代码库承诺使 Linux 上的编程变得更简单。
• IBM developerWorks 在线时事通讯:技术版本专门为您提供与最新技术和开发保持同步所需的文章和
• IBM 国际技术支持组织(International Technical Support Organization,ITSO)推出的 IBM 红皮书提供
面的在线提示和技巧。
• 印刷版本的 IBM developerWorks 技术专刊也是一个有价值的参考资料。
Linux 生来就符合标准。Linux 开发者通常非常重视的方面是:保持操作层以及在上面构建的应用的开放性
• Linux 标准基础库 (or LSB) 提供了特定于 Linux 的工业规范和认证计划。LSB 是 Free Standards Group
• 意在为了符合 LSB,UnitedLinux 致力于提供改进的公共代码库。UnitedLinux 是由四家领袖级 Linux
• 通常与 UNIX 紧密联系,The Open Group 是一中立于提供商、技术中立的国际化协会,其目标是计算
• IEEE's Portable Application Standards Committee (PASC) 负责 UNIX 标准的 POSIX 系列。
• Requests for Comments (RFC) document series 是一套关于 Internet 的有组织的技术。由 IETF 秘书处维
有重要地位。
回页首
13. Linux 是作为
编程平台的绝
佳选择。它符
合 GCC,这
意味着您可以
使用 GNU 项
目出色的编程
与调试工具套
件 ― 绝对免
费,而且享有
GNU GPL 保
证的所有自
由。商业性编
程软件包和商
业性操作系统
一样,要花很
多钱。是的,
某些项目常常
需要它们,而
它们也物有所
值,但对于新
手或学习编程
的人 ― 以及
某些职业人士
― 自由软件
绝对是不可替
代的。如果您
正在使用
Linux 作为开
发平台,请不
要跳过学习管
理和安全性这
第一步。不能
掌握自己的计
算机的程序员
实在是愚蠢。
• United
Linux
公共代
码库承
诺使
Linux
上的编
程变得
更简
单。
• IBM
develo
14. 在 Linux 上可以使用哪些编程语言?
除了象 Fortran 和 C/C++ 这样一直流行的传统编程语言,许多脚本和其它计算机语言也都可以在 Linux 上正
工作)。最受欢迎的编程语言包括 Perl、Python、PHP 和 Tcl。
象 Java 技术和 XML 那样不断发展的新技术可以在 Linux 上畅顺地运行,许多其它更深奥的编程语言(从 L
如此。
• GNU 的 GCC 主页提供了大量免费工具和支持。
• David Mertz 在 IBM developerWorks 上的可爱的 Python 专栏让您和 Python 世界中的技术保持同步。
• Perl 爱好者们可以从 Ted Zlatanov 在 IBM developerWorks 上的文章功能丰富的 Perl 专栏和更佳编程之
• IBM 的 SashXB for Linux 项目提供了一个用于 Linux 的小型 RAD 环境,它是一个智能的基于 Java 的
• IBM developerWorks 用整个专区专门介绍了 Java 技术和编程。
• IBM developerWorks XML 专区是得过奖的极有价值的在线资源,适合各领域的开发人员。
回页首
15. 除了象
Fortran 和 C/
C++ 这样一
直流行的传统
编程语言,许
多脚本和其它
计算机语言也
都可以在
Linux 上正常
运行(甚至被
设计成与
Linux 能最融
洽地工作)。
最受欢迎的编
程语言包括
Perl、Python
、PHP 和
Tcl。
象 Java 技术
和 XML 那样
不断发展的新
技术可以在
Linux 上畅顺
地运行,许多
其它更深奥的
编程语言(从
Logo 和
Rebol 到
Smalltalk 及
其它语言)也
是如此。
• GNU
的
GCC
主页提
供了大
量免费
工具和
支持。
• David
Mertz
在
IBM
develo
perWo
rks 上
的可
16. Web 服务与 Linux 有什么关系?
Web 开发人员在决定以什么技术作为其电子商务应用程序的基础时,有许多选择。因为 Linux 符合标准,所
的开放成果到语音应用程序、无线、普及计算甚至 Web 服务这样最前沿的服务 ― 都支持 Linux。
• IBM developerWorks Web 服务专区正是一个更详细了解 Web 服务编程这一令人振奋领域的地方。
• alphaWorks Web Services 提供新的 Web 服务技术和 IBM 新兴技术工具箱(Emerging Technologies To
• IBM Web 服务页介绍来自 IBM 的产品和新闻、演示及合作伙伴事例。
• IBM 的 WebSphere Studio Application Developer 和 WebSphere Application Server 提供产品级的 Web 服
回页首
18. Linux 如何适用于网格计算?
使 Linux 或 UNIX 机器与其它出售的操作系统一起出色地工作一直就不太容易,而且现在这仍然不是件简单
都有这个问题。
在互操作性和可移植性方面已经有了巨大进步,在这个领域,新的工具和技术仍不断被开发出来。
这方面的 Linux 工作包括移植和联网,这涉及到编写或重写设备驱动程序。尽管设备驱动程序和 Linux 的其
地重新设计它们,以便将各种系统和外设(无论是旧的还是新的)连接到 Linux 或 UNIX 机器。幸运的是,
统的其它高级方面小很多。
• David Mertz 在 IBM developerWorks 文章“在 Linux(或异构)网络上共享计算机”(另请参阅第 2 部分
获得更多关于联网的基本资料,请参阅“局域网的组建 ”。
• 拼凑起一个复杂的网格是比较困难的,但您将在 IBM developerWorks Web 体系结构专区发现大量的
• 将安装移到无线平台比您想象的容易。在 IBM developerWorks Wireless 专区了解编程和连通性。
• 通过阅读这些专门的 IBM 参考资料来了解网格模型,包括入门级文章“网格计算关键组件文章”,以
的白皮书和文章。
• 一旦您一切就绪,IBM developerWorks 网格计算专题将使您与最新的信息、工具和支持保持同步,以
回页首
20. 我了解 Linux,但如何能进一步提高技能?
如果您希望使用 Linux 作为非常高级的应用程序或应用程序集的平台,您将会对系统的某些领域感兴趣,譬
它一些基本的细节。
高端应用程序(或游戏)所需要的另一套技能是调优 Linux 机器、群集或网络以获得最佳性能。这需要掌握
杂的系统管理知识。理解 Linux 的这些方面不象实际的内核研究那样需要勇气,但也会非常困难。
IBM Learning Services 提供的各种课程涉及各个方面,从基础知识到开发,以及非常专业化的技能 ― 并且还
员解决方案提供有关 IBM 产品的文章和 HOWTO,更多的 IBM 网站提供许多资源,其中有许多(如果不是
developerWorks 提供了关于 Linux 和其它几种开放或自由技术的文章、教程和资源,其它技术包括 XML、无
• IBM developerWorks Live! 技术简报事件是了解更多有关 IBM 技术的好方式。您将在 Linux at IBM: E
件列表中找到有关它们以及其它 IBM 事件的详细信息。
• IBM 的国际技术支持组织(International Technical Support Organization,ITSO)不仅出版 IBM 红皮书
• 当没有时间进行正规学习时,IBM developerWorks 和 IBM developer solutions 允许您根据自己的时间
回页首
22. 怎样证明我具备 Linux 技能?
Linux 培训有各种认证项目。既有联盟计划,也有独立的技能测试和公司赞助的认证。IBM 提供了数种 Lin
• IBM developerWorks 提供了两个内容丰富的系列教程,专门用于准备 Linux Professional Institute(LP
Linux 基础知识;第 2 部分、第 3 部分和第 4 部分介绍管理。在 102 系列中,第 1 部分演示如何从源
本身;第 3 部分介绍联网;第 4 部分深入探讨了安全性。
• 请访问 LPI,了解有关他们认证计划的更多信息。
• Red Hat 也提供针对其分发版的认证。
回页首
26. Linux 前景如何?
Linux 的开放性和灵活性使它得以在实验室和其它研究机构中被用于创新性技术变革的前沿。IBM 的研究涵
学到前沿应用研究等。但 IBM 的研究人员(在很多情况下)也涉及纯科学。和其它机构一样,IBM 也常常
针对极具创新性的实验或原型、仿真或者测试,可以很容易地群集或定制 Linux;也可以以同样具有创新性
这些工具而创建了 Linux)。即使有了现在正在开发的所有令人振奋的新技术 ― 从网格计算和无线语音应用
计算时代的潜能和前景仍然远没有被充分利用。Linux 健壮和开放的灵活性意味着它在今后很多年都将处于
• IBM Research 的研究涉及很多领域,从遗传学到纳米技术、人工智能以及量子隐形传态(quantum te
news 页密切关注他们最新的成果。
• 我们可没有拿量子隐形传态开玩笑。您也可能有兴趣阅读量子计算。
• IBM 的普及计算实验室不仅仅普及;它还给人非常深刻的印象。
• IBM Research 奥斯汀中心是 IBM Linux 技术中心(IBM Linux Technology Center)的大本营。
回页首