Linux 版 (精华区)

发信人: netiscpu (网中自由鸟), 信区: Linux
标  题: Linux实用教程(部分)(1)
发信站: 哈工大紫丁香 (Thu May 20 17:49:09 1999), 转信

 

前 言

从一开始接触计算机起,笔者和国内 90% 的计算机用户一样,接触的是微软的软件。

我们曾经是微软的追随者,是微软 Office、Visual Studio 的忠实用户。我们曾经为

微软开发的 Windows 3.1、Office 95 和 Visual C++ 1.0 而兴奋过,曾经为微软给我

们提供的简单易用的软件而赞赏过,曾经为成为微软认证专家而自豪过。但现在回过头

来再看的时候,却发现我们已经深陷其中而无法自拔。我们不得不一遍一遍地升级软件

,从 Windows 3.1 到 Windows 3.2、Windows 95、Windows 98、Windows 2000,从 O

ffice 4.2 到 Office 95、Office 97、Office 2000,……软件的升级意味着我们还不

得不升级计算机的处理器,不得不增加内存,换掉硬盘,……这笔帐谁也没有算过,谁

也不知道值得不值得。

但是现在,当我们大量的文档是 Word 文件时,当我们大量的程序由带有微软扩展特色

的 C++ 编译器编译时,我们还有别的出路吗?

当笔者在一台根本无法安装 Windows 98 的计算机上安装了Linux,再也不用听自己的

硬盘痛苦旋转的声音时,当笔者在一台 Alpha 的旧工作站上安装了 Linux,从而让这

台几乎无人问津的、在微软看来应当扔到垃圾堆中的计算机重新焕发生机时,当笔者所

从事的研究课题因为 Linux 而大大获益时,我终于明白了这个世界上还有比比尔更加

可爱的人,还有比 Windows 更加优秀的软件,我也知道脱离微软控制的时机到了。

但是,这篇文章就是在 Windows 98、Word 97 中编辑的呀,这岂不是自相矛盾、自欺

欺人?

笔者并没有说 Windows 应当从地球上消失,我们象赞成“生物多样化公约”一样赞成

 Windows 的存在。如果我们要为一个初学者讲解计算机的使用,我们会采用 Windows

;但如果我们要学习操作系统,或者进行专业级的排版处理、图象处理,或者提供网络

服务,那么,我们不会选择 Windows,而宁愿选择可以在 PC 机上运行的 UNIX 操作系

统Linux。

那么,Windows NT 呢?Windows NT 也能提供网络服务,也能提供 OpenGL 支持呀,而

且简单、易学易用。 

在这里,笔者愿意举一两个例子来说明 Windows NT 的局限性。

如果我们将 Windows NT 安装到 C:\WINNT 目录下,每当新的用户登录时,它默认在 

C:\WINNT 目录下建立相应的用户配置文件。用户的开始菜单、打开过的文档、曾经访

问过的站点信息等等,统统放在用户的配置目录之下。要知道的是,我们经常会修改开

始菜单,经常会清空文档菜单,经常会访问其他站点,因此,配置文件中的内容始终是

变化的,如此,C 盘上的文件系统碎片化的程度可想而知。难道微软的工程师没有预见

到这一问题吗?NTFS 号称是一个具有低碎片化程度的文件系统(至少微软的培训资料

上是这样说的),因此,微软在 Windows NT 中甚至没有提供 Defrag 工具,但如果你

拿一个第三方的 Defrag 工具看任何一个使用了一段时间的 NTFS 文件系统,你会为自

己硬盘的碎片化程度大吃一惊。如果你在系统中新安装了一个 Windows NT 操作系统,

你会觉得自己的系统性能很好,然而,当你安装了 IIS 4.0,尚未提供任何对外服务时

,你的系统可能已经疲惫不堪了。

第二个例子是有关系统配置的问题,每当我们修改了控制面板的网络项,不管是什么内

容,系统均要求你重新引导。

诸如此类的问题不胜枚举……

微软为什么让自己一个定位于网络服务的操作系统如此令人费解、如此令人尴尬呢?援

