Linux是在1991年发展起来的与UNIX兼容的操作系统,可以免费使用,它的源代码可以自由传播且可任人修改、充实、发展,开发者的初衷是要共同创造一个完美、理想并可以免费使用的操作系统。
我们并不能使同学们通过这次系列讲座成为一个UNIX类操作系统的高手,这次系列讲座的目的就是在同学们中间普及Linux基础知识,为今后我们更加接近的了解Linux做一个好的开端。
第一讲 Linux基础
在这一讲中,我们主要是了解一下Linux的概况,以及对Linux有一个初步的感性认识。
一.什么是Linux?
Linux是一个以Intel系列CPU(CYRIX,AMD的CPU也可以)为硬件平台,完全免费的UNIX兼容系统,完全适用于个人的PC。它本身就是一个完整的32位的多用户多任务操作系统,因此不需要先安装DOS或其他的操作系统(MS Windows, OS2, MINIX..)就可以进行直接的安装。
Linux的最早起源是在1991年10月5日由一位芬兰的大学生Linux Torvalds (Torvalds@kruuna.helsinki.fi)写了Linux核心程序的0.02版开始的,但其后的发展却几乎都是由互联网上的Linux社团(Linux Community)互通交流而完成的。Linux不属于任何一家公司或个人,任何人都可以免费取得甚至修改它的源代码(source code)。Linux上的大部分软件都是由GNU倡导发展起来的,所以软件通常都会在附着GNU Public License(GPL)的情况下被自由传播。GPL是一种可以使你免费获得自由软件的许可证,因此Linux使用者的使用活动基本不受限制(只要你不将它用于商业目的),而不必像使用微软产品是那样,需要为购满许可证付出高价还要受到系统安装数量的限制。我在讲义的最后面附有GPL的非官方中文译稿。
目前Linux中国的发行版本(Linux Distribution)主要有Red Hat(红帽子), Slackware, Caldera, Debian, Red Flag(红旗), Blue Point(蓝点), Xteam Linux(冲浪), Happy Linux(幸福Linux), Xlinux等若干种,我推荐同学们使用的发行版本是Red Hat(事实标准)和Xlinux(安装最容易)。
二.安装Linux的好处?
Linux的核心具有Windows无法比拟的稳定性和高效率,在不使用X Windows的情况下,它占用系统资源较少,可以使一台Intel486摇身一变成为高效工作站。对于想要学习UNIX的用户来说,使他们熟悉UNIX操作环境,通往“骨灰级”高手境界的一大捷径。最重要的是,Linux上有公认的C语言世界最好的编译器gcc,如果你想得到一个效率更高的开发环境(并不一定是最友好的,但一定是最强大的),我建议你一定要好好的熟悉一下Linux。
三.如何得到Linux?
据我所知,大多数的Linux发行版本(Linux distribution)和核心(Kernel)都是可以从网上下载的,但是我不推荐易用这种方法得到Linux,因为仅仅核心就有几十个Mbit的数据量,而一个完整的发行版本大概都是1Gbit左右的数据量,你自己可以估计一下得用多少时间来下载它们?
我建议你最好去软件商店买光盘来,因为Linux的产品光盘是非常便宜的,连带许可证GPL在内你大概支付50元人民币就可以,而具有同样功能的Windows NT 4.0你至少得付出17000元人民币(有一点需要声明:在你购买光盘时GPL许可证你是不会肉眼看到的)。直接到商店去买,可以省去你很多麻烦,因为从网上下载的Linux有很多它还是要求你有光盘刻录工具将安装文件刻到光盘上。
四.如何得到Linux的最新消息?
关于Linux的站点现在到处都是,我这里向大家推荐的是一个关于Linux核心最新消息的一个网站,你可以得到核心(Kernel)发展情况的最新信息。网址如下:
http://www.kernel.org
另外还有一个非常著名的讨论组,你也可以去看看:
http://www.linuxforum.net
另外还有一个我常去的讨论组,这个讨论组是有高手专门维护的,而且回应贴子的速度很快:
http://www.coventive.com.cn/club/default.htm
在我这份讲义快写完的时候,又有一个非常好的自由软件团体出现了,那就是AKA,大家可以到他们的网页上去看看,里面有许多很实用的信息:
http://www.aka.org.cn
五.Linux操作系统上有什么应用?
Linux上有丰富的的应用软件,在这里我给大家做一个简单的介绍,具体它们是什么样子我会在讲座上为大家一一演示。
文本处理方面(控制台界面,X Window界面在后面介绍)
l vi
最令UNIX类操作系统初学者裹足不前的editor,然而只要你习惯于操作,你会觉得它比任何的editor都好用,且功能强大。
l pico
一种风格很像Microsoft DOS的EDIT的一种文本编辑器。
中文化方面
XCIN+Crxvt
缺省的Linux系统是不支持显示中文的,虽然现在国内涌现出许多著名的Linux汉化厂商,但是一些著名的Linux distribution如Red Hat、Debian、Caldera仍然不支持中文的输入和输出。这套汉化工具组合在控制台(console)方式和X Window方式下都可以显示和输入汉字信息。
l Cxterm
可以很容易的自行设置输入法,或者修改现有的输入法表格。
视窗界面(window manager)方面
l KDE
这是X Window System使用率最高的Window Manager。
l Fvwm
公认的最为好用的Window Manager之一。
l Fvwm95
拥有和Microsoft Win95 同样界面的Window Manager。
l Afterstep
公认的最好看的Window Manager,但号内存也很大。
l Enlightenment
界面最华丽的Window Manager, Win95和它相比简直就是nothing,但是号内存太大,有点华而不实。
l Icewin
又一个极富个性的Window Manager。
视窗应用软件方面
l WWW Browser
Netscape公司的navigator3.x和communicator4.x版可用,使用方法和MS Windows上一样。
l 图像处理
GIMP是类似于Photoshop的绘图软件,号称是Linux上最强的绘图软件。
l 看图工具
l MTV
这是一个可以播放VCD的软件,但是它是共享软件(Shareware),不是免费软件,我们也得不到它的源代码。
l Star Office
这是一套著名的办公软件,我个人认为它无论在界面上还是在功能上都强于Microsoft Office产品。唯一的缺憾是他不支持汉字,无论GB还是BIG5。
l Word Perfect
这是一个非常精彩的字处理软件,功能类似于Microsoft Word。
l 文杰字处理系统
这是一套由韩国人开发的字处理系统,功能强大,有专门的中文版推出,类似于Microsoft Word。
编译环境
l gcc
公认的C语言世界中功能最为强大的编译器,但是界面不是很友好。
l 除此之外还有FORTRAN、Pascal、GNU make、GNU debugger、GNU LISP、GNU PERL、TCL。
这里因为本人对这些编译工具都不熟悉,因此不多介绍。
MS Windows的模拟环境
l WINE
可以使绝大多数的16位MS Window程序运行在这个模拟环境中。但是不支持32位的程序。
六.在那里可以找到讨论区?
大家最熟悉的是北邮的BBS: 202.204.7.235 port:23
另外还有如下著名讨论区:
七.安装过程
这是非常重要的一部分,希望大家仔细了解本部分内容。
就我个人认为,对于初学者来说,Linux的安装过程是相当难的,新手往往会遇到系统屡装不成的情况。遇到这种事情,是非常痛苦的,但是几乎每个新手又都会遇到,因此我觉得安装过程应当仔细的说明一下。但是由于篇幅有限,我不见这个这个问题在讲义的正文中陈述,而是把它放在附文2中仔细说明。希望没有安装过Linux的同学们将这篇文章看一看。我想在上课的时候我会给大家演示一遍安装的过程。
第二讲 Linux基础进阶
经过上一节课的探讨,我想同学们应该对Linux有了一个初步的感性认识,但我们的认识还只是处在一个尚需进步的表层上。通过这一节的学习,同学们会对Linux的体系结构,它的基本操作,基本功能有一个更进一步的认识。
一.Linux的文件系统结构
Linux的文件系统和MS-Windows的文件系统有很大的不同,对于微软视窗系统的文件结构我在这里不再多说,我们主要了结一下linux的文件系统结构.
linux只有一个文件树,整个文件系统是以一个树根"/"为起点的,所有的文件和外部设备都以文件的形式挂结在这个文件树上,包括硬盘,软盘,光驱,调制解调器等,这和以"驱动器盘符为基础的MS-Windows系统是大不相同的.
Linux的文件结构体现了这个操作系统简洁清析的设,常我们能够接触到的linux发行版本的根目录大都是以下结构:
/bin /etc /lost+found /sbin /var /boot /root
/home /mnt /tmp /dev /lib /proc /usr
现在我将这些目录给大家做一个简要的介绍:
l /bin和/sbin
使用和维护UNIX和Linux系统的大部分基本程序都包含在/bin和/sbin里,这两个目录的名气之所以包含bin,是因为可执行的程序都是二进制文件(binar