学习Linux有前途吗

学习Linux的几点忠告(转贴)
我的图书馆
学习Linux的几点忠告(转贴)
学习Linux的几点忠告(转贴)&
可能是很老的帖子了吧............&
最近因为工作的需要和个人的兴趣,开始学习linux的知识,也转了不少的网站,许多问题在不同的地方得到了解决,进步是一方面,linuxer们的热情
对我也颇有触动。刚才看到楼下的同志在讨论为什么要学习linux,想到以前看的一个帖子,讲的就是这方面的问题,现在转贴出来给大家分享。&
可能是很老的帖子了吧,不知道以前有人贴过没有,看过了别骂我哦,一片好心............&
以下为转贴内容:&
##################################################################&
1、不要"玩&Linux"&
很多人用&Linux&的时候会感觉很迷茫,该用哪个发行呢?是不是我少装了什么?怎么升级这么快啊!怎么这么不稳定!每当遇到新的软件他就想试用,每当新的版本出现,他就更新,然后用鼠标在新的菜单里选择从来没见过的程序来用用。&
其实你是为了Linux而使用Linux,而没有找到正确的理由来利用&Linux。你首先要明确用电脑的目的,你用它是为了解决你的实际问题,而不是为了学习安装操作系统,不是为了测试哪个版本好用,不是为了"赶上潮流",更不是因为你硬盘太大了,你想多占点空间。&
如果你启动了电脑之后不知道应该干什么,那么最好先不要用电脑,因为你可能有更重要的事情需要做。&
2、不用挑剔发行版本&
很多人刚开始用&Linux&的时候,总是在怀疑别的发行版本是否比自己正在用的这个好,总是怀疑自己以后时候会失去支持,不得不换用别的发行。所以很多
人今天是&Redhat,明天又换成了&debian,&一会儿又是&gentoo,&......&甚至有的人在一台机器上装了两个版本
的&Linux,然后比较哪一个好。&
其实你完全没有必要这样做,任何发行,只要你熟悉了,你在上面的工作方式几乎是不会受到任何影响的。你常常听说&Debian&的更新
比&Redhat&快,包比&Redhat&多,但是你可以比&Debian&更新还要快,直接到你需要的程序的主站点下载源码来编译就是了。&
Debian,&TurboLinux,&SuSE,&Redhat,&Gentoo,&...&任何一个版本都是不错的。&
3、不要当"传教士"&
很多人在讨论区不断的引起&"Linux&vs.&Windows"&之类的讨论,甚至争的面红耳赤,这是没有必要的。因为各人的需要不同,生活的环境不
同,你不可能得到一个定论。我们需要尊重别人的选择,这是你在进行任何对工具的讨论前需要提醒自己的事情。面对一些容易引起争论的东
西:Word&和&TeX;Emacs&和&VIM;MAXIMA,Mathematica&和&Maple;Gnome,FVWM&和&KDE;Mutt&和&Pine&......&一
定要冷静。&
你需要关心的不是你的工具是什么,而是你用它做了什么。精通&Linux&并不说明任何问题,因为它只是一个工具而已。如果你用&Windows&能很好
的完成你的任务,那你就没有必要费时间去熟悉&Linux。直到有一天你发现一项任务只有&Linux&才能完成的时候再换也不迟,因为你身边
的&Linux&的爱好者一定会很乐意的帮助你。&
并不是喜欢一种东西就必须反对其它的。世界需要多样性,人们都需要FUN。用自己的兴趣去压制别人的,就会毁掉所有的兴趣。个人喜欢什么就用什么,完全没必要为这个争论。&
不要做"传教士"!你说我现在就是在"传教"?冤枉啊~&
4、直接从源码安装程序&
很多人放着最新的源码不用,等着有人帮他做出&rpm,&deb,&才能安装。我说你为什么不用源码编译,这样版本比&rpm&高的多,有很多新功能,而没有烦人的依赖关系。可是他说:"要是我用源码编译安装,卸载的时候就不方便了,会留下很多垃圾。"&
为什么程序还没有安装你就想到卸载?难道你不知道这个程序是用来做什么的?你应该改变到处找程序来试用的作法,而应该先了解一下到底那些程序有同样的功能,听听别人的意见,看看它们各有什么长处和短处,然后挑一个最适合你的程序来用。&
从源码编译安装程序,不但比你装rpm更适合自己的机器设置,而且它们一般会装到&/usr/local&目录,这样你以后如果换硬盘重装系统,也可以把
以前&/usr/local&下的程序原封不动拷贝过去用。我的&/usr/local&下有&2G&之多的程序,你想要是我有一台新机器要重新安装,然
后配置,得花费多少时间?实际上我曾经通过网络把它们传到一台新机器上,然后就出去吃晚饭,回来时我就得到了另一台一摸一样的&Linux&机器。&
确实要卸载&make&install&的程序怎么办呢?答案是直接删掉。别以为直接删掉程序会留下垃圾,引起"系统不稳定"。(btw:&这是谁教你的
啊?呵呵。)&make&install&无非就是把可执行程序放在&/usr/local/bin,&把某些函数库放在&/usr/local
/lib,把数据文件放在&/usr/local/share&下一个它自己的目录,你把这些东西都删掉就行了,不会留下垃圾,即使真的留下一点文件没有
删掉也占不了多少空间,更不可能引起系统不稳定。UNIX&就是这么简单&
但是有几个程序不建议从源码安装,它们是&Mozilla,&Open&Office,&...&它们编译时会占用你几个G的空间和好几个小时的时间,这种花费我觉得是不值得的,因为你不能从编译得到更多好处,不如直接安装编译好的版本。&
5、不要盲目升级&
不知道这是心理作用还是什么,有的人看到比较大的版本号,就会很想换成那个。很多人的&Redhat&本来配置的很舒服了,可是一旦&Redhat&发行
新的版本,他们就会尽快下载过来,然后选择升级安装。结果很多时候把自己原来修改得很好的配置文件给冲掉了。新的软件又带来了新的问题,比如有一次我
的&rxvt&升级到&2.7.8&就跟&miniChinput&冲突了,升级到&Redhat&8.0,发现&xmms&居然缺省不能放mp3
了,XFree86&的&xtt&模块在&I810&上有新的&bug,会导致&Mozilla&突然退出。&
如果你已经配置好了一切,千万别再整体升级了,这会浪费你很多很多时间的,不值得。如果需要的话,你可以只把某些部件升级,比如内核,glibc,&gcc,&XFree86,...&
使用&UNIX&的经典程序&
好的程序一般都是可以很方便的在很多种&UNIX&上移植的,bash,&VIM,&Emacs,&Mutt,&FVWM,&xterm,&都是这样。如
果你用这些程序,你就可以在&Sun,&HP,&...&等工作站上也装上,这样你在各种机型上的工作环境就几乎完全一样了!你不需要在&Sun&上面
用&CDE,在PC上又换成&KDE,在它们上面都装一个&FVWM,使用相同的配置文件,就能得到一致的界面。&
这些程序大部分都是久经考验的,是经过很多人多年开发的结果。它们功能完善,各种情况都考虑周全,绝对是你的好助手。&
6、不要配置你不需要的东西&
如果你只想做一个像我这样的普通用户,主要目的是用&Linux&来完成自己的科研任务和日常工作,那就可以不用系统管理员或者网络管理员的标准来要求自
己,因为当一个系统和网络管理员确实很辛苦。普通用户学习那些不经常用到的复杂的维护系统的工具,其实是浪费时间,学了不用是会很快忘记的!&
我不是一个合格的网络管理员,我的服务器都只设置了我自己需要的功能,设置好&ssh,&ftp&已经足够了,那样可以省去我很多麻烦。我从来不过度考
虑"安全",因为&Linux&缺省已经很安全了。我没有磁带机,就不用管&tar&的那些稀奇古怪的参数了,czf,&xzf,&ztf&已经可以满足
我所有的需要。sed,&awk,&...&我也只会几种常用的命令行。&
7、不用忙着看内核源码&
除非你想研究操作系统,否则还是先把怎么使用&Linux&掌握好再说吧。我以前看了那么多内核源代码,写了驱动程序,结果最后发现我还是一只很多事情不
能用&Linux&解决的菜鸟&吸取我的教训吧,你应该首先掌握&shell,Xwindow&的使用和原理,它们可不比内核简单。&
-&作者:&kxsong&日,&星期一&08:50 &回复(0)&| &引用(0)&加入博采&
&处理日常事务的&Linux&程序和它们的配置(转)&
下面列出我常用的一些&Linux&程序。一个列表里可能有很多,那是为了方便你来选择,我列出了比较信得过的。但其实很多只有第一个是我真正在用的,因为我不喜欢试用程序。
&标题:&处理日常事务的&Linux&程序和它们的配置 &&&
处理日常事务的&Linux&程序和它们的配置&
我一般在我的&PC&上使用&Linux&系统。&
下面列出我常用的一些&Linux&程序。一个列表里可能有很多,那是为了方便你来选择,我列出了比较信得过的。但其实很多只有第一个是我真正在用的,因为我不喜欢试用程序。&
Shell:&bash。它结合了&csh&和&ksh&的优点,并且有&readline&功能,你可以随意绑定自己的键盘,使用&emacs&或
者&vi&的方式都可以帮助你高效的输入命令行。info&bash&可以得到非常详细的&bash&说明书,为了高效的使用&bash,你最好看看这
个。你可以按照这个说明自己写一个&.bashrc,你还可以写一个&.inputrc&来配置&readline&库,这样其它使
用&readline&的程序也可以使用同样的方法输入,非常好。&
你可以看看我写的一个&readline介绍&。&
编辑器:&Emacs,&VIM。&
Emacs&是非常强大智能的编辑器,是世界上最强的,它有永远挖掘不完的能力。所以我当然推荐&Emacs。&Emacs&有很多种,你可以根据需要选
择&GNU&Emacs,&Emacs-Scheme,&XEmacs,&Edwin,&Hemlock,&...&我用的是&GNU&Emacs.&
VIM&是&vi&的改进,建议熟悉一下&VIM,因为很多其它程序比如&tin,&Mutt,&Firebird&BBS&使用类似&VIM&的键绑
定,VIM&的键帮定跟正则表达式很有关系,比如&"^"&和&"$"。在&UNIX&机器上,有时你被迫只能用&vi,而&vi&是&modal&的,
如果先熟悉了&Windows&的编辑器会比较难以接受&VIM&的工作方式,所以你需要适应一下。&
程序开发:&gcc,&make,&ld,&Scheme48,&CMU&CL,&j2sdk,&Perl,&Python,&Tcl/Tk&...&这
个的配置没什么好说的,自己用什么就去看看文档吧。管理项目可以
用&make,&automake,&autoconf,&autoheader,&...&内存泄漏就用&valgrind&检查。&
文档工具:LaTeX,&ConTeXt,&TeXmacs。LaTeX&可以用来写论文或者简单的幻灯片,ConTeXt&可以作出非常漂亮的屏幕文档。&
TeXmacs&可以非常舒服的,所见即所得(WYSIWYG)的编辑文档,它比&Word,WordPro,WPS,lyx&都要&WYSIWYG,它才是真正的WYSIWYG,非常漂亮。而且它是可以用&Guile/Scheme&配置的。&
绘图工具:MetaPost。它是一种精确的描述性的绘图语言。你也可以用&xfig,&dia&来画一些流程图之类的图片。xgraph&可以绘制简单
的数据图。Grace,&和gnuplot,&可以绘制复杂多样的数据图形,拟合曲线,柱状图,饼状图等东西。这里有一个&Grace&的抓图。&
图像处理:ImageMagick&中的&import&程序可以屏幕抓图,&convert&程序可以转换图像格式,display&可以显示图片和简
单编辑&(缩放,换质量,转格式,简单绘图,简单虑镜)。通常我就这么点需要。如果你要更强大的图像工具可以用&Gimp,&它几乎
和&Photoshop&差不多。自己&man&一下&import,&convert&就知道怎么用了,&display&显示图片后在图片上点击鼠标
会有菜单,很简单的,不多说了。&
图片显示浏览:gThumb,CompuPic。其中&gThumb&是完全的自由软件,浏览图片非常稳定方便。CompuPic&性能非常好,速度比&ACDSee&快&3&倍。但是注意&CompuPic&不是自由软件。&
数值计算程序:Octave。这个程序基本上可以实现&Matlab&所有的数值计算功能,而且语法跟&Matlab&一样。也有&Linux&版的&Matlab.&
代数计算程序:MAXIMA。这个程序基于世界上最老的计算机代数系统之一:&MACSYMA&系统。它是用&Common&Lisp&实现的。很多现在的符号计算程序比如&Maple&都从&MAXIMA&身上学到很多东西。&
我为&MAXIMA&写了一个简单的介绍,通过这个介绍你会发现&MAXIMA&的光辉历史,体会到自由软件的重要优势。MAXIMA现在以GPL发行,永远是一个自由软件。&
Linux&版本的&Mathematica&或者&Maple&也挺好的。&
加密程序:GnuPG。我的&PGP&密钥就是它搞出来的。不过说实话,我从来没有过用的着它的地方。&
打包,压缩程序。什么都有:&tar,&gzip,&bzip2,&zip,&rar,&...&对于&tar&通常你只需要知道3种参数:&zxf(解包),zcf(打包),&ztf(看包里有什么文件)。其它的就不多说了。&
虚拟光驱程序。Linux&不需要虚拟光驱程序,要看一个iso文件的内容,直接&mount&就行了。比
如&mount&-o&loop&mycd.iso&/mnt/cdrom。要把光盘做成一个iso文件,用dd就行了,比如如果你的光驱是&/dev
/hdb,那么:&dd&if=/dev/hdb&of=mycd.iso&就可以做一个光盘镜像文件叫做&mycd.iso.&
ftp&服务器:proftpd,&vsftpd。proftpd&功能很强,但是我只用了最简单的一种设置。&
WWW&服务器:apache。我曾经设置过&apache,但是发现它对我没有用,因为我的机器不会一直开着等别人来访问。所以虽然设置好了,但是一直闲置不用。&
ftp&客户程序:lftp,ncftp。它们都是文本方式操作的,但是比起图形界面的方便的多。比如&lftp&几乎具有&bash&的所有方便功
能,Tab&补全,bookmark,&queue,&后台下载,镜像......&Linux&也有图形界面的&ftp&客户程序,但是大多不稳定,有
很多问题。这就是很多人抱怨&Linux&不如&Windows&的一个小原因。还有很多人用&Wine&模拟&Windows&的&leapftp,其
实&lftp&比&leapftp&好很多,你需要的只是适应一下。它的工作方式很像&bash,所以建议你熟悉一下&bash。&
lftp&缺省不会显示&ftp&服务器的欢迎信息和错误信息,这在很多时候不方便,因为你有可能想知道这个服务器到底是因为没开机连不上,还是连接数已满。如果是这样,你可以在&~/.lftprc&里写入一行&
debug&3&就可以看到出错信息了。&
自动下载工具:wget。它非常稳定,有一次我下载一个程序,用&IE&和&Mozilla&下载回来的文件都是坏的,最后还是&wget&可靠的传输了
数据。用它甚至可以镜像整个网站,比起&WebZip&这样的&Windows&程序强多了,而且不会因为你不付钱就在下载回来的网页里强制插入广告。
info&wget&可以得到完整的使用说明。&
这里给出一个用&wget&下载我的整个网页的命令:&
wget&-r&-p&-np&-k&http://learn.tsinghua.edu.cn/homepage/015450/index.html&
虚拟终端:rxvt+screen。我在&rxvt&里启动一个&screen,&它可以把一个终端当成好几个来用,而且可以连通&console&和&X,远程和本机上的虚拟终端,功能非常强大。C-a&?&可以得到帮助。注意它的&detach&功能非常有用。&
X&server:&XFree86。如果你不了解&Xwindow,可以看看这个&理解Xwindow。&
窗口管理器:Sawfish,&FVWM。FVWM&编译最好加入&libstroke。详细使用方法见我的FVWM网页。&Sawfish&可以
用&LISP&设置,有关&Sawfish,请看这里。我对&WM&没有特别的要求,只要能设置几个热键,能够方便的打开终端窗口,设定窗口一直最上,热
键标记窗口就行了。&
中文输入:fcitx。它支持拼音,双拼,五笔和二笔输入。安装极其方便,不依赖任何特殊的库。另外推荐你还可以用&SCIM&等。&
email&处理:Mutt&+&sendmail(Postfix)&+&fetchmail。配置方法见我的&Mutt&网页。如果你觉得配置很麻
烦,而你的&email&通信量很少,其实可以用&web&登录你的信箱。如果你&email&订阅很多邮件列表,建议使用&gnus.&
看&PDF,&PS,&DJVU&文件:Acrobat&Reader,&xpdf,&GhostScript,&gv,&djvu工具包和&netscape&插件。它们都是可以免费得到的。&
看CAJ,&超星文档。CAJviewer&好像没有&Linux&版本,不知道为什么。&
页:Phoenix,&Mozilla,&Konqueror,&Galeon,&lynx,&w3m,&links,&...&Mozilla&和&Phoenix&的&Xft&显
示效果比&IE&好很多。不信可以看看我的屏幕抓图。&Phoenix&比&IE&和&Mozilla&都方便许多。看看我的&phoenix&抓图。&
英汉字典:dictd,&WordNet,IBM&智能词典,星际译王。dictd&是字典服务器,你可以到&dict.org去下载一个服务器和很多词
库。包括&Webster&1913,WordNet,&CIDE,&FOLDOC,&...&我还安装了英法,法英词典,甚至魔鬼词典&:P&
我的&Emacs&可以使用一个叫做&dictionary&的扩展连接字典服务器,我可以随时用鼠标右键查询词意,看这个抓图。我也可以使用屏幕取词功能,看看这个抓图。&
WordNet&是一个奇特的字典。你可以看看这个介绍。&
编辑网页:我用&Emacs&或者&VIM&直接写&HTML。这非常方便。你从上面的抓图就可以看出。你如果想要图形方式的可以用其它的比如&WebSphere,screem,&BlueFish,它们可以构造更复杂的网页。&
登录其它&UNIX,&Linux&机器:openSSH,&telnet。我喜欢用&openSSH&把其它机器的&X&程序通过&ssh&加密的隧道传到我机器上显示。&
登录&Windows2000&server&的&display&service:&rdesktop,...&我有一天试了一下,不错。后来就没有用过了。&
同步程序:rsync。我用&rsync&通过&ssh&来跟某些机器同步数据,或者做自己机器上不同目录间的同步。&
上BBS:rxvt(或任何一种终端)&+&telnet&+&chatbot(helloooo&机器人的程序)&
QQ,&ICQ,&MSN&messenger:&我没有&QQ,&ICQ&或&MSN。不过你可以用&Gaim,&它同时支
持&QQ,&ICQ,&MSN,&AIM&和很多其它的即时通信方式。ICQ&用户也可以用&Licq。Emacs&也
有&ICQ,&MSN&和&AIM&的插件,不知道现在有没有&QQ&的。&
放录像:MPlayer,&RealPlayer。MPlayer&太好了,直接就可以放&VCD,&DVD,&divx,&wma,&wmv&...&rm&最好还是用&realplayer&放,它也是免费的。&
放音乐:&xmms(mp3,ogg都可以),&mpg321(放mp3),&ogg123(放&ogg)。mpg321&不如&xmms&管理音乐文件那么方便,但是有时我还是用&mpg321&放&mp3&作为背景音乐,因为懒得开一个xmms窗口&:)&
游戏:我已经很久没有玩电子游戏了。不过我觉得&KDE&的那个&ksokoban(推箱子),很好玩。大型游戏比如&Quake&也有&Linux&版本。&
看&Word&文档或PPT。简单的就用&wvware&把它转成&HTML&看。&
wvware&可以在&http://www.wvware.com免费得到。&
wvHtml&--charset=gb2312&your.doc&your.html&
就可以把doc转成&HTML。经测试,能够正确处理汉字和图片。&
你可以让mutt调用&wvHtml&在自己的窗口里直接显示转换的&doc&文档。只需要在&~/.mailcap&文件加入:&
application/&wvHtml&--charset=gb2312&%s&-&|&lynx&--dump&-&
nametemplate=%s.&copiousoutput&
在&~/.muttrc&加入:&
auto_view&text/html&application/msword&
字处理。如果你真的要用字处理程序,那么就用&OpenOffice&里的&oowriter。&
使用&spreadsheet。我很少使用&spreadsheet,不过&OpenOffice&的&oocalc&应该能满足你的要求。看看&oocalc&打开一个&excel&文档的抓图。&
编辑复杂的幻灯片。可以用&OpenOffice&的&impress,&它可以正确编辑和显示&PPT&很很多其它幻灯格式。可以做出很多复杂的动画效果,投影显示效果也非常好。看看这个&抓图&就是&OpenOffice&打开一个别人的&ppt&文档的样子。&
兼容&Windows&程序。crossoffice&可以模拟运行包括&IE,&MS&Office,&Quicktime&在内的&Windows&程序。偶尔遇到专门为&IE&定制的网页就用&IE&打开它。&
专门为&Windows&定制的程序。重新启动到&Windows&系统是最简单的办法。目前我只有&MSC&DM-P128&MP3&机的驱动程序指定要在&Windows&下运行。
-&作者:&kxsong&日,&星期一&08:48 &回复(0)&| &引用(0)&加入博采&
&完全用GNU/Linux工作(转)&
这篇文章也不是用来比较&Linux&和&Windows&内核效率,文件系统,网络服务的。我现在是作为一个用户而不是一个开发者来说话的,我们的讨论
是基于操作,应用层面的。是为了告诉大学里还不了解,或者不理解&UNIX&的科学工作者和大学生,UNIX&比&Windows&更适合用于科学研究工
作,请大家理解&UNIX&的工作方式,不要用&Windows&的标准来要求&Linux,而要用一个科学工作者的标准来要求自己,用&UNIX&的思
想来武装自己。&
完全用GNU/Linux工作(转)&
提交人:mars&星期五,&&12:57&Unix/Linux相关&
完全用GNU/Linux工作,摈弃Windows低效率的工作方式&
ZT&(a&qinghua&student's&article)&
我已经半年没有使用&Windows&的方式工作了。Linux&高效的完成了我所有的工作。&
GNU/Linux&不是每个人都想用的。如果你只需要处理一般的事务,打游戏,那么你不需要了解下面这些了。&
我不是一个狂热的自由软件份子,虽然我很喜欢自由软件。这篇文章也不是用来推行自由软件运动的,虽然我觉得自由软件运动是非常好的。&
这篇文章也不是用来比较&Linux&和&Windows&内核效率,文件系统,网络服务的。我现在是作为一个用户而不是一个开发者来说话的,我们的讨论
是基于操作,应用层面的。是为了告诉大学里还不了解,或者不理解&UNIX&的科学工作者和大学生,UNIX&比&Windows&更适合用于科学研究工
作,请大家理解&UNIX&的工作方式,不要用&Windows&的标准来要求&Linux,而要用一个科学工作者的标准来要求自己,用&UNIX&的思
想来武装自己。&
我显然是反对在大学,特别是理工科专业推广&Windows&的。我也反对在对"娃娃"&们的计算机启蒙教育中使用&Windows。因
为&Windows&不论从技术上,经济上,思想风格上都是与我们培养高科技人才的目标格格不入的。Windows&的流行属于历史遗留问题,爷爷一级的
人当然已经不可救药,但是我们不应该让下一代继续走上歧途。&
UNIX&不是计算机专家的专利&
当我建议一些非计算机专业的人用&Linux&的时候,很多人说:"UNIX&是计算机系的人用的,我们不能理解。"&"UNIX&是男孩用的,我们女孩不用。"&
但是其实世界上的大多数科学家和工程师几乎用的都是&UNIX&作为他们的电脑工具。就因为它简单,可靠,稳定,强大,有趣。甚至很多时候&UNIX&就是唯一的选择。&
你说:"我们都会用&UNIX&的话,你们计算机专业的人还用来干什么?"&很容幸的告诉你,计算机专业的有一部分人就是专门为你们提供这样强大而方便的计算机工具的。如果他们制造的工具只有自己会用的话,那这个工具还有什么用?&
理解&GNU/Linux&不要用&Windows&的标准来要求&Linux。&
由于GNU/Linux这个词太长,下面如果没有特别指明,"Linux"就是指"GNU/Linux"。&
在这个年代,恐怕没有人需要我来介绍&Linux&是什么了吧?如果你觉得"Linux&只不过是跟&DOS&差不多的东西",那请问问你旁边的&Linux&用户,Linux&到底是什么?&
那为什么我还要写一篇这样的文章?因为,我发现还有很多人不不理解&Linux&和&UNIX,虽然他们也在用它,但是他们有时会问:"为什
么&Linux&不能像&Windows&那样&......?","怎么Redhat&Linux不能&mount&NTFS&分
区!","Linux&下用什么整理硬盘?","什么时候OpenOffice才能完全兼容Word文件啊?","现在还有什么Windows能干的事情
Linux干不了的?"......&
他们有40G的硬盘,却只为&Linux&分配了2G空间,有时还抱怨"这个东西怎么占这么多硬盘!"&似乎&Windows&该占用大部分硬盘。他们把
重要的数据装在Windows的分区,似乎信不过Linux。他们总是到处寻找新奇的,好看的GUI程序,对命令行的东西一概不屑一顾。他们对
Drag&Drop,菜单配置,自动升级非常感兴趣。他们如果找到一个很像&Windows&程序的&Linux&程序,一定会很高兴的说:"哈
哈!Linux&也能......了!"&
如果Linux在某种测试中胜过Windows,他们会高兴得跳起来。他们没有办法用Linux解决问题的时候,甚至用Wine来运行Windows程
序。有时实在没办法,只好重起到Windows,或者干脆省得麻烦,在&Windows&下装一个&VMWare&虚拟一个&Linux&玩。&
你如果出现了上面的情况,说明你的思想受到了&Windows&的某种潜移默化的影响和误导。你没有能够从本质上理解存在于&Linux&身上
的&UNIX&思想。你支持&Linux,你喜欢&Linux,你能从中感觉到快乐,这非常好。你现在只需要明白的是:Linux&从来就不是一个玩具,
它是天才UNIX的后代。UNIX&是自晶体管发明以来最伟大的发明,它从诞生那一天开始就比&Windows&的设计出色。&
你要体会什么叫做"设计",一个糟糕的设计并不是到后来缝缝补补就可以变好的,而一个出色的设计,不但可以以不变应万变,而且可以影响到后来者。一个出色的设计配上一个出色的实现,那就是非常出色的发明。Linux&就是这样的一个出色的发明。&
Linux&并不需要追赶&Windows,也不需要打垮微软。它的最终目标是改变整个计算机世界,还人们自由,给人们乐趣和方便。&
Unix&是简单的,你不需要成为一个天才也能理解这种简单。&
UNIX&的设计
者&Dennis&Ritchie&说:"Unix&is&simple.&It&just&takes&a&genius&to&understand&its&simplicity."&但
是我不这么认为,因为我不是一个天才,但是我却勇敢的把&Windows&完全删除掉,遇到不明白的事情的时候努力用&UNIX&的方式去解决,而不是寻
求&Windows&的帮助。现在我体会到了&UNIX&的思想和好处,我可以用比&Windows&高效几倍的效率工作。因为我相信这样的信
念:"Windows&能办到的事&Linux&一定能办到,而且办的更好。"&
这小节开头的话应该改成:"Unix&是简单的,你不需要成为一个天才或是计算机专家。但是在这个冲斥着&Windows&错误观念的世界,你需要信念和
勇气才能理解它的简单。"&我下面就告诉你一些我理解到的东西。首先,你要知道的是微软在国际科学领域是根本没有地位的。&
微软的地位&
微软的名声在欧洲和美国的大学里,特别是在计算机系里之坏,大家可能有所耳闻。我认识的&MIT,Stanford&的教授,贝尔实验室的专家,甚至一个
欧洲小国的高中计算机老师都绝口不提微软的名字。在他们眼里,微软只是一个没有真技术,专靠在落后国家商业宣传和垄断经营的小公司。这个"小"并不是说它
人少,钱少,而是说它先进技术少。&
我上次和王益合作写了一个算法演示程序,那个算法是贝尔实验室一位科学家Steven&Fortune很天才的发明,为了程序能够被身边大多数人使用,我
们选择了&VC+MFC&作为平台。我在分析算法时还得到&Fortune&很热情的鼓励,寄给我一份资料,还多次回信耐心的给我讲解了很多细节。但是程
序完成之后,我把样品发给&Fortune,他回信说:"对不起。我机器上没有&MFC。"&话说的很客气,但是我已经感觉到了他对&Windows&的
不屑。然后我把&MFC&静态编译进程序再发给他,他就没有再回信了。他显然不是瞧不起我,而是确实有难处。&
你能感觉到这位科学家对微软和&Windows&是什么态度了吧?不是反感,而是他心里根本没有&Windows&这个东西!微软在高科技领域没有发展,
那么它怎么生存呢?到发展中国家去发展一下,他们的人民还对电脑一无所知,我说不定甚至可以打入大学的计算机系呢。我送他们软件,我捐钱盖大楼,我出钱找
图灵奖获得者来演讲,让他们觉得我们都是科学家!&
好了,现在全国的大学包括清华,几乎所有人机器必装盗版&Win2000,Office&XP,学校的选课系统是非IE不能正确浏览,论文
用&Word&编辑,演示用ppt做,email&的通知附件是&doc&文件,你不用&Word&打不开,连&863&项目都用&VC&写程序了。我很
久以前就看到一份报纸说,"微软为什么不严厉打击盗版?"&这篇文章说,微软非但不打击中国的盗版行为,而且有放任之趋势。放长线吊大鱼,"以后我要你们
加倍的来还我!"&确实如此,它的目的快实现了。&
Windows&笼罩下的中国计算机教育&
说句丢脸的话,比尔盖茨很久以前是我的偶像......&//blush&
在中国,比尔盖茨被很多人奉为神圣,"少年电脑天才",甚至有的人提到他的名字就做出"抱拳对天"的姿势。很多人谈到微软的"新技术","高科技"&都是
眉飞色舞。各种"VC编程圣经","深入了解&Visual&C++"之类的书,在开头几页都会出现非常肉麻的字眼,"在那团团的混沌中,一个开天辟地的
精灵,Windows&1.0,诞生了......"&
微软的软件被这么多人盗用,那么人们是怎样使用这些盗版程序的呢?先看看电脑培训班,教的都是一些&DOS&命令,打字,Windows&基本操
作,Word&文档处理,PowerPoint,高级班可能有&Excel,Access......&参加各种微软认证考试,MCSE,MSDE&的人
络绎不绝。考试辅导班都贴出了"280元,考过为止"之类的字样。考试参考资料更是昂贵,有些电脑书店整整两书架都是"Microsoft&Press"
的东西。我有个同学参加认证考试,每门考试都要200多元。而且你一次考不过可以再考,又要交钱。他后来还津&
津乐道跟我说,看我,花了XXXX(一个四位数)元考过了微软认证,得到一张比尔盖茨亲笔签名的证书和价值6000元的&Windows&XP&内部发行版。&
"电脑要从娃娃抓起",我们再来看看娃娃们学的是什么。大部分家长给孩子买了电脑之后,他们首先就会装一个盗版的&Windows,然后买来盗版的游戏开
始玩。如果哪个孩子会用&Delphi&编程序,那可不得了。报社记者,电视台争相报导,说,某某学校的初中生某某,在别人都还在玩电脑游戏这种"初级阶
段"的时候就已经用&Delphi&写程序了。镜头还瞄准了他显示器上面的像框中的比尔盖茨头像!&
我刚进入大学计算机系时还不懂得什么是操作系统,因为我以前只用过"中华学习机"。看到新入学的同学们各个谈论的都
是&"Windows&95","VC"......&我简直觉得我落后了好几十年一样,整个一土人,根本跟他们答不上话。好不容易找到一个比较熟的同学
问了一下:"你们天天谈论的瘟95是什么啊?"答:&"win95就是一个操作系统,跟DOS是一类。""朵死是什么?"&"你连DOS都不知道是什么?
别在计算机系混了。"&
学校上课当然不讲&VC编程之类的东西,但是上&Pascal&的老师有一次就说:"嗨,我们学校真是落后。现在别人都用&C,&C++,甚
至&VC&了,我们还在讲&Pascal。不知道什么时候才能有VC课啊。你们出去也是要用VC的,只好自学了。"&于是,有些同学很多时候上课都捧着一
本很重的"Windows&编程大全"之类的书,根本没有听课。吃饭时就念念有词的跟我说,"代码的优化是无止境的","匈牙利命名法真是伟大的发&
明"&......&这就是中国很多大学计算机系的情况。&
感觉到无知了?这不是偶然的,而是微软长久以来埋下的伏笔。它要让无知的大家都把它奉为神圣,它要让支持UNIX,Xwindow的人一旦
说&UNIX&好,Xwindow&好的时候,都被一群人围着说教:"这个&Windows&也能做到","你对&Windows&有偏见","微软才是
主流啊","你敢瞧不起&win2k?",".NET&就是世界潮流","微软的毕竟是新技术","有钱就是有技术"......&甚至在一番论战比较后
败下来还是要说:&
"Windows&性能差点,但是易用性强","Windows&是老百姓用的,要求别那么高","微软那么有钱,以后想超过&UNIX&还不容易吗?"......&
发达国家的计算机教育&
我前段时间在&USENET&发文问有关&Scheme&语言的问题时,认识了一位丹麦人。他解决了我所有的问题,并且建议我阅读一些很"深奥"的有关程
序语言语法,文法的书,他告诉我很多网站可以学习&LISP,Scheme,人工智能,算法。他叫我看&Jonathan&Rees&的论
文&"Syntactic&Closures"。他还打包给我寄过来一份&MIT&的&"How&to&Design&Programs"。他说他在自己
的&PC&机上装的是&Linux,他用&Emacs&编辑,运行&Scheme&程序。他对&Emacs&的了解和爱好真是使人惊讶。他大学本科毕业时
设计是一个&Scheme&解释器。这对于我来说是望尘末及了。&
他是那么的不厌其烦,我的每一个问题他都详细的回答。我有时都觉得过于详细了,怎么这么耐心啊?我觉得他似乎是我的高中老师。他是什么样的人呢?我好奇的打听了他的情况。原来,他是丹麦一所普通高中的计算机老师。&
他说他在高中里讲授程序设计和算法,计算机语言文法。他说用&Scheme,他的学生不用再为内存泄漏等程序语言本身的问题而烦恼,而专注于问题和算法本身。有利于培养学生解决问题的能力,特别是用计算机解决数学问题的能力。&
天哪!为什么欧洲出现那么多数学家,几何学家?你看看别人重视的是什么!我们的计算机教育如果继续这样下去,只会沿着弯路越走越远!&
微软和它的朋友们的如意算盘&
下面来看看微软的收入是怎么来的。首先,Windows&98系列操作系统,一个就是&100&多美元,每次升级又是几乎同样的价钱。
Windows&NT&还要贵几倍,而且有用户数目限制,5个用户的,10个用户的......&以后如果要增加用户数目还要按比例付钱。&
花了如此多钱买来的操作系统就能用了吗?它竟然连压缩程序都没有提供!你装上&Windows&之后一般第一件事就是去下载一个&WinZip&吧,"只
要&29&美元"。Windows&会中病毒啊,马上花&70&美元买一个&Norton&AntiVirus&吧。还有黑客呢?再买一
个&Norton&Internet&Security&好了,100&美元。系统需要优化,磁盘需要整理,买一
个&Norton&System&Works&是你最佳的解决方案,100美元。&
可是你现在还是不能干正事啊!你想要一个&Word,&PowerPoint?那就买一套&Office&XP&吧,一起买便宜些,$459.90。&
那些程序不会用啊!那些菜单怎么设置,到底有什么功能啊?看"帮助"也学不会。买本书看看吧,我推
荐"Special&Edition&Using&Microsoft&Office&XP",不贵,$27.99。这本书里面大部分是屏幕抓图,还是买
一本旧的比较划算,$17.85。&
你如果只是当个秘书,上面的差不多还凑合了。可是你有更高的追求,你想成为&Windows&程序员。首先买一个&Visual&Studio.NET&吧,要不然怎么编译程序。$494.95。&
为了紧跟微软动向,世界潮流,不能不注册个&MSDN&什么的吧?这个贵一点,不过物有所值啊,$2,799。&
嗯,你现在已经是上层阶级,白领人士了。你现在可以像这样"自由"的,"安全"的生活了:&
为什么要反对使用&Windows&
很多人都说不应该完全否定&Window,Windows&也有它的长处。不应该骂微软。&
对。Windows&容易操作,适合普通用户。如果微软把它自己定位在&P&G,Philips&那样的地位,能够给我们的百姓提供周到的,完善的,价廉物美的服务。那我肯定是很喜欢它的。&
但是从上面的种种情况说明,微软是一个野心极大的国际垄断组织!它的产品没有一个是不出问题的:Windows&不稳定,容易中病毒,而微软不为大家免费
提供杀毒软件。我就是要让你们花钱买我的朋友&Symantec&的杀毒软件,谁叫你们已经上了我的贼船?这叫什么售后服务啊!&
你买来微软的程序,安装的时候一般都有一个协议,说:"由于微软的程序造成你的数据损坏或丢失,微软概不负责。"&我想很多人肯定觉得这个不合理,不想按
那个&"I&accept"。但是你的软件买都买来了,钱都花了,现在一按&"I&decline",安装程序马上就会退出。你只好被迫点击
了&"I&accept"!这不是不平等条约吗?&
我已经目睹了好几个朋友的文档被&Microsoft&Word&损坏,有的是编辑了十多天的30多页的论文,有的是费了很大工夫做出来的个人简历,那个
朋友为此失去了到自己向往的&P&G&工作的机会。就在他要投简历的前一个晚上,就在那一瞬间......&不知道他痛哭的时候有没有想起要投诉
微软,可是谁叫我们用的都是盗版呢,况且你还点击了&"I&accept"。&
微软仗势已经占有大部分PC市场,制定不符合国际标准的"微软的标准",以不合理的方式压制其它公司的软件,这个问题已经在美国司法部闹了很久了。他甚至
在&Windows&系列操作系统中放置能够通过网络泄漏用户信息的代码,以至于&Windows&刚进入澳大利亚时被澳大利亚政府禁止使用。&
有些人说:"微软毕竟开创了一个历史,造就了今天的&IT&行业。"&但是,如果没有微软,我们今天早就用上非常稳定,非常可靠,非常方便,非常"傻瓜"的软件了!微软是阻挡信息技术发展的罪魁祸首。&
微软的程序的工作方式(注意,我只是说操作方式,病毒的事情另外算)确实适合于一般家庭,上上网,发发邮件,打打游戏都不错。可是微软却要把自己包装成什
么&"高科技"企业,要在世界各地设置"研究院",在大学计算机系赠送不适合用于科研的&Windows&产品,甚至出钱请图灵奖得主来中国畅谈"二十一
世纪的计算",还在大会上宣传自己的&.NET&技术。非要把别人认为自己是科学的,自己是领导世界高科技的。但是呢?它&
什么高科技也没有。欧洲,美国,哪一个关键部门在用微软的东西?NASA?&DOE?&CERN?&你仔细想一想,微软的程序对人类到底有什么重大作用?&
什么是&Windows&能干而&Linux&干不了的事情?---&
"Windows&能干而&Linux&干不了的事情,那就是不需要干的事情。"&
有个朋友看我半年没有用&Windows,有时就会问我:"你只用&Linux,有没有发现有些Windows&能处理的事情&Linux&干不了?"---&
我回答说:"Windows&能干而&Linux&干不了的事情,那就是不需要干的事情。"&
Windows&能做的有益的事情&Linux&都能做---&
Windows&下的某些功能确实是我们需要的,那么&Linux&的开发者们和用户也需要这种功能,他们就会去实现这种功能,而且
比&Windows&的方式好得多。由于大多数科学家,工程师用的都是&Linux&或者某种商业&UNIX,&所以几乎所有商业的科学工程程序,比
如&Matlab,&Mathematica,&AutoCAD,&Candence的,Synopsys的,Avant!&的......全都是先
有&UNIX&的版本(包括Linux),然后再考虑移植给&Windows,甚至根本不移植给&Windows,&
因为&Windows&的机器一般没有足够的能力运行这样的程序。你不要以为只有&Windows&才有&PSpice,&UNIX&的&HSpice&要好得多,而且可以运行在大型主机上。当然它们不是免费的,但是它们值那个价钱。&
但是&Windows&下有些东西在&Linux&下没有很相似的,或者你找到很多类似的,但是它们每一个比起&Windows&的那个程序都要差很多,那么原因有两种可能性:&
有一个完全类似的程序,但是由于它乍一看不漂亮,被你忽略了。而其它程序虽然看起来很漂亮,但是它们是一些初学编程的人写的。现在由
于&Gtk,&Qt&的诞生,Linux&下开发图形界面程序极其简单,很多初中生甚至小学生都可以随手编出一些漂亮不中用的程序。如果你整天寻找这样的
程序挑来挑去,永远也找不到你满意的。当然也有一流的程序用&Gtk&和&Qt,比如&GVIM&就可以用&Gtk&作为图形界面,我还知
道&Synopsys&一些&
程序用了&Qt。&
我曾经也犯过这样的错误,从外表区分一切。结果优秀的&FVWM,&lftp,&Mutt,&wget&都被我忽略过。当我找回它们的时候,我是那么的羞
愧不已,它们现在都是我的朋友&我第一次看到&FVWM&觉得它只不过是一个有很厚很难看边框的东西。可是现在,我的同学看到&FVWM&都说:"哇!真
有另一种完全不同的方式可以达到相同的目的,甚至更好。&
很多人很关心&Open&Office,&Star&Office,&AbiWord,&...&他们多么盼望有一天某一个&Linux&程序能够完全兼
容的打开一个复杂的&doc&文档。但是你永远也不可能有那一天。为什么呢?因为微软为了占有市场,必定不会让其它系统的程序能够完全兼容它的文档格式。
它一定会不断变化&doc&文档的内部结构,隐藏一些秘密,让其它公司的程序打开&doc&文档时总是有某种问题,从而你必需购
买&Microsoft&Office&和&Windows。&
你应该想一下,那么多的高智商的大学教授,科学家,学生,他们用的都是&Linux&或者其它类型的&UNIX,他们没有&Word&可用,怎么处理文档呢?这么多年没有一个像&Open&Office&的程序出现,难道大家没有办法写文档吗?&
显然不是这样。你看看那些高水平的学术杂志,论文,那些大学教授的网页,那些漂亮的幻灯片,它们是什么做的?原来&UNIX&用户早就有非常方便
的&troff,&LaTeX,&SGML&等东西可以处理文档,而且它们比起&Word&都要高明的多。Word&显然被这些大拿忽略了,以至于很久以
来没有人想在&Linux&下开发一个类似&Word&的程序,除非某些公司想抢微软的饭碗。&
很多人留着&Windows&在硬盘上的原因无非是为了用&Word&和&PowerPoint。我见过一个教授,他的&Windows&笔记本电脑上除了&PowerPoint&什么都没有。有一天演示的时候,&
他指着堆乱字符说:"对不起,这是一个公式......怎么每次都是这样......"&其实有比&PowerPoint&好几百倍的东西可以制造幻灯
片,你可以用最简单的方法制造世界一流效果的论文和幻灯片。你待会儿可以看看我的TeX网页,你就会知道为什么我可以完全离开&Windows。&
Windows&能做的那些没用的事情&Linux&永远做不好&
有些人说&Linux&下不能玩&Windows&下所能得到的所有游戏。的确,Linux&下虽然也有少量的游戏,比如&Quake。但是它没有&Counter&Strike,&没有&Star&Craft,&......&
并不是说电脑游戏不该玩,但是应该适可而止。电脑是用来处理事务,帮助你学习,解决问题的工具,而不是一个玩具!整天沉迷于电脑游戏中,而不出去感觉外面的世界,你会变得越来越冷酷,越来越缺乏人情味。你与真实的世界越来越远。&
你可以在&CS&里杀人,你可以在&Tomb&Raider&里探险,你甚至可以在&Tony&Hawk's&Pro&Skaters&里滑
板......&但是&It's&not&real!你虽然有很高的"反恐技巧",但是遇到歹徒的时候,你是那么的怯懦;你虽然控制&Laura&伸手敏
捷,但是你打篮球的时候怎么总是被人断球?你虽然可以轻易的在&THPS&里作出一
个&"360&kickflip&to&hangten&grind&to&fakie",但是你踩在自己的滑板上的时候还不会&ollie!&
说回来,如果你偶尔玩一下电脑游戏未尝不可。但是世界上有远比&Windows&+&PC&更好的游戏方式。
Sony&的&PlayStation2,&SEGA&的&DreamCast,&Nintendo&的&N64,Namco&的街机......每一个
都比&Windows&游戏精彩,每一个都有如此高的3D性能,以至于&Pentium4,&Itanium&+&GForce4&都无法与它们比美!&
Linux&的用户们都是关心解决世界的关键问题的份子,他们哪里有时间用自己的机器来玩游戏啊?他们每天用Linux高效的做完自己的工作就到阳光下享
受自然去了。要玩游戏也是玩一些类似推箱子,贪吃蛇之类的智力小游戏。所以,你知道为什么&Linux&几乎没有游戏了吧?&
"整理硬盘,优化系统"&
这是一个非常有意思的话题,仅次于有关"病毒"的话题。相信很多&Windows&用户都有整理硬盘的经历。在很多&Windows&用户眼里,"硬盘用久了,会出现碎片,速度会减慢,需要一个程序来整理,整理硬盘的时候不要做其它工作",这好像是天经地义的事情。&
我也曾经津津有味的看着&Norton&Defrag&一点一点的把我的硬盘排序,调整,用图形的方式显示出来,然后报告:"100%&没有碎片。你的硬盘现在已经达到最佳状态。"&我现在才发觉我那时是多么的幼稚。&
Linux&和&UNIX&用户似乎从来没有"整理硬盘"这种说法呢?你觉得很奇怪吗?如果你觉得很奇怪,那说明你的思想在某种程度上被微软的垃圾程序禁锢了。你需要明白,&
UNIX&的大型主机很多必须是一天24小时,一年365又1/4天不停运转的,要是每个星期都要整理一次硬盘,在整理的时候几乎不能干任何事情,那是绝对行不通的!&
Linux&机器根本不用整理硬盘,这就是为什么没有看到过&Linux&用户整理硬盘。Linux&的文件系统是
比&Windows&的&FAT,&FAT32,&NTFS&高明得多的文件系统,它们不但可以对文件设置权限,实施完全的保护,而且可以"越用越整
齐","越用碎片越少"!&
你应该把文件大部分放在&Linux&的分区,而不是&Windows&分区,因为它比&Windows&分区可靠得多。&
还有更滑稽的事情就是有很多"Norton&System&Doctor","Windows&优化大师","超级兔仔注册表魔法"&之类的程序存在,而且价格昂贵。似乎一个操作系统本来应该有很多问题,需要别的厂商做程序来"优化"它,而且为了得到优化,你需要付钱!&
这些问题&Linux&根本就没有,所以不需要什么优化。Linux&内核本身就是高度优化的。&
有些人在抱怨为什么&Linux&没有一个良好的&IDE&开发环境。Linux&现在已经有一些&IDE&了,但是总是有很多问题。你是不是正在寻找,
正在期望&Linux&某一天可以有一个VC那样的开发环境?你有没有发现你正在进入微软给你设下的怪圈?你为什么一定要用&IDE?你说:"IDE&开
发迅速,调试方便,适合大型程序......"&那说明微软的程序在你脑子里已经比较根深蒂固,你需要好好清醒一下了,看看我来告诉你。&
高明的&UNIX&程序员不用&IDE,IDE&从来就是给初级&Windows&程序员用的。&
你看看大型的&UNIX&程序,包括&Linux&内核,各种网络服务程序,Xwindow&程序在内,哪一个是&IDE&搞出来的?我们实验室
的&EDA&程序也没有一个是&IDE&弄的,我还知道Candence,&Synopsys,Mentor&的高性能的图形界面&EDA&程序也都不
是&IDE&写的。你信不信,微软的人在写&Windows&本身的时候也根本不用&IDE。微软内部程序员最喜欢的编辑器其实是&VIM,
用&VIM&的微软程序员上次向乌干达的可怜儿童捐助了1000多&
美元,这是值得称赞的。&
有一次某杂志采访一些出名的&Linux&内核程序员,包括&Linus&在内,没有一个人用&IDE,有的人用&VIM,有的用&Emacs,只
有&Linus&说"GNU&Emacs&is&evil",但是其实他用的是一种跟&Emacs&有同样键绑定功能的&MicroEmacs。大家都是
用编辑器编辑了程序文件,然后用&make&这样的自动工具调用&gcc&编译器完成编译工作的。甚至高级&
的&Windows&程序员也不用&IDE,他们可以从命令行调用&cl,nmake&来编译自己的程序。虽然这样的&Windows&程序员很少,但是他们却是最了解&Windows,最高明的&Windows&程序员。&
为什么&UNIX&程序员不用&IDE?明白了这个道理你就能体会到&UNIX&的设计思想了。首先,一个&IDE&集成了编辑器,编译器,汇编器,调试
器,跟踪器......&这个编辑器功能肯定比不上&VIM&或&Emacs,编译器比不上&GCC,汇编器比不上&as,调试器比不
上&gdb,&ddd,&跟踪器比不上&strace,&ltrace,&truss。你得到的是一套整合的低能的程序。如果你对调试器的功能不满意,你
只好换用另外一套&IDE,但是这套&IDE&的热键,菜单,&
编辑器功能,按钮......&跟原来那个有很大不同。你不得不花很多时间来熟悉新的环境,而不能保持原来的某些东西。&
而在&UNIX&下就不一样了。你可以用你最喜欢的&VIM&编辑程序,你在&VIM&里可以调用&GNU&make,make&可以调
用&gcc,&ld,&...&make&的出错信息可以被&VIM&捕获,VIM&能帮你在源程序里定位。你如果喜欢&icc,&你可以
让&make&用&icc&而不是&gcc。你如果觉得&gdb&跟踪变量时比较麻烦,你可以用&ddd&来显示各种数据结构之间的关系。你还可以
在&Emacs&里调用&gdb,那样就可以同步显示源代码了。而且&VIM&和&Emacs&还可&
以编辑很多其它东西,比如信件,LaTeX&文档,HTML,配置文件......&你不用另外找一个什么编辑器来干这些杂活了。很多程序比
如&Mutt,&tin&都可以在内部使用&VIM,这样就更方便了。实际上&make&在其它方面还能帮你很多忙,我的每一个比较大型
的&LaTeX&文档都是用&make&维护的。&
Linux&能干的高精尖的事情&Windows&都干不了&
当然有很多事情是Linux/UNIX的专利了。因为&Windows&只能装在&PC&机上,好像以前也有&Alpha&可以使
用&Windows&NT,但是就是没见到有人用。PC&机的能力是很低的,像我们编程序处理&NP-Hard&问题的人,用&Windows&的机器显
然速度不够,而且有时一个问题算上几天甚至几个星期,Windows&机器是以"死机"著称的,我们怎么能放心?&
所以几乎所有科学计算程序,EDA&程序,高性能图像处理程序都不是&Windows&的。他们有时也会移植一些给&Windows,但是常常降低那些程序的能力。你比较过&Windows&版本的&Mathematica&和&Linux&的有什么区别吗?&
IBM&制造的最大的并行计算机有&8000&多个处理器,Windows&不可能有能力管理这么多处理器,它用的是什么操作系统?答案是&Linux。&
《泰坦尼克号》电影里的三维动画,那么细腻逼真,Windows机器能做出来吗?不行。那也是&Linux&机器做的。&
民航总局用来训练地情人员的虚拟现实训练设备,Windows&当然无能为力。那都是商业的&IRIX&机器。&
UNIX&是最早支持&TCP/IP&网络协议的系统。它上面有很多可以互相协作的网络服务程序,它们经过多年的使用和修订,已经达到比较完善的程度。而
就在1997年,微软的比尔盖茨还在扬言:"Internet&是没有前途的。"&微软的这个"远见卓识"大家应该都已见识,它后来加上的网络服务程序
IIS漏洞之多,让公安部都频频发出警报,大家也是见识了的。&
其实你知道了,Windows&没有一样有用的事情能比&UNIX&干的更好。&
Linux&干不了的有用的事情&Windows&照样干不了&
当然&Linux&不是万能的。它也有不能干的事情,电脑也有干不了的事情。但是&Linux&干不了的事情,Windows&肯定也干不了。这些事情就是我们需要探索,需要努力的事情了。在你探索的过程中,Linux&必定是你的好伙伴。&
不要把Linux和Xwindow掩盖起来!不要把我们的用户当成傻瓜。&
什么?你早就知道&Windows&是垃圾?噢!你怎么不早说呢!害我废话这么多。嘿嘿。&
"好了。你知道&Windows&是垃圾,你现在用什么?"&
"Linux&+&Xwindow"&
"那我问你,Xwindow&是什么样的?"&
"不就是跟&Windows&差不多吗?只不过&'Start'&按钮比较方,而且上面不是一个Windows&标志,而是一个脚丫子。点击一下居然还有很漂亮的中文菜单。我喜欢!"&
"你知道什么是‘根窗口'吗?"&
"不知道。从来没听说过呢?"&
"根窗口就是遮盖整个屏幕的那个最大的窗口。"&
"哪儿有什么窗口啊!我没有看到呢?"&
你发现了问题吗?这些&Linux&用户说是在用&Linux&和&Xwindow,但是他们对&Linux和&Xwindow&几乎完全不了解。很多人
用了那么久&Xwindow&都不知道根窗口是什么东西,不知道其实按钮也是窗口,不知道窗口管理器和其它程序有什么关系,大家都以为窗口上面的按钮是程
序自己放上去的,不知道窗口的&"class&name","resource&name"是什么东西。他们也不知道&.Xdefaults&是用来干什
么的。特别是他们很多人都不知道&Xwindow&的字体是如何命名的,什么是&fontset,有了一个新的字体也不&
知道怎么安装。&
他们被遮在&Linux&之上的一层一层的包装迷惑了,他们等待有图形界面的工具来帮助完成一切事情,他们认为&Linux&跟&Windows&一样,
只是麻烦一点。他们知道&Linux&内核很好,但是他们感觉不到&Linux&和&Xwindow&在操作层面的天生的先进性,随后不久就
把&Linux&完全删除掉了。你发现没有,要用户理解&UNIX&和&Xwindow&的操作层面的先进性,才是留住用户的最好办法。如果用户体会不到
操作时的方便和高效,内核再好他们也不会理会。&
但是用摹仿&Windows&的作法来吸引用户,永远会失败的。因为&Linux&如果摹仿&Windows&那一套低效率的方式,那么&Linux&的
这套"低效率方式"永远比不上&Windows&的那一套"低效率方式"。那么用户就会说:"这个&Linux,没有一样比的上&Windows。"&
Linux&天生就是继承了&UNIX&的高效的工作方式,为什么我们要把它掩盖起来?我们为什么只告诉用户&KDE&的菜单怎么用?我们为什么不能像早
期的&Xwindow&书籍那样第一节就告诉用户什么是&X&server,&什么是&X&client,什么是&Window&Manager,&什么
是根窗口。第二章就告诉用户窗口有哪些属性,什么是&classname,&resource&name,&hint,怎样使
用&.Xdefaults,&xrdb&......&
在这里我又不得不说一下那些&Linux&的发行公司和写书的人,他们把&Linux&和&Xwindow&包装起来,却没有从基本上告诉用
户&Xwindow&的工作原理。很多书籍讲授的层次就是在&Gnome,&KDE&的菜单操作的层次,靠大量抓图来占篇幅,"繁荣"Linux&书籍市
现在很多人已经把能够利用别人的库写出一个好看的程序作为自己编程水平的象征。在这个"图形化","可视化"&的年代,你如果还在
用&troff,&LaTeX&写文档,你还在用&VIM&自己编辑&HTML,用&Mutt&处理邮件,你还在用文本模式的&gdb&调试程序,你还在
用&Xlib&写程序,&你还在用&tin&上&USENET,你还在自己写&Makefile,写机器代码,你还在&
玩&Clossal&Cave&这样的字符模式冒险游戏,那你就是老古董。&
其实这种思想是错误的。虽然你是一个坚决的&Linux&支持者,但是你的思想是&Windows&的思想。你认为图形界面,菜单,按钮就可以解决一切问
题,就可以给你高效方便。你还是没能摆脱微软给你的潜移默化的东西。你其实离不开&Windows&那样的环境,你迟早会删掉自己的&Linux。&
GUI&vs.&CLI&
做一个坚定不移的"两面派"&
大家看到这个标题是不是热血沸腾?两派大虾都可以围攻我了:&
GUI派用户:"哇!我一看你这小子就是&CLI&的。要不然自己写什么&Makefile?用什么&Mutt?"&
CLI派用户:"切~&你还用&X!高手都不用&X。你是&GUI&那边的。"&
可怜的我:"555~~&你们都不要我~~&GUI&和&CLI&就那么水火不容吗?"&
计算机界这样的门派之分还很多。很有特点的就是&CLI&和&GUI&了。CLI&(Command&LIne)&的狂热份子声称永远不用&X。我上次在
实验室看到一个同学用一个&SecureCRT&登录到&Sun&机器,然后用一个&vanilla&vi&编辑程序,我建议他启动一个&GVIM&过来
显示在&Exceed&上可以有语法加亮。但是他坚决反对,说:"高手不用X。你想想,要是我在一个很慢的网络连接怎么用&X?而且好多服务器没有
装&X&程序。"&
但是我们实验室的网速可够快,Windows&机器都有&Exceed&啊,而且&Sun&机器有全套&X&客户程序包括&GVIM。他说他
是&CLI&的坚决拥护者,但是他却在用&Windows,他后来打开了好几个&SecureCRT,每次从文本框输入地址,用户名和密码,从下拉菜单选
择&"SSH2",然后点击"Connnect"。他还不断的夸SecureCRT是"网络管理员投票选出的最受欢迎的登录方式"。老
天,SecureCRT&本身就是个&GUI&啊,他其实没有明白&Xwindow&的好处。&
你说我是&GUI&的?我虽然很少在&console&下工作。但是我对&bash,&VIM&很熟悉,我可以让&bash&按照我的键绑定方式来工作。我可以在&rxvt&里使用&Mutt&来收发&email。&
我的每个桌面上都常常堆放着一打不同大小的&rxvt。我用&VIM&编辑&LaTeX。我自己写&Makefile&来维护&LaTeX&文档。我有时
用&mpg321&来放&mp3。我上BBS用的我自己写的&expect&脚本。&好了,CLI&派的朋友可以收我做盟友了&
你说我是&CLI&的老古董?我的&FVWM&被我配置为可以"手写操作",我只要画一个"r"就可以启动&rxvt,我只要画一个&"U"&就可以启
动&GVIM,......&我用&GVIM&语法加亮模式编辑程序,我用&Mozilla&浏览网页,......&GUI&派的现在好像认我做朋友
好了。CLI&派的朋友,虽然我很喜欢命令行,但是我有时在屏幕上左右画一下就可以执行:&
Module&FvwmConsole&-terminal&rxvt&-geometry&45x5-0+0&-bg&gold&-fg&midnightblue&-fn&"-adobe-courier-medium-r-*-*-14-*-*-*-*-*-*-*"&
你是不是现在又想把我逐出师门?&
GUI&派的朋友,虽然我很喜欢窗口。但是我可以在&FvwmConsole&里输入:&
All&(rxvt)&MoveToDesk&
把我所有的&rxvt&移动到我现在工作的桌面。"这家伙,怎么这么快就叛变了!"&
其实何必分什么&GUI&和&CLI,UNIX&和&Xwindow&都是工业标准,它们从设计那天开始就有非常灵活的用法,各个程序,不管
是&GUI&还是命令行的都可以互相协作。UNIX&和X&是一家,何必搞的那么偏激,非此即彼?你从我上面的行为可以看出&GUI&和&CLI&的模糊
界线吗?我就是坚定不移的"两面派"。&
UNIX&是简单的--&
"我相信简单就是最好,如果太复杂,我是不能理解的。"&—Seymour&Cray&
很多第一次用&Linux&的人会惊奇的发现,Linux&的程序居然不用"安装"就可以运行,程序拷贝到随便那个目录都可以用,而不是一定要占用你第一
个分区的空间。程序的设置只是一些简简单单的文本文件。你根本不需要什么"注册表修改器"&就可以改变系统的设置。这就叫做简单,但是简单就是美。虽然这
只是&UNIX&简单性的一个肤浅的认识,你已经体会到了某些东西。&
但是简单并不意味着功能弱,并不意味着落后。相反,简单意味着强大,意味着生命力。&
我不会再继续阐述我理解到的"UNIX&的简单",因为这个需要自己去体会。&
UNIX&是永恒的&
有人说:"Plan9&会取代&UNIX,Mach&会取代&Linux&内核。"&
但是你如果是一个深入体会了&UNIX&的人,你就会知道:UNIX&的思想是永恒的,不管时过境迁,Plan9&是否代替&UNIX,UNIX&的灵魂都会在&Plan9&身上现形!&
我为同一个设备写过&Linux&内核和&Windows&VxD&驱动程序。写&Linux&驱动程序时,我对&UNIX&设计的完美的一致性,远见性
所折服。UNIX&用同样界面的&read(),&write()&系统调用就可以对不同的对象:普通文件,设备文件,管道,管道文
件,socket,......进行统一的读写操作。我跟本不需要写一个测试用的应用程序就可以对我的设备驱动进行测试,因
为&cat,&cp,&dd,&它们也使用了同样的&read(),&write(),设备和普通文件&
在应用程序眼里没有区别。在那个还没有&Smalltalk,&没有&C++&的年代,UNIX&的设计者已经使用了所谓的&"面向对象方法"。对,C&语言也可以实现面向对象。&
UNIX&的系统调用几十年都没有很大变化,这非但不是顽固,不进步的象征,反而是&UNIX&的远见卓识的体现!这就跟&TeX&程序几十年都不变的情
况差不多。这些才是真正的永恒的&master&piece!&你应该改变所有软件都必需
从&0.1,&1.0,&1.1,&1.2,&2.0,&...,&3.0,&3.1,&95,&98,&2000,&XP,&...&不断升级的想
Windows&就不同了,它在最开头只是一个&DOS&之上的图形包装而已。后来为了兼容以前的糟糕设计,不得不加上很多累赘。我写&VxD&驱动程序
的时候就深有体会,Windows&95&程序对设备的操作只有用&DeviceIoControl,我不得不写了两个应用程序来对设备驱动进行测试。
Windows&内核的不一致性和隐密性使我非常恼火。不过&Windows&WDM&驱动程序现在也有
了&ReadFile,&WriteFile,......&那说明什么?那说明&Windows&在向&UNIX&学习,或者有可能是某
个&UNIX&设计人员在微软打了几天临工,顺手加了几个&
UNIX&的东西进去。这样做是没有用的,Windows&从一开始就是非常糟糕的设计,它的历史的包袱太沉重了,缝缝补补有什么用?它只能永远的被&UNIX&甩在身后!&
UNIX&是强大的&
让聪明人干任何他们想干的事情。&
UNIX&的一个特点就是非常高的灵活性,Xwindow&也具有这种灵活性。这种灵活性体现在哪里呢?&
UNIX&的程序一般都有很多参数,不管你现在用的着用不着,总有人需要某些参数。它们的行为很多都可以用配置文件来改变。比如&GNU&bash,&通
常缺省的命令行输入方式是&Emacs&方式,但是只要我编辑一个&.inputrc&文件,就可以把它变成&vi&的输入方式,而且我还可以自己绑定键
序列到某些操作。我可以用&shopt&来设置它的很多特点,比如是否进行通配符扩展,是否可以把一个变量当作一个目录来cd,是否可以自动纠正某些明显
的目录名打字错误&......&
UNIX&程序设计的思想是提供给用户"机制",而不限制用户制定"政策"。这是一个重要的尊重用户的作法。&
我们再来看看&Xwindow。Xwindow&是一个出色的设计,它把显示服务器和客户程序分开。一个显示上既可以显示本机上的程序,也可以显示别的机
器上的&X&程序,而它们都遵守你的窗口管理器的统一指挥,它们之间可以方便的传送剪贴版数据,各种事件&......&比如有时我
的&XFree86&上会出现四个不同机器上的&XTerm,两个不同机器上的&GVIM,......&它们统一受本机上的&FVWM&指挥。&
Xwindow&程序都具有很多很多命令行参数和&resource&参数。你可以随意的在命令行或者&.Xdefaults&文件设置所有的颜色,字
体,尺寸......&而且如果你用&xrdb&把&.Xdefaults&导入到根窗口,那么其它机器上没有经过配置的同样的程序,显示到你的机器上的
时候也会遵守同样的外观规定。&
Xwindow&的窗口具有&Property,&也就是一些可以自己定义的共享数据(原子)。正是因为这些&Property&的存在,使
得&Xwindow&具有无比强大的生命力。X&的窗口管理器和其它客户程序之间并没有统一的协议,但是后来出现了&ICCCM(客户程序间通信规范),
这个规范就是通过&property&定义的。现在又有人定义了一套"扩展的窗口协议(EWM&Hints)",使得&Xwindow&可以具有某
些&Windows&的特征,比如一个工具条程序可以告&
诉窗口管理器:"这个屏幕下面被我占据了24个像素的空间,你最大化程序的时候不要越过这个界线。"&
一个强大的窗口管理程序比如&FVWM,它收到这样的提示时,可以答应工具条程序的这个要求,也可以不答应。一切选择的权力在于谁?当然是用户了!&
你想想,是不是有些&Windows&程序常常弹出一个窗口要你选择&"Yes&or&No"?你不点击它它就不下去。你觉不觉得你的程序在侵犯你的尊严?你是一个人,一个智慧的生物,怎能受到一个程序如此的待遇?&
还有就是很多&Windows&程序把人当成傻瓜,而它是"智能程序"。比如,有一个程序就是喜欢把你的每句话第一个字母都变成大写,我不说它是谁了,你遇到的时候就知道了。&
如果连"一句话开头一个字母要大写"这么明显的问题都需要程序帮你纠正的话,人脑还用来干什么?况且如果你故意想要不大写的话,那就更麻烦了,我楞是没有从它那一大堆菜单里找到怎么关闭这个愚蠢的选项。&
只有符号才能完全操纵计算机。&
我们来说说很多初学&Linux&的用户。虽然他们在用&Linux,但是他们打心眼儿里是觉得Windows&的工作方式好,他们希望&Linux&有
一天能"像Windows那样"。你说:"我鼠标一点,我菜单一拉,......&就可以完成我的操作。"&但是我要告诉你:"Linux&从来没有摹
仿&Windows,将来也不会。Linux&从诞生之日起,它的工作方式就比&Windows&的先进。&
Linux&属于能勇敢面对符号的人。只有符号才能完全操纵计算机。"&
看看优秀的&UNIX&程序,XFree86,&FVWM,&VIM,&Emacs,&proftpd,&Mutt,&wget,&tin,&...&没
有一个不是用配置文件来设置选项的。为什么这些程序没有方便的菜单可以用来配置?难道它们的设计者就那么低能,连个图形配置界面也写不出来?&
当然不是。因为图形界面配置方式的能力是极其有限的,而配置文件和程序语言的表达能力却是无限的。用图形界面配置这些程序的话,如果你想达到配置文件的效
果,你需要成百上千的菜单,checkbox,&radio&button,&...&到时候你根本没办法找到你需要修改的地方了!而各个程序的配置文件
的语法都有很多相似之处,一般就是一些命令,设置一些变量,参数,......&一旦用会了一个,其它的也就容易理解了。如果你用惯了&awk,&
sed,&Perl,你会觉得那才是真正的自动化啊。&
鼠标虽然是很好的工具,但是它的表达能力是有限的。你不可能光用鼠标就让电脑完全明白你的意思,它毕竟只有3个按钮。看看我的MetaPost页你就能体会到鼠标的这一弱点。所以我们虽然很喜欢鼠标,但是却不能完全依赖它。&
各个小程序的完美配合&
这就是UNIX最重要的特点了,它就是UNIX设计的思想。让每个程序只具有一项专门的能力,然后让它们合作。Xwindow也继承了这种好传统。这恐怕
就是Windows和其它操作系统望尘末及的地方了。UNIX&程序设计之统一,配合之完美,真使我难以置
信!shell,&grep,&find,&awk,&sed,&make,&Perl,&Emacs,&vi,&tin,&Mutt,&...&它们是
那么的具有一致性!你一旦学会了&sed&的正则表达式,其它程序基本上都能用了。你一旦学会了&
vi&和&VIM,&你会发现它的操作是那么的有规律性,似乎vi的设计者在几十年前就已经设计好了&VIM&在今天的完美而统一的操作方式!而且vi的
操作还体现在&Mutt,&tin&等很多程序中。你甚至可以把&bash&设置为&vi&的输入方式来输入命令行,我就是这么做的。一个程序可以调用另
外一个程序来得到数据,可以把数据交给它处理后返回来,可以在自己的窗口里"嵌入"另外一个程序。&
在&Windows&和其它非&UNIX&操作系统中,这种合作是非常困难的。我曾经在Windows&下使用&Perl来进行一些自动工作。但
是&Windows&的文件操作,管道是如此的不稳定,程序之间基本不能合作。你别想在&Visual&Studio&窗口里面嵌
入&UltraEdit&编辑器,你别想用一个&expect&脚本来控制&telnet&到水木清华BBS。&
Windows&的程序都是大而全,大而杂,所有的电子邮件程序都需要自己提供编辑器,自己发送和收取邮件,自己显示邮件的附件。每一个BBS程序都提供
自己的&Virtual&Terminal,&自己的通讯代码。每一个&IDE&都自己提供编辑器,编译器,汇编器,调试器。人们为了使用一种新的程序,
需要适应所有这些它提供的界面,而不能使用自己喜欢的编辑器的键绑定,菜单组织......&不能&DIY!&
你要知道,最高级的电脑是定做的,自己想要什么什么CPU,什么主板,多少内存,什么硬盘,键盘,鼠标,显示器都是自己选择的。最高级的滑板,自己想要什
么牌子的版面,什么牌子的沙,什么桥,什么轮子,什么轴承,也都是自己选的。最高级的古球拍,木板,胶皮,海绵,胶水都是可以自己选择......&而
用&Windows&程序,你得到的是大杂烩,就像你去买"品牌机",只有那么几种配置,而且附带很多你不需要的软件和服务;就像你去买组装好的滑板,你
想要大一点的轮子和窄一点的板子,但是你没有这种选择余地!Windows&程序就相当于最廉价,最次的滑板。但是它却会花你更多的钱,因为一旦一个部件
坏了,或者你不喜欢了,你不能另外找一个好的换掉它,你必需重新买全套配件!&
而&UNIX&和&Xwindow&就是高档的"组装货"。比如我用&Mutt&的时候,我可以用&VIM&也可以用&pico&来编辑邮件,我可以
用&ImageMagick&也可以用&xv&来显示附件里的图片,我可以用&lynx&把&HTML&附件转成文本嵌入窗口中,我也可以
把&HTML&附件交给Mozilla&图形显示。我可以让&GnuPG&帮我把邮件进行数字签名和加密,我也可以用其它&PGP&程序。&
我想让&Postfix&而不是&sendmail&帮我发出邮件,我想让&fetchmail&帮我收邮件,转发给&postfix,然后被我自己写的
Perl过滤器处理......&这一切我都可以办到!我可以选择我最喜欢的专门的程序来完成专门的工作,然后把它们结合在一起,我也可以分别得到它们的
学&UNIX&绝对不是浪费时间&
有人告诉我:"你看我用&Windows&什么都不用学。而用&Linux,光是安装就花了我一个星期!"&
首先,我要告诉你的是,你装&Linux&花了一个星期,不是因为&Linux&不好装,而是因为你已经习惯了&Windows,对&Linux&最初难
以理解而已。你想一想你最初安装Windows&的时候呢?你花了多少时间搞明白什么是硬盘分区?什么是盘符?什么是目录?你认为Windows&就是那
么容易可以学会的吗?虽然你觉得没花时间学,但是你以前在用别人的机器的时候已经耳濡目染,自然就了解了。而且由于你想
要&Linux&和&Windows&并存于&
硬盘上,又增加了安装难度。而且你肯定没有得到有经验的&Linux&用户的帮助,否则他们会在20分种之内帮你搞定。一个星期也太夸张了.&
如果一开始用的就是Linux就没有这个问题。你想想如果你没有用过&windows,你肯定会很习惯&/etc,&/usr,&/usr
/local&,...&而不是&C:,&D:,&E:,&...&是不是?如果你只用过Linux,你第一次用&windows&时恐怕也会问:"
/bin&目录哪里去了啊?"&
最重要的是,你用惯了的UNIX工具,它们可以伴随你一生,而不会那么容易变化或消失。你可以永远不用再换另外的工具了。除非那个工具比你这个好的太多,而且可以完全模拟你现在的工具。&
我们实验室一个60多岁的老师,用vi,&cc,&make,&...都几十年了,他以前的经验绝对没有白费,而且教会了我们一批又一批的学生。vi&伴
随着&UNIX&的最初发行而诞生,直到今天还是世界上头两号编辑器之一!有些人的&FVWM&配置文件已经用了&10&多年,现在完全不经修改还可以
看看&Windows&的工具,你从&Borland&C++&换到&VC,&就必需适应新的环境:菜单不同了,颜色不同了,按钮不同了,帮助信息不同
了,热键不同了,编译器参数,调试器功能也不同了,......&那个时候恐怕花要花你很多时间去适应。当你刚刚适应了&VC,&你又要换成
VJ,&PowerBuilder,&C++Builder,&...&
很多windows程序员都是这样,开头在dos下用Turbo&C,&然后是&Borland&C,&VC,&C++&Builder,&......
不断追赶微软的潮流。而且微软的SDK,&MFC,&.NET&......&什么都在不断变化,不断出问题,又不断的在修
改......&Windows&程序员不得不买又厚又重的&Microsoft&Press&的书籍,看了才一个月,又过时了。今天你才学会了
写&VxD,明天你就必须用WDM&了。你不得不注册&MSDN&才能赶上&Microsoft&的步伐。很多人说:"计算机是贵&
族的专业。"&这就是微软一手造成的。&
这些东西才是没完没了的浪费大家的时间和金钱的。这是是浪费生命!我们为什么不使用从诞生就那么一致和完美的&UNIX?你需要理解先进工具的设计理念。
UNIX&的工具就像我们用的汽车,它的离合器,油门,刹车,方向盘,后视镜,永远都在同样的位置。用惯了的话,你对你的汽车的每一个部件都会了如指掌,
甚至你自己都可以修车了。这难道不好吗?&
有人说:"你说我们需要了解&UNIX,难道你要开车还必须了解汽车的结构吗?"&你去问问开车的司机,哪一个不了解汽车的结构的,那他的驾照就是混来的。你难道想要傻瓜型的"微软牌汽车"吗?我们来看看:&
你买的微软牌汽车最开头只有一个座位,每加一个座位你得向汽车公司付钱。车上的防撞气囊不时会冒出来,说是为了你的安全。每开100英里要大修一次,每过
一年要换一次引擎。附带的,你还必须换用由微软汽车公司指定的石油公司提供的新型号的机油。你的车出了问题,但是法律规定,你不准私自拆开你的汽车来修
理,你必需到微软汽车公司指定的维修点去,需要付相当多的钱才能修好一个小毛病。&
最可气的是,你每换一个型号的微软牌汽车,它的刹车和离合器都在不同的位置,你需要重新去考驾驶执照。如果这辆汽车在途中刹车失灵,你受了重伤,你也不能
状告微软汽车公司,因为你买来汽车之后必须签一个合同,说"由于微软牌汽车对你和家人造成的一切死伤,微软概不负责。"&
怎样完全用&GNU/Linux&工作&
说了这么多&Windows&的不好。我还没有告诉你我怎么用&Linux&处理有些必要的事情。半年以前我由于中文老是配置不好,一直是双系统,不时需
要重起到&Win2k&来处理汉字。后来我找到了&miniChinput,&XSIM&和&SCIM&输入法。这下可以处理汉字了。而且&VIM&和
Emacs&对汉字支持越来越好。我的大部分文本是用&VIM&编辑的,包括程序,信件,网页,LaTeX&论文,MetaPost&绘图语言。&
我不用&Word&这样的程序写论文,而是用&LaTeX,因为这是世界上效果最好,最方便的论文工具,是大多数学术杂志要求的格式。幻灯都是用&ConTeXt&做的,用起来很简单,而且效果非常漂亮。你可以看看我的TeX介绍。&
至于绘图,你可以用很多可视化的工具,比如&xfig,dia。但是对于我来说,任何可视化的工具都不能完成某些任务,我需要一种可以精确描述图形的语
言。我找到了MetaPost。它简单又好用,而且效果是世界一流的。我的插图,如果不是图像,都是&MetaPost&画出来的。&
我曾经抱怨&mozilla-mail&经常突然消失,损坏我好几封快要完成的信件。后来我发现mozilla&的邮件处理程序确实是不稳定的,功能又
弱,有经验的&UNIX&用户都不用这样的程序。Mutt&是一个非常稳定可靠的&UNIX&邮件处理程序,而且功能非常强大。我曾经
为&Gnome&和&KDE&的不稳定而烦恼。现在我找到了非常强大的&FVWM。KDE,Gnome也能和&FVWM&一起工作。虽
然&Gnome&和&KDE&总体不稳定,但是某些部件程序还不错,很多&gtk,&Qt&的程序也很不错,它们很多都是可以独立于这些桌面环境运&
Linux&有很多强大方便的工作方式是&Windows&没有的,或者有类似的东西,但是很差劲或者用起来不方便。比如&ssh&服务,rsync,cvs,expect&......&
我写这么多的目的是什么?我希望喜欢&Linux&的朋友,完全清除微软和&Windows&灌输在你脑子里的谬论,别再相信它们所谓的"新技术",别再
追赶&Windows,因为追赶Windows&=倒退。马克思有一个思想很重要,"新生事物并不一定是在最近出现的。"&
UNIX,Xwindow,&TeX&虽然都比&Windows&先出现,但是它们才是先进生产力的代表。我们要清楚的认识到什么才是真正的现代化,什么才是真正的自动化。&
消除学计算机很难的幻觉,勇敢的拿起像&bash,&FVWM,&TeX,&VIM,&Emacs,&Mutt&......这样强大的程序,勇敢的面对
符号。不要再埋怨"Linux&为什么不能像&Windows&那样",不要再浪费时间试用这样那样的程序,不要再忙着升级。你需要理解&UNIX&的工
作方式,因为那是大多数科学家的工作方式。Linux&可以成为你的好朋友,你需要认识它,了解它,信任它,才能完全的靠它来高效的工作。当然,在游戏
机,手机,掌上电脑里,或者在用电脑来娱乐的时候,用一些&"傻瓜软件"还是不错的.&
我希望小学,中学的计算机老师能够提高自己的素质,在孩子们的启蒙教育中充分利用Linux&神秘的特点,引起孩子们对数学,对符号的好奇心。诱导他们用计算机来解决世界上的有趣问题,而不要把教学的范围局限于计算机的操作和它自身的问题。&
附录:&我用来处理日常事务的&Linux&程序&
好了好了。我知道你发现自己应该转向&Linux,你很后悔当初为什么中了微软的邪。但是不要着急。因为这些东西本来只是工具,它们是用来完成你的主要任务的辅助而已。&
你以前选错了工具,这不要紧。你还是拥有你自己原来的专业技能,那才是最重要的。工具的东西只有慢慢适应转换,不能一蹴而就,否则你会感到非常没意思,甚至放弃。&
如果你只想做一个像我这样的普通用户,主要目的是用&Linux&来完成自己的任务,那就可以不用系统管理员或者网络管理员的标准来要求自己,因为当一个
系统和网络管理员确实很辛苦。这里我对实验室的网管同学鞠一躬,谢谢你的指点和帮助.&不用把你的机器当成网络服务器,不用开放没有必要的服务,设置
好&ssh,&ftp&已经足够了。这样会省去了解很多没必要了解的东西的时间。不用过度考虑"安全",因为&Linux&缺省&
已经很安全了。不过你有兴趣了解更多那也无妨。&
下面给出一些推荐使用的可以处理一般事情的程序。至于你的专业上要用到的科学和工程软件比
如&Matlab,&Mathematica,&Maple,&HSpice,&Design&Compiler,&......&还有其它物理上的,化
学上的,生物上的&......&都必然有&Linux&和&UNIX&的版本。当然他们很多不是免费的,不要总是觉得什么都应该免费,自由不等于免费。
它们是经过很多人辛勤劳动的产物,是可靠的程序,它们物有所值。&
下面列出我常用的一些&Linux&程序。一个列表里可能有很多,那是为了方便你来选择,我列出了比较信得过的。但其实很多只有第一个是我真正在用的,我
不喜欢试用程序。我不是一个合格的网络管理员,我的服务器都只设置了我自己需要的功能,那样可以省去我很多麻烦&tongue&
Shell:&bash。它结合了&csh&和&ksh&的优点,并且有&readline&功能,你可以随意绑定自己的键盘。&
编辑器:&VIM,&Emacs。&
程序开发:&GCC,&make,&ld,&Scheme48,&j2sdk,&Perl,&Python,&Tcl/Tk&...&
论文,幻灯工具:LaTeX,&ConTeXt&
绘图工具:MetaPost。这个语言太强了,以至于我只用它了。你不熟悉的话可以用xfig,&dia&来画一些流程图之类的图片。&
图像处理:ImageMagick。其中的&import&程序可以屏幕抓图,convert&程序可以转换图像格式,display&可以显示图片和简
单编辑(缩放,换质量,转格式,简单绘图,简单虑镜)。通常我就这么点需要。如果你要更强大的图像工具可以用&Gimp,&它几乎和Photoshop差
自动管理工具:make。我可以用make来自动编译程序,自动编译文档,自动更新插图......&全自动,而且不会重复劳动。&
数值计算程序:SciLab。这个程序基本上可以代替&Matlab。&
代数计算程序:MAXIMA。这个程序基于世界上最老的计算机代数系统之一:&由美国能源部(DOE)发行的&MIT&Macsyma&系统。它是
用&Common&Lisp&实现的。很多现在的符号计算程序比如&Maple&都从&MAXIMA&身上学到很多东西。它现在经过&DOE&批准以
GPL发行,永远是一个自由软件。&
加密程序:GnuPG。我的&PGP&密钥就是它搞出来的。&
打包,压缩程序。什么都有:&tar,&gzip,&bzip2,&zip,&rar,&...&
虚拟光驱程序。Linux&不需要虚拟光驱程序,直接&mount&就行了。&
ftp&服务器:proftpd,&vsftpd。proftpd&功能很强,但是我只用了最简单的一种设置。&
WWW&服务器:apache。(我一般没有开)&
ftp&客户程序:lftp,ncftp。它们都是文本方式操作的,但是比起图形界面的方便的多。比如&lftp&几乎具有&bash&的所有方便功
能,Tab&补全,bookmark,&queue,&后台下载,镜像......&Linux&也有图形界面的&ftp&客户程序,但是大多不稳定,有
很多问题。这就是很多人抱怨&Linux&不如&Windows&的一个小原因。还有很多人用&Wine&模拟&Windows&的leapftp,其
实&lftp&比&leapftp&好很多,你需要的只是适应一下。&
自动下载工具:wget。它非常稳定,有一次我下载一个程序,用&IE&和&Mozilla&下载回来的文件都是坏的,最后还是&wget&可靠的传输了
数据。用它甚至可以镜像整个网站,比起WebZip&这样的&Windows&程序强多了,而且不会因为你不付钱就在下载回来的网页里强制插入广告。&
虚拟终端:rxvt,&xterm,&gnome-terminal,&mlterm,&...&
X&server:&XFree86&
窗口管理器:FVWM。编译加入了&libstroke。&
中文输入:XSIM。被我修改过以适应&FVWM&的需要。另外推荐你还可以用&SCIM。&
email&处理:Mutt&+&Postfix&+&fetchmail&
看&PDF,&PS,&DJVU&文件:Acrobat&Reader,&xpdf,&GhostScript,&gv,&djvu工具包和netscape&插件。&
看CAJ文档。我从来不看CAJ之类的文档,如果找不到PDF或PS,直接去图书馆借最好。&
看网页:Mozilla,&Phoenix,&lynx。Mozilla-Xft&的显示效果比IE&好很多。&
英汉字典:IBM智能词典,星际译王。&
编辑网页:我用VIM&直接写&HTML。你如果想要图形方式的可以用其它的比如screem,&BlueFish。&
登录其它&UNIX,&Linux&机器:openSSH,&telnet。&我喜欢用&openSSH&把其它机器的X&程序通过&ssh&加密的隧道传到我机器上显示。&
登录&Windows2000&server&的&display&service:&rdesktop,...我有一天试了一下,不错。后来就没有用过了。&
同步程序:rsync。我用&rsync&通过&ssh&来跟某些机器同步数据,或者做自己机器上不同目录间的同步。&
上BBS:rxvt(或任何一种终端)&+&telnet&+&chatbot(helloooo&机器人的程序)&
QQ,&ICQ:&我没有&QQ&或&ICQ。不过你可以用&Gaim,&它同时支持&QQ,&ICQ&和很多其它的即时通信方式。ICQ&用户也可以用&Licq。&
放录像:MPlayer,&RealPlayer。MPlayer&太好了,直接就可以放&VCD,&DVD,&divx,wma,&wmv&...&用&Windows&的同学都很羡慕我,说&Windows&要放这个需要大堆插件。&
rm&最好还是用&realplayer&放,它也是免费的。&
放音乐:&xmms(mp3,ogg都可以),&mpg321(放mp3),&ogg123(放ogg)。mpg321&不如xmms&管理音乐文件那么方便,但是有时我还是用&mpg321&放&mp3&作为背景音乐,因为懒得开一个xmms窗口&smile&
游戏:我觉得&KDE&的那个&ksokoban(推箱子),很好玩&smile&
看&Word&文档。请&Word&用户把文档全部转为&PDF&或&PS&再给我,文档里没有特殊的格式干脆就用文本吧,何必那么麻烦。以前很奇怪的
是,通知里本来没有什么特殊的格式居然还要发doc附件的email。现在好了,我们系发通知都用文本,PDF,甚至图片了&tongue&
其它程序:还有很多我需要用而你不一定用得着的。比如,Doctor&Scheme,Scheme48,&Scsh,&kawa...这些程序只
有&Doctor&Scheme&有Windows版本。还有很多幕后工作但是你一般不察觉
的:xinetd,&telnetd,&sshd,&crond,&atd,&lpd,&...&他们都比&Windows&的对应者强的多,或者根本没
有对应者。&
-&作者:&kxsong&日,&星期一&08:39 &回复(0)&| &引用(0)&加入博采&
&计算机代数系统&MAXIMA&(转)&
MAXIMA&是完全可以跟&Mathematica&和&Maple&比美的&CAS。实际上&Mathematica&和&Maple&的很多优点都是从&MACSYMA&身上学来的。
计算机代数系统&MAXIMA&
计算机代数系统&(CAS)&已经成为应用数学不可缺少的工具,常见的计算机代数系统有&MAXIMA,&Mathematica,&Maple,&MuPAD,&Reduce,&AXIOM,&Derive&等。&
MAXIMA&可以在&http://sourceforge.net/projects/maxima&免费下载。如果不是从源码安装,你需要下载一
个&maxima&和一个&maxima-exec&包。推荐用&maxima-exec_gcl-*,因为用这个你不需要再安装&LISP&解释器
MAXIMA&的历史
MAXIMA&是由&DOE-MACSYMA&演变而来的。MACSYMA&是&MIT&在&60年代末创造的一种&CAS。它是用&LISP&实现的。
MACSYMA&早期的赞助包括&ARPA,&DOE,&...&它运行于一台&ARPAnet&早期的PDP-10主机上。&一直以
来&MACSYMA&都是世界上最大的&LISP&程序,用于公式推导和符号计算。&
但是由于&MIT&1982年的时候决定把MACSYMA变成一个关闭源码的商业程序,帮助销售&LISP&机器。所以产生了很多&MACSYMA&的分
支,比如&VAXIMA,&MAXIMA,&...&商业利益的诱惑使得&MIT&从&Berkeley&收回了&50&份正在使用
的&MACSYMA&系统,引起很多人不满,使人想起了当年&AT&T&在&UNIX&身上的作法。同时也直接导致
了&Richard&Stallman&从&MIT&辞职,创立自由软件基金会(FSF)和GNU项目,这样才会有我们今天使用
的&GNU/Linux.&
商业的&MACSYMA&是由&Symbolics&Inc&销售的,后来是&Macsyma&Inc,但是&Macsyma&Inc&在&1999&年突然不明原因的解体了,程序员各奔东西,众多的用户失去了支持。&
现在的MAXIMA&是&MACSYMA&的一个&GPL&的衍生版本,它是自由软件。它就是&MACSYMA&未来的希望。虽然以前
有&REDUCE,&CAMAL,&Mathlab-68,&PM,&...&但是&MACSYMA&在Mathematica&和&Maple&出现以
前显然是没有对手的。但是现在似乎Mathematica&和&Maple&已经挤垮了&MACSYMA。不过各有各的好处,你继续看下去就知
道&MAXIMA&哪些地方比&Mathematica&和&Maple&好。&
由于&MAXIMA&就是&MACSYMA&的一个版本。下文中我们的&"MAXIMA"&和&"MACSYMA"&两个单词可以互换。&
MAXIMA&简介
MAXIMA&是完全可以跟&Mathematica&和&Maple&比美的&CAS。实际上&Mathematica&和&Maple&的很多优点都是从&MACSYMA&身上学来的。&
严密的逻辑&
Maple&和&Mathematica&经常做错的东西,MACSYMA&经常会给你一个合理的答复。当然它也会做错。小心!计算机代数系统给出的答案都有可能是错误的,不能完全依赖它们。&
你可以试试积分:&integrate(x^i,x)&和&Integrate&1/sqrt(2-2*cos(x))&from&x=-pi/2&to&pi/2。&Mathematica&4.1&会立即给你一个不完全正确甚至错误的答案。&
在这种情况下,MAXIMA&的表现要聪明的多,因为它毕竟有几十年的经验。MAXIMA&缺省是一个非常严密的系统,如果你要积分:&
integrate(x^i,x);
MAXIMA&会问你:&
Is&&i&+&1&&zero&or&nonzero?
这是因为现在我们不知道&i&是否等于&-1。如果&i=-1,&那么这个积分应该等于&LOG(x),其中&LOG&是&MAXIMA&的自然对数符号。如果&i&不等于&-1,那么积分应该等于&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&i&+&1
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&x
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&------
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&i&+&1
这样每次都要&
TA的最新馆藏
喜欢该文的人也喜欢}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信