引 Linux 之父 Linus 的一句话,“微软想得更多的是如何去赚钱,而不是如何做一个

更好的操作系统”。微软在设计 Windows NT 时,原本是可以避免上述这些初级问题的

,但是,他们想的更多的是“兼容性”(这样他们可以获得更多的用户支持,能够更大

程度地提高市场份额),于是,一个天生“残疾”的网络操作系统诞生了。

我们天天用微软的软件,还有一个更加可怕的问题我们失去了自由,幻想和理想。

我们认为 Windows 无所不能,甚至开始拿它控制机器;

我们认为用 VB 画一些窗体就学会了编程;

我们认为 Word 就是排版软件;

我们认为 Access 就是数据库;

我们认为……

那么 Linux 如何呢?

Linux 在实际当中使用已经有许多年了,自去年中开始,国内也有更多的软件爱好者开

始了 Linux 学习。北京、上海等大城市都有 Linux 俱乐部定期活动,开展技术讨论,

推进 Linux 在国内的普及。最近,Turbo Linux 的简体中文版正式发行,从而将 Lin

ux 在国内的普及推到了新的高度。

Linux 是 PC 上的 UNIX 操作系统,符合 POSIX(可移植操作系统接口)标准,她不仅

支持 i386 系列计算机,而且可以支持 Alpha,SPARC,PowerPC 等处理器。Linux 内

核最初由芬兰的 Linus B. Torvalds 编写,并经过无数 UNIX 专家和网络黑客的修订

、补充而成,现在其内核已经发展到2.2版本。Linux 的最大特点是其源代码公开,并

且可以从各种渠道以近乎免费的成本得到,只要用户遵守 GPL(通用公共许可证)的条

款,就可以自己修改软件源代码并发行自己的版本。Linux另一个吸引人的地方在于,

在相同硬件配置和平台之上,其性能远比 Windows NT 好。另外,Linux 的内核还可以

按照用户的硬件条件和应用要求进行自由配置,经重新编译后生成更加高效的私有内核



经过七年多的发展,能够在 Linux 上运行的应用软件越来越丰富。到现在为止,Linu

x 的概念不仅仅是一个操作系统,而且包含所有能够在上面运行的软件,从系统工具、

开发工具、排版和图象到 WWW 服务器,应有尽有,而且这些软件和内核一样,其源代

码同样是公开的。Linux 已经成为一个成熟的应用开发平台,利用她可以建造 Intern

et 上的 FTP、WWW 服务器,运行工作站级的专业软件,也可以在家用 PC 机上安装 L

inux,学习 UNIX 操作系统,学习编程,甚至娱乐。

什么样的人适合学习 Linux 呢?如果:

你崇尚自由;

你喜新厌旧;

你对这个充满金钱、物欲横流的世界感到厌烦;

你喜欢探索未知领域……

那么,请现在就开始 Linux 的学习吧!

最后,笔者推荐读者读一篇文章,《Linux自由而奔放的黑马》(原文摘自清华大学水

木清华 BBS 站 Linux 板,见本书附录 A,在此衷心感谢作者文山),这篇文章用通俗

优美的文笔介绍了 Linux 的历史、发展和现状。

本书主要内容

本书根据国内计算机应用水平,为欲了解和掌握 Linux 的软件爱好者和开发者介绍 L

inux 而编著,主要特点为:

通过对 DOS / Windows 和 Linux 的比较,快速引导已熟悉 DOS 的读者掌握 Linux 的

基本概念和常用命令。 讲述 Linux 操作系统的内核知识和系统管理,为 Linux 的系

统管理员以及系统或应用程序开发员讲解基本概念和相关理论。 通过提供关于网络、

中文环境、软件开发等一系列的实例,使读者对 Linux 的应用和软件开发能够窥见一

斑,达到举一反三的效果。 和上述三个方面相对应,本书共分三个部分。下面简要介

绍各部分内容。

第一部分 Linux 安装和快速入门。这一部分内容通过对 DOS 和 Linux 的比较,引导

读者快速了解和掌握 Linux 的基本概念和常用命令。这一部分分八章讲述:

