《Linux的优势》
《清华梦的粉碎--写给清华大学的退学申请》 我已经半年没有使用 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 程序,对命令行的东 西一概不屑一顾。他们对 Dragclass 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 编辑程序,我建议他启动一个