第一章 Linux 的获取和安装。本章中,我们将教你如何选择、获取 Linux 套装软件,

把它安装到自己的机器上,从而体会在微机上使用UNIX 的感觉。除此之外,还要介绍

一些重要的 Linux 资源,让你知道如何查找 Linux 的相关文档,如何寻求帮助。 第

二章 Linux 基础。本章内容包括,如何作为普通用户登录到 Linux 系统,如何注销帐

户,如何正确关机,如何使用最基本的 Linux 命令。另外,为了使读者对 Linux 系统

有一个初步的认识,也会穿插涉及一些有关系统管理、文件系统的基本知识。 第三章

 文件和程序。本章将讨论文件系统的层次结构、文件及目录的基本概念和访问权限,

并介绍执行程序的一般方法。 第四章 磁盘管理。本章讲述涉及 Linux 设备管理的基

本知识,重点是对磁盘的管理和使用。 第五章 bash。本章以 bash 为重点,并讲述与

 shell 有关的一些概念。 第六章 Linux 的 GUI。本章主要讲述 Linux 下的 X Wind

ow 的使用。 第七章 工具和实用程序。Linux 系统提供了很多使用方便的工具和程序

。本章将重点介绍三类,它们分别用来编辑正文、搜索和排序、压缩和解压缩文件。对

于其他一些常用命令,也将作简要介绍。 第八章 其他。本章简要讲解 bash shell 脚

本的编写,以及 GNU C 程序的安装和初步使用。 第二部分 Linux 奥秘。这一部分通

过对Linux 内核的介绍,论述了有关内存管理、进程、进程间通讯、设备驱动程序、文

件系统、网络等方面的内容,同时介绍了相应的系统管理工具和系统调用。后三章对 

Linux 的引导和登录过程,以及系统安全性等方面进行了介绍。这一部分分十章讲述:

第九章 Linux 系统概述。在详细介绍 Linux 内核之前,本章向读者简要介绍 Linux 

的组成部分以及 Linux 为用户提供的主要服务 第十章 内存管理。Linux 采用虚拟内

存机制管理系统内存。虚拟内存可为多任务操作系统进程的大地址空间、进程保护、内

存映射以及共享虚拟内存等提供支持。本章主要讲述 Linux 内核对虚拟内存的管理,

主要内容包括:内存页表、内存页的分配和释放、内存映射和需求分页、内存交换等。

 第十一章 进程及进程间通讯机制。Linux 是多任务操作系统,内核需要跟踪所有进程

的运行信息,以便能够控制进程的资源访问能力、CPU 时间占用、内存耗费等。内核为

进程维护的数据结构可能是内核中所有数据结构的核心。本章讲述 Linux 内核中和进

程相关的数据结构,Linux 的进程调度,以及进程间通讯机制(信号、管道、消息队列

、信号量以及共享内存)等内容。 第十二章 硬件和设备驱动程序。Linux 现在能够支

持多种 CPU,也能够支持各种流行的总线结构或硬件设备。本章讲述 Linux 内核中和

PCI 总线、硬件设备等相关的数据结构,介绍了操作系统和硬件之间的接口设计,介绍

了磁盘及其相关概念,还介绍了显示卡、监视器、鼠标和键盘、打印机等设备及其相关

概念。 第十三章 文件系统。Linux 操作系统的一个重要特点是它支持许多不同类型的

文件系统。Linux 中最普遍使用的文件系统是 Ext2,但 Linux 也能够支持 FAT、VFA

T、FAT32、MINIX 等不同类型的文件系统,Linux 实际通过虚拟文件系统隐藏了不同文

件系统之间的差别。本章讲述 Linux 土生土长的文件系统 Ext2 文件系统,以及虚拟

文件系统的结构。 第十四章 网络。Linux 的发展壮大是和 Internet 分不开的,而 

Linux 最广泛的单项应用就是作为 Internet 或 Intranet 的服务器。Linux 支持完整

的 TCP/IP 协议,提供了抽象的 BSD 套接字接口。本章主要讲述 Linux 对 TCP/IP 协

议的支持。 第十五章 其他内核机制。Linux 系统的高效运行是与内核提供的基本内核

机制分不开的,本章主要描述底半处理、任务队列、时间和定时器等内核基本机制。另

外,Linux 内核支持可动态装载及卸载的模块,也是本章主要讲述的对象。 第十六章

 引导和关机。本章解释 Linux 系统的引导和关机过程。不同系统平台的引导过程略微

有些不同,本章以 Intel 平台为主讲述 Linux 系统的引导过程。主要涉及引导和关机

、init、运行级别等内容。 第十七章 登录和注销。本章描述在登录和注销过程中,后

台进程、日志文件和配置文件之间的交互情况。 第十八章 安全性。在网络世界中,系

统安全性日益受到重视。本章描述在 Linux 系统中如何管理用户帐号,如何采取主动

措施保护重要数据不受侵害。 第三部分 Linux 实战举例。这一部分通过一些实例,说

明在 Linux 下进行应用开发及软件开发的基本方法。所选的实例具有典型性、代表性

。通过这一部分的内容学习,读者应当能够从实践当中进一步提高,从而巩固理论知识

,真正理解和掌握 Linux。这部分分四章讲述:

第十九章 内核编译。本章以最新的 Linux 2.2.3 版为示例,讲解 Linux 内核的配置

及编译。 第二十章 网络应用。本章首先概要介绍了 Linux 对网络的支持,然后具体

介绍三个方面的应用实例:个人如何上网;Linux 作为 Web 服务器;Linux作为Inter

net代理服务器。 第二十一章 中文环境。本章主要讲述 Linux 下的中文处理。 

第二十二章 基于 Xlib 的简单 GUI 系统开发。本章将通过构造一个简单的 X 窗口程

序,讲解 Linux 上基于 Xlib 的图形用户界面的开发。  

本书面向读者

编著本书的目的,并不是为了给读者提供一个 Linux 命令的参考性文档,相反,本书

内容重在对概念和理论的解释上。作者通过对大量文档的综合,从中提取了许多精华内

容,补充了相关的基本概念,用最通俗化的语言阐述有关 Linux 的使用、系统和内核

知识,从而为中国读者利用 Linux 进行应用开发或软件开发打下良好基础。

本书面向的读者包括:

基本掌握 DOS 命令,欲了解和掌握 Linux 的一般操作以及进行 Linux 系统管理者。

 基本掌握 Linux 或 UNIX 操作,但欲了解 Linux 内核的软件爱好者或应用及软件开

发者。 本书涉及到大量 Linux 内核数据结构方面的内容,因此也可作为软件爱好者或

在校学生学习操作系统或数据结构的参考书。对从事系统或软件设计的专业人员,本书

也大有裨益。

 

 

全书由魏永明、杨飞月、吴漠霖组织编写,由魏永明、郑翔负责统稿,翦鹏审校。参加

编写工作的还有王海力、张文翔、雷年胜、陆伟、蒋洪军、李铁民、王忠华、孙鲲鹏、

雷勇等。另外,宋妍、张予平、吕静骅、王暮天、郭佳、李超等参加了本书资料收集、

文字校对和插图绘制等工作,在此表示感谢。由于编者水平所限,错误之处在所难免,

还望读者不吝指正。

在本书编写过程中,除参考书后附录所列出的文献外,还参考了其他 Linux 文档及著

作,限于篇幅不能一一列出,在此向各位作者表示歉意,并致以衷心感谢。

版面字体约定

下表给出了本书使用的版面字体约定,特殊字体代表特定含义。

command

 用于系统命令等文字,用户应当原封不动地键入。

 

argument

 用于命令的可变参数,用户应依据不同情况作相应修改。

 

task_struct

 用于数据结构的名称、字段名称以及文件或目录名;也用于引用文字。

 

$ pwd

/etc

$

 用于命令输出示例或源代码块。

 

CTRL+ALT+DEL

 表示按键。

 

 

 

 

 

 

 


--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: bin@mtlab.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.281毫秒