[操作系統]完全用linux 工作(轉載)(轉載)

4年前 (2020-05-06)閱讀824回復0
暨笑天
暨笑天
  • 管理員
  • 發(fā)消息
  • 注冊排名2175
  • 經(jīng)驗值110
  • 級別管理員
  • 主題22
  • 回復0
樓主
印刷廠(chǎng)直印加工●彩頁(yè)1000張只需要69元●名片5元每盒-更多產(chǎn)品印刷報價(jià)?聯(lián)系電話(huà):138-1621-1622(微信同號)

我已經(jīng)半年沒(méi)有使用 Windows 的方式工作了。Linux 高效的完成了我所有的工作。

  GNU/Linux 不是每個(gè)人都想用的。如果你只需要處理一般的事務(wù),打游戲,那么你不需要了解下面這些了。

  我不是一個(gè)狂熱的自由軟件份子,雖然我很喜歡自由軟件。這篇文章也不是用來(lái)推行自由軟件運動(dòng)的,雖然我覺(jué)得自由軟件運動(dòng)是非常好的。

  這篇文章也不是用來(lái)比較 Linux 和 Windows 內核效率,文件系統,網(wǎng)絡(luò )服務(wù)的。我現在是作為一個(gè)用戶(hù)而不是一個(gè)開(kāi)發(fā)者來(lái)說(shuō)話(huà)的,我們的討論是基于操作,應用層面的。是為了告訴大學(xué)里還不了解,或者不理解 UNIX 的科學(xué)工作者和大學(xué)生,UNIX 比 Windows 更適合用于科學(xué)研究工作,請大家理解 UNIX 的工作方式,不要用 Windows 的標準來(lái)要求 Linux,而要用一個(gè)科學(xué)工作者的標準來(lái)要求自己,用UNIX 的思想來(lái)武裝自己。

  我顯然是反對在大學(xué),特別是理工科專(zhuān)業(yè)推廣 Windows 的。我也反對在對"娃娃"們的計算機啟蒙教育中使用 Windows。因為 Windows 不論從技術(shù)上,經(jīng)濟上,思想風(fēng)格上都是與我們培養高科技人才的目標格格不入的。Windows 的流行屬于歷史遺留問(wèn)題,爺爺一級的人當然已經(jīng)不可救藥,但是我們不應該讓下一代繼續走上歧途。

  UNIX 不是計算機專(zhuān)家的專(zhuān)利

  當我建議一些非計算機專(zhuān)業(yè)的人用 Linux 的時(shí)候,很多人說(shuō):"UNIX 是計算機系的人用的,我們不能理解。" "UNIX 是男孩用的,我們女孩不用。"

  但是其實(shí)世界上的大多數科學(xué)家和工程師幾乎用的都是 UNIX 作為他們的電腦工具。就因為它簡(jiǎn)單,可靠,穩定,強大,有趣。甚至很多時(shí)候 UNIX 就是唯一的選擇。

  你說(shuō):"我們都會(huì )用 UNIX 的話(huà),你們計算機專(zhuān)業(yè)的人還用來(lái)干什么?" 很容幸的告訴你,計算機專(zhuān)業(yè)的有一部分人就是專(zhuān)門(mén)為你們提供這樣強大而方便的計算機工具的。如果他們制造的工具只有自己會(huì )用的話(huà),那這個(gè)工具還有什么用?

  理解 GNU/Linux 不要用 Windows 的標準來(lái)要求 Linux。

  由于GNU/Linux這個(gè)詞太長(cháng),下面如果沒(méi)有特別指明,"Linux"就是指GNU/Linux"。

  在這個(gè)年代,恐怕沒(méi)有人需要我來(lái)介紹 Linux 是什么了吧?如果你覺(jué)得"Linux 只不過(guò)是跟 DOS 差不多的東西",那請問(wèn)問(wèn)你旁邊的 Linux 用戶(hù),Linux 到底是什么?

  那為什么我還要寫(xiě)一篇這樣的文章?因為,我發(fā)現還有很多人不不理解 Linux 和 UNIX,雖然他們也在用它,但是他們有時(shí)會(huì )問(wèn):"為什么 Linux 不能像 Windows 那樣 ……?","怎么Redhat Linux不能 mount NTFS 分區!","Linux 下用什么整理硬盤(pán)?","什么時(shí)候OpenOffice才能完全兼容Word文件???","現在還有什么Windows能干的事情L(cháng)inux干不了的?"……

  他們有40G的硬盤(pán),卻只為 Linux 分配了2G空間,有時(shí)還抱怨"這個(gè)東西怎么占這么多硬盤(pán)!" 似乎 Windows 該占用大部分硬盤(pán)。他們把重要的數據裝在Windows的分區,似乎信不過(guò)Linux。他們總是到處尋找新奇的,好看的GUI程序,對命令行的東西一概不屑一顧。他們對Drag&Drop,菜單配置,自動(dòng)升級非常感興趣。他們如果找到一個(gè)很像 Windows 程序的 Linux 程序,一定會(huì )很高興的說(shuō):"哈哈!Linux 也能……了!"如果Linux在某種測試中勝過(guò)Windows,他們會(huì )高興得跳起來(lái)。他們沒(méi)有辦法用Linux 解決問(wèn)題的時(shí)候,甚至用Wine來(lái)運行Windows程序。有時(shí)實(shí)在沒(méi)辦法,只好重起到Windows,或者干脆省得麻煩,在 Windows 下裝一個(gè) VMWare 虛擬一個(gè) Linux 玩。

  你如果出現了上面的情況,說(shuō)明你的思想受到了 Windows 的某種潛移默化的影響和誤導。你沒(méi)有能夠從本質(zhì)上理解存在于 Linux 身上的 UNIX 思想。你支持 Linux,你喜歡 Linux,你能從中感覺(jué)到快樂(lè ),這非常好。你現在只需要明白的是:Linux 從來(lái)就不是一個(gè)玩具,它是天才UNIX的后代。UNIX 是自晶體管發(fā)明以來(lái)最偉大的發(fā)明,它從誕生那一天開(kāi)始就比 Windows 的設計出色。

  你要體會(huì )什么叫做"設計",一個(gè)糟糕的設計并不是到后來(lái)縫縫補補就可以變好的,而一個(gè)出色的設計,不但可以以不變應萬(wàn)變,而且可以影響到后來(lái)者。一個(gè)出色的設計配上一個(gè)出色的實(shí)現,那就是非常出色的發(fā)明。Linux 就是這樣的一個(gè)出色的發(fā)明。Linux 并不需要追趕 Windows,也不需要打垮微軟。它的最終目標是改變整個(gè)計算機世界,還人們自由,給人們樂(lè )趣和方便。

  Unix 是簡(jiǎn)單的,你不需要成為一個(gè)天才也能理解這種簡(jiǎn)單。

  UNIX的設計者 Dennis Ritchie 說(shuō):"Unix is simple. It just takes a genius to understand its simplicity." 但是我不這么認為,因為我不是一個(gè)天才,但是我卻勇敢的把 Windows 完全刪除掉,遇到不明白的事情的時(shí)候努力用 UNIX 的方式去解決,而不是尋求 Windows 的幫助。現在我體會(huì )到了 UNIX 的思想和好處,我可以用比 Windows 高效幾倍的效率工作。因為我相信這樣的信念:"Windows 能辦到的事 Linux 一定能辦到,而且辦的更好。"

  這小節開(kāi)頭的話(huà)應該改成:"Unix 是簡(jiǎn)單的,你不需要成為一個(gè)天才或是計算機專(zhuān)家。但是在這個(gè)沖斥著(zhù) Windows 錯誤觀(guān)念的世界,你需要信念和勇氣才能理解它的簡(jiǎn)單。" 我下面就告訴你一些我理解到的東西。首先,你要知道的是微軟在國際科學(xué)領(lǐng)域是根本沒(méi)有地位的。

  微軟的地位

  微軟的名聲在歐洲和美國的大學(xué)里,特別是在計算機系里之壞,大家可能有所耳聞。我認識的 MIT,Stanford 的教授,貝爾實(shí)驗室的專(zhuān)家,甚至一個(gè)歐洲小國的高中計算機老師都絕口不提微軟的名字。在他們眼里,微軟只是一個(gè)沒(méi)有真技術(shù),專(zhuān)靠在落后國家商業(yè)宣傳和壟斷經(jīng)營(yíng)的小公司。這個(gè)"小"并不是說(shuō)它人少,錢(qián)少,而是說(shuō)它先進(jìn)技術(shù)少。

  我上次和王益合作寫(xiě)了一個(gè)算法演示程序,那個(gè)算法是貝爾實(shí)驗室一位科學(xué)家Steven Fortune很天才的發(fā)明,為了程序能夠被身邊大多數人使用,我們選擇了 VC+MFC 作為平臺。我在分析算法時(shí)還得到 Fortune 很熱情的鼓勵,寄給我一份資料,還多次回信耐心的給我講解了很多細節。但是程序完成之后,我把樣品發(fā)給 Fortune,他回信說(shuō):"對不起。我機器上沒(méi)有 MFC。" 話(huà)說(shuō)的很客氣,但是我已經(jīng)感覺(jué)到了他對 Windows的不屑。然后我把 MFC 靜態(tài)編譯進(jìn)程序再發(fā)給他,他就沒(méi)有再回信了。他顯然不是瞧不起我,而是確實(shí)有難處。

  你能感覺(jué)到這位科學(xué)家對微軟和 Windows 是什么態(tài)度了吧?不是反感,而是他心里根本沒(méi)有 Windows 這個(gè)東西!微軟在高科技領(lǐng)域沒(méi)有發(fā)展,那么它怎么生存呢?到發(fā)展中國家去發(fā)展一下,他們的人民還對電腦一無(wú)所知,我說(shuō)不定甚至可以打入大學(xué)的計算機系呢。我送他們軟件,我捐錢(qián)蓋大樓,我出錢(qián)找圖靈獎獲得者來(lái)演講,讓他們覺(jué)得我們都是科學(xué)家!

  好了,現在全國的大學(xué)包括清華,幾乎所有人機器必裝盜版 Win2000,Office XP,學(xué)校的選課系統是非IE不能正確瀏覽,論文用 Word 編輯,演示用ppt做,email 的通知附件是 doc 文件,你不用 Word 打不開(kāi),連 863 項目都用 VC 寫(xiě)程序了。我很久以前就看到一份報紙說(shuō),"微軟為什么不嚴厲打擊盜版?" 這篇文章說(shuō),微軟非但不打擊中國的盜版行為,而且有放任之趨勢。放長(cháng)線(xiàn)吊大魚(yú),"以后我要你們加倍的來(lái)還我!" 確實(shí)如此,它的目的快實(shí)現了。

  Windows 籠罩下的中國計算機教育

  說(shuō)句丟臉的話(huà),比爾蓋茨很久以前是我的偶像…… //blush

  在中國,比爾蓋茨被很多人奉為神圣,"少年電腦天才",甚至有的人提到他的名字就做出"抱拳對天"的姿勢。很多人談到微軟的"新技術(shù)","高科技" 都是眉飛色舞。各種"VC編程圣經(jīng)","深入了解 Visual C++"之類(lèi)的書(shū),在開(kāi)頭幾頁(yè)都會(huì )出現非常肉麻的字眼,"在那團團的混沌中,一個(gè)開(kāi)天辟地的精靈,Windows 1.0,誕生了……"

  微軟的軟件被這么多人盜用,那么人們是怎樣使用這些盜版程序的呢?先看看電腦培訓班,教的都是一些 DOS 命令,打字,Windows 基本操作,Word 文檔處理,PowerPoint,高級班可能有 Excel,Access…… 參加各種微軟認證考試,MCSE,MSDE 的人絡(luò )繹不絕。考試輔導班都貼出了"280元,考過(guò)為止"之類(lèi)的字樣。考試參考資料更是昂貴,有些電腦書(shū)店整整兩書(shū)架都是"Microsoft Press"的東西。我有個(gè)同學(xué)參加認證考試,每門(mén)考試都要200多元。而且你一次考不過(guò)可以再考,又要交錢(qián)。他后來(lái)還津津樂(lè )道跟我說(shuō),看我,花了 XXXX(一個(gè)四位數)元考過(guò)了微軟認證,得到一張比爾蓋茨親筆簽名的證書(shū)和價(jià)值6000元的 Windows XP 內部發(fā)行版。

  "電腦要從娃娃抓起",我們再來(lái)看看娃娃們學(xué)的是什么。大部分家長(cháng)給孩子買(mǎi)了電腦之后,他們首先就會(huì )裝一個(gè)盜版的 Windows,然后買(mǎi)來(lái)盜版的游戲開(kāi)始玩。如果哪個(gè)孩子會(huì )用 Delphi 編程序,那可不得了。報社記者,電視臺爭相報導,說(shuō),某某學(xué)校的初中生某某,在別人都還在玩電腦游戲這種"初級階段"的時(shí)候就已經(jīng)用 Delphi 寫(xiě)程序了。鏡頭還瞄準了他顯示器上面的像框中的比爾蓋茨頭像!

  我剛進(jìn)入大學(xué)計算機系時(shí)還不懂得什么是操作系統,因為我以前只用過(guò)"中華學(xué)習機"。看到新入學(xué)的同學(xué)們各個(gè)談?wù)摰亩际?"Windows 95","VC"…… 我簡(jiǎn)直覺(jué)得我落后了好幾十年一樣,整個(gè)一土人,根本跟他們答不上話(huà)。好不容易找到一個(gè)比較熟的同學(xué)問(wèn)了一下:"你們天天談?wù)摰奈?5是什么???"答:"win95就是一個(gè)操作系統,跟DOS是一類(lèi)。""朵死是什么?" "你連DOS都不知道是什么?別在計算機系混了。" 學(xué)校上課當然不講VC編程之類(lèi)的東西,但是上 Pascal 的老師有一次就說(shuō):"嗨,我們學(xué)校真是落后。現在別人都用 C, C++,甚至 VC 了,我們還在講 Pascal。不知道什么時(shí)候才能有VC課啊。你們出去也是要用VC的,只好自學(xué)了。" 于是,有些同學(xué)很多時(shí)候上課都捧著(zhù)一本很重的"Windows 編程大全"之類(lèi)的書(shū),根本沒(méi)有聽(tīng)課。吃飯時(shí)就念念有詞的跟我說(shuō),"代碼的優(yōu)化是無(wú)止境的","匈牙利命名法真是偉大的發(fā)明" …… 這就是中國很多大學(xué)計算機系的情況。

  感覺(jué)到無(wú)知了?這不是偶然的,而是微軟長(cháng)久以來(lái)埋下的伏筆。它要讓無(wú)知的大家都把它奉為神圣,它要讓支持UNIX,X(qián)window的人一旦說(shuō) UNIX 好,X(qián)window 好的時(shí)候,都被一群人圍著(zhù)說(shuō)教:"這個(gè) Windows 也能做到","你對 Windows 有偏見(jiàn)","微軟才是主流啊","你敢瞧不起 win2k?",".NET 就是世界潮流","微軟的畢竟是新技術(shù)","有錢(qián)就是有技術(shù)"…… 甚至在一番論戰比較后敗下來(lái)還是要說(shuō):"Windows 性能差點(diǎn),但是易用性強","Windows 是老百姓用的,要求別那么?","微軟那么有錢(qián),以后想超過(guò) UNIX 還不容易嗎?"……

  發(fā)達國家的計算機教育

  我前段時(shí)間在 USENET 發(fā)文問(wèn)有關(guān) Scheme 語(yǔ)言的問(wèn)題時(shí),認識了一位丹麥人。他解決了我所有的問(wèn)題,并且建議我閱讀一些很"深奧"的有關(guān)程序語(yǔ)言語(yǔ)法,文法的書(shū),他告訴我很多網(wǎng)站可以學(xué)習 LISP,Scheme,人工智能,算法。他叫我看 Jonathan Rees 的論文 "Syntactic Closures"。他還打包給我寄過(guò)來(lái)一份 MIT 的 "How to Design Programs"。他說(shuō)他在自己的 PC 機上裝的是 Linux,他用 Emacs 編輯,運行Scheme 程序。他對 Emacs 的了解和愛(ài)好真是使人驚訝。他大學(xué)本科畢業(yè)時(shí)做的畢業(yè)設計是一個(gè) Scheme 解釋器。這對于我來(lái)說(shuō)是望塵末及了。

  他是那么的不厭其煩,我的每一個(gè)問(wèn)題他都詳細的回答。我有時(shí)都覺(jué)得過(guò)于詳細了,怎么這么耐心???我覺(jué)得他似乎是我的高中老師。他是什么樣的人呢?我好奇的打聽(tīng)了他的情況。原來(lái),他是丹麥一所普通高中的計算機老師。

  他說(shuō)他在高中里講授程序設計和算法,計算機語(yǔ)言文法。他說(shuō)用 Scheme,他的學(xué)生不用再為內存泄漏等程序語(yǔ)言本身的問(wèn)題而煩惱,而專(zhuān)注于問(wèn)題和算法本身。有利于培養學(xué)生解決問(wèn)題的能力,特別是用計算機解決數學(xué)問(wèn)題的能力。

  天哪!為什么歐洲出現那么多數學(xué)家,幾何學(xué)家?你看看別人重視的是什么!我們的計算機教育如果繼續這樣下去,只會(huì )沿著(zhù)彎路越走越遠!

  微軟和它的朋友們的如意算盤(pán)

  下面來(lái)看看微軟的收入是怎么來(lái)的。首先,Windows 98系列操作系統,一個(gè)就是 100多美元,每次升級又是幾乎同樣的價(jià)錢(qián)。Windows NT 還要貴幾倍,而且有用戶(hù)數目限制,5個(gè)用戶(hù)的,10個(gè)用戶(hù)的…… 以后如果要增加用戶(hù)數目還要按比例付錢(qián)。

  花了如此多錢(qián)買(mǎi)來(lái)的操作系統就能用了嗎?它竟然連壓縮程序都沒(méi)有提供!你裝上Windows 之后一般第一件事就是去下載一個(gè) WinZip 吧,"只要 29 美元"。Windows會(huì )中病毒啊,馬上花 70 美元買(mǎi)一個(gè) Norton AntiVirus 吧。還有黑客呢?再買(mǎi)一個(gè)Norton Internet Security 好了,100 美元。系統需要優(yōu)化,磁盤(pán)需要整理,買(mǎi)一個(gè)Norton System Works 是你最佳的解決方案,100美元。

  可是你現在還是不能干正事??!你想要一個(gè) Word, PowerPoint?那就買(mǎi)一套 Office XP 吧,一起買(mǎi)便宜些,$459.90。

  那些程序不會(huì )用??!那些菜單怎么設置,到底有什么功能???看"幫助"也學(xué)不會(huì )。買(mǎi)本書(shū)看看吧,我推薦"Special Edition Using Microsoft Office XP",不貴,$27.99。這本書(shū)里面大部分是屏幕抓圖,還是買(mǎi)一本舊的比較劃算,$17.85。

  你如果只是當個(gè)秘書(shū),上面的差不多還湊合了。可是你有更高的追求,你想成為 Windows程序員。首先買(mǎi)一個(gè) Visual Studio.NET 吧,要不然怎么編譯程序。$494.95。

  為了緊跟微軟動(dòng)向,世界潮流,不能不注冊個(gè) MSDN 什么的吧?這個(gè)貴一點(diǎn),不過(guò)物有所值啊,$2,799。

  嗯,你現在已經(jīng)是上層階級,白領(lǐng)人士了。你現在可以像這樣"自由"的,"安全"的生活了。

  為什么要反對使用 Windows

  很多人都說(shuō)不應該完全否定 Window,Windows 也有它的長(cháng)處。不應該罵微軟。

  對。Windows 容易操作,適合普通用戶(hù)。如果微軟把它自己定位在 P&G,Philips 那樣的地位,能夠給我們的百姓提供周到的,完善的,價(jià)廉物美的服務(wù)。那我肯定是很喜歡它的。但是從上面的種種情況說(shuō)明,微軟是一個(gè)野心極大的國際壟斷組織!它的產(chǎn)品沒(méi)有一個(gè)是不出問(wèn)題的:Windows 不穩定,容易中病毒,而微軟不為大家免費提供殺毒軟件。我就是要讓你們花錢(qián)買(mǎi)我的朋友 Symantec 的殺毒軟件,誰(shuí)叫你們已經(jīng)上了我的賊船?這叫什么售后服務(wù)??!

  你買(mǎi)來(lái)微軟的程序,安裝的時(shí)候一般都有一個(gè)協(xié)議,說(shuō):"由于微軟的程序造成你的數據損壞或丟失,微軟概不負責。" 我想很多人肯定覺(jué)得這個(gè)不合理,不想按那個(gè) "I accept"。但是你的軟件買(mǎi)都買(mǎi)來(lái)了,錢(qián)都花了,現在一按 "I decline",安裝程序馬上就會(huì )退出。你只好被迫點(diǎn)擊了 "I accept"!這不是不平等條約嗎?

  我已經(jīng)目睹了好幾個(gè)朋友的文檔被 Microsoft Word 損壞,有的是編輯了十多天的30多頁(yè)的論文,有的是費了很大工夫做出來(lái)的個(gè)人簡(jiǎn)歷,那個(gè)朋友為此失去了到自己向往的P&G 工作的機會(huì )。就在他要投簡(jiǎn)歷的前一個(gè)晚上,就在那一瞬間…… 不知道他痛哭的時(shí)候有沒(méi)有想起要投訴微軟,可是誰(shuí)叫我們用的都是盜版呢,況且你還點(diǎn)擊了 "I accept"。

  微軟仗勢已經(jīng)占有大部分PC市場(chǎng),制定不符合國際標準的"微軟的標準",以不合理的方式壓制其它公司的軟件,這個(gè)問(wèn)題已經(jīng)在美國司法部鬧了很久了。他甚至在 Windows系列操作系統中放置能夠通過(guò)網(wǎng)絡(luò )泄漏用戶(hù)信息的代碼,以至于 Windows 剛進(jìn)入澳大利亞時(shí)被澳大利亞政府禁止使用。

  有些人說(shuō):"微軟畢竟開(kāi)創(chuàng )了一個(gè)歷史,造就了今天的 IT 行業(yè)。" 但是,如果沒(méi)有微軟,我們今天早就用上非常穩定,非??煽?,非常方便,非常"傻瓜"的軟件了!微軟是阻擋信息技術(shù)發(fā)展的罪魁禍首。

  微軟的程序的工作方式(注意,我只是說(shuō)操作方式,病毒的事情另外算)確實(shí)適合于一般家庭,上上網(wǎng),發(fā)發(fā)郵件,打打游戲都不錯。可是微軟卻要把自己包裝成什么"高科技"企業(yè),要在世界各地設置"研究院",在大學(xué)計算機系贈送不適合用于科研的 Windows產(chǎn)品,甚至出錢(qián)請圖靈獎得主來(lái)中國暢談"二十一世紀的計算",還在大會(huì )上宣傳自己的 .NET 技術(shù)。非要把別人認為自己是科學(xué)的,自己是領(lǐng)導世界高科技的。但是呢?它什么高科技也沒(méi)有。歐洲,美國,哪一個(gè)關(guān)鍵部門(mén)在用微軟的東西?NASA? DOE? CERN?你仔細想一想,微軟的程序對人類(lèi)到底有什么重大作用?

  什么是 Windows 能干而 Linux 干不了的事情?---

  "Windows 能干而 Linux 干不了的事情,那就是不需要干的事情。"

  有個(gè)朋友看我半年沒(méi)有用 Windows,有時(shí)就會(huì )問(wèn)我:"你只用 Linux,有沒(méi)有發(fā)現有些Windows 能處理的事情 Linux 干不了?"---

  我回答說(shuō):"Windows 能干而 Linux 干不了的事情,那就是不需要干的事情。"

  Windows 能做的有益的事情 Linux 都能做---

  Windows 下的某些功能確實(shí)是我們需要的,那么 Linux 的開(kāi)發(fā)者們和用戶(hù)也需要這種功能,他們就會(huì )去實(shí)現這種功能,而且比 Windows 的方式好得多。由于大多數科學(xué)家,工程師用的都是 Linux 或者某種商業(yè) UNIX, 所以幾乎所有商業(yè)的科學(xué)工程程序,比如Matlab, Mathematica, AutoCAD, Candence的,Synopsys的,Avant! 的……全都是先有UNIX 的版本(包括Linux),然后再考慮移植給 Windows,甚至根本不移植給Windows,因為 Windows 的機器一般沒(méi)有足夠的能力運行這樣的程序。你不要以為只有 Windows 才有 PSpice, UNIX 的 HSpice 要好得多,而且可以運行在大型主機上。當然它們不是免費的,但是它們值那個(gè)價(jià)錢(qián)。

  但是 Windows 下有些東西在 Linux 下沒(méi)有很相似的,或者你找到很多類(lèi)似的,但是它們每一個(gè)比起 Windows 的那個(gè)程序都要差很多,那么原因有兩種可能性:

  有一個(gè)完全類(lèi)似的程序,但是由于它乍一看不漂亮,被你忽略了。而其它程序雖然看起來(lái)很漂亮,但是它們是一些初學(xué)編程的人寫(xiě)的。現在由于 Gtk, Qt 的誕生,Linux 下開(kāi)發(fā)圖形界面程序極其簡(jiǎn)單,很多初中生甚至小學(xué)生都可以隨手編出一些漂亮不中用的程序。如果你整天尋找這樣的程序挑來(lái)挑去,永遠也找不到你滿(mǎn)意的。當然也有一流的程序用 Gtk 和 Qt,比如 GVIM 就可以用 Gtk 作為圖形界面,我還知道 Synopsys 一些程序用了 Qt。

  我曾經(jīng)也犯過(guò)這樣的錯誤,從外表區分一切。結果優(yōu)秀的 FVWM, lftp, Mutt, wget 都被我忽略過(guò)。當我找回它們的時(shí)候,我是那么的羞愧不已,它們現在都是我的朋友 我第一次看到 FVWM 覺(jué)得它只不過(guò)是一個(gè)有很厚很難看邊框的東西。可是現在,我的同學(xué)看到 FVWM 都說(shuō):"哇!真漂亮。"

  有另一種完全不同的方式可以達到相同的目的,甚至更好。

  很多人很關(guān)心 Open Office, Star Office, AbiWord, ... 他們多么盼望有一天某一個(gè)Linux 程序能夠完全兼容的打開(kāi)一個(gè)復雜的 doc 文檔。但是你永遠也不可能有那一天。為什么呢?因為微軟為了占有市場(chǎng),必定不會(huì )讓其它系統的程序能夠完全兼容它的文檔格式。它一定會(huì )不斷變化 doc 文檔的內部結構,隱藏一些秘密,讓其它公司的程序打開(kāi) doc 文檔時(shí)總是有某種問(wèn)題,從而你必需購買(mǎi) Microsoft Office 和 Windows。

  你應該想一下,那么多的高智商的大學(xué)教授,科學(xué)家,學(xué)生,他們用的都是 Linux 或者其它類(lèi)型的 UNIX,他們沒(méi)有 Word 可用,怎么處理文檔呢?這么多年沒(méi)有一個(gè)像Open Office 的程序出現,難道大家沒(méi)有辦法寫(xiě)文檔嗎?

  顯然不是這樣。你看看那些高水平的學(xué)術(shù)雜志,論文,那些大學(xué)教授的網(wǎng)頁(yè),那些漂亮的幻燈片,它們是什么做的?原來(lái) UNIX 用戶(hù)早就有非常方便的 troff, LaTeX, SGML等東西可以處理文檔,而且它們比起 Word 都要高明的多。Word 顯然被這些大拿忽略了,以至于很久以來(lái)沒(méi)有人想在 Linux 下開(kāi)發(fā)一個(gè)類(lèi)似 Word 的程序,除非某些公司想搶微軟的飯碗。

  很多人留著(zhù) Windows 在硬盤(pán)上的原因無(wú)非是為了用 Word 和 PowerPoint。我見(jiàn)過(guò)一個(gè)教授,他的 Windows 筆記本電腦上除了 PowerPoint 什么都沒(méi)有。有一天演示的時(shí)候,他指著(zhù)堆亂字符說(shuō):"對不起,這是一個(gè)公式……怎么每次都是這樣……" 其實(shí)有比PowerPoint 好幾百倍的東西可以制造幻燈片,你可以用最簡(jiǎn)單的方法制造世界一流效果的論文和幻燈片。你待會(huì )兒可以看看我的TeX網(wǎng)頁(yè),你就會(huì )知道為什么我可以完全離開(kāi) Windows。

  Windows 能做的那些沒(méi)用的事情 Linux 永遠做不好

  電腦游戲

  有些人說(shuō) Linux 下不能玩 Windows 下所能得到的所有游戲。的確,Linux 下雖然也有少量的游戲,比如 Quake。但是它沒(méi)有 Counter Strike, 沒(méi)有 Star Craft, ……

  并不是說(shuō)電腦游戲不該玩,但是應該適可而止。電腦是用來(lái)處理事務(wù),幫助你學(xué)習,解決問(wèn)題的工具,而不是一個(gè)玩具!整天沉迷于電腦游戲中,而不出去感覺(jué)外面的世界,你會(huì )變得越來(lái)越冷酷,越來(lái)越缺乏人情味。你與真實(shí)的世界越來(lái)越遠。

  你可以在 CS 里殺人,你可以在 Tomb Raider 里探險,你甚至可以在 Tony Hawk's Pro Skaters 里滑板…… 但是 It's not real!你雖然有很高的"反恐技巧",但是遇到歹徒的時(shí)候,你是那么的怯懦;你雖然控制 Laura 伸手敏捷,但是你打籃球的時(shí)候怎么總是被人斷球?你雖然可以輕易的在 THPS 里作出一個(gè) "360 kickflip to hangten grind to fakie",但是你踩在自己的滑板上的時(shí)候還不會(huì ) ollie!

  說(shuō)回來(lái),如果你偶爾玩一下電腦游戲未嘗不可。但是世界上有遠比 Windows + PC 更好的游戲方式。Sony 的 PlayStation2, SEGA 的 DreamCast, Nintendo 的 N64,Namco的街機……每一個(gè)都比 Windows 游戲精彩,每一個(gè)都有如此高的3D性能,以至于Pentium4, Itanium + GForce4 都無(wú)法與它們比美!

  Linux 的用戶(hù)們都是關(guān)心解決世界的關(guān)鍵問(wèn)題的份子,他們哪里有時(shí)間用自己的機器來(lái)玩游戲???他們每天用Linux高效的做完自己的工作就到陽(yáng)光下享受自然去了。要玩游戲也是玩一些類(lèi)似推箱子,貪吃蛇之類(lèi)的智力小游戲。所以,你知道為什么 Linux 幾乎沒(méi)有游戲了吧?

  "整理硬盤(pán),優(yōu)化系統"

  這是一個(gè)非常有意思的話(huà)題,僅次于有關(guān)"病毒"的話(huà)題。相信很多 Windows 用戶(hù)都有整理硬盤(pán)的經(jīng)歷。在很多 Windows 用戶(hù)眼里,"硬盤(pán)用久了,會(huì )出現碎片,速度會(huì )減慢,需要一個(gè)程序來(lái)整理,整理硬盤(pán)的時(shí)候不要做其它工作",這好像是天經(jīng)地義的事情。

  我也曾經(jīng)津津有味的看著(zhù) Norton Defrag 一點(diǎn)一點(diǎn)的把我的硬盤(pán)排序,調整,用圖形的方式顯示出來(lái),然后報告?"100% 沒(méi)有碎片。你的硬盤(pán)現在已經(jīng)達到最佳狀態(tài)。" 我現在才發(fā)覺(jué)我那時(shí)是多么的幼稚。

  Linux 和 UNIX 用戶(hù)似乎從來(lái)沒(méi)有"整理硬盤(pán)"這種說(shuō)法呢?你覺(jué)得很奇怪嗎?如果你覺(jué)得很奇怪,那說(shuō)明你的思想在某種程度上被微軟的垃圾程序禁錮了。你需要明白,UNIX 的大型主機很多必須是一天24小時(shí),一年365又1/4天不停運轉的,要是每個(gè)星期都要整理一次硬盤(pán),在整理的時(shí)候幾乎不能干任何事情,那是絕對行不通的!

  Linux 機器根本不用整理硬盤(pán),這就是為什么沒(méi)有看到過(guò) Linux 用戶(hù)整理硬盤(pán)。Linux 的文件系統是比 Windows 的 FAT, FAT32, NTFS 高明得多的文件系統,它們不但可以對文件設置權限,實(shí)施完全的保護,而且可以"越用越整齊","越用碎片越少"!你應該把文件大部分放在 Linux 的分區,而不是 Windows 分區,因為它比 Windows分區可靠得多。

  還有更滑稽的事情就是有很多"Norton System Doctor","Windows 優(yōu)化大師","超級兔仔注冊表魔法" 之類(lèi)的程序存在,而且價(jià)格昂貴。似乎一個(gè)操作系統本來(lái)應該有很多問(wèn)題,需要別的廠(chǎng)商做程序來(lái)"優(yōu)化"它,而且為了得到優(yōu)化,你需要付錢(qián)!這些問(wèn)題 Linux 根本就沒(méi)有,所以不需要什么優(yōu)化。Linux 內核本身就是高度優(yōu)化的。

  IDE

  有些人在抱怨為什么 Linux 沒(méi)有一個(gè)良好的 IDE 開(kāi)發(fā)環(huán)境。Linux 現在已經(jīng)有一些IDE 了,但是總是有很多問(wèn)題。你是不是正在尋找,正在期望 Linux 某一天可以有一個(gè)VC那樣的開(kāi)發(fā)環(huán)境?你有沒(méi)有發(fā)現你正在進(jìn)入微軟給你設下的怪圈?你為什么一定要用 IDE?你說(shuō):"IDE 開(kāi)發(fā)迅速,調試方便,適合大型程序……" 那說(shuō)明微軟的程序在你腦子里已經(jīng)比較根深蒂固,你需要好好清醒一下了,看看我來(lái)告訴你。

  高明的 UNIX 程序員不用 IDE,IDE 從來(lái)就是給初級 Windows 程序員用的。

  你看看大型的 UNIX 程序,包括 Linux 內核,各種網(wǎng)絡(luò )服務(wù)程序,X(qián)window 程序在內,哪一個(gè)是 IDE 搞出來(lái)的?我們實(shí)驗室的 EDA 程序也沒(méi)有一個(gè)是 IDE 弄的,我還知道Candence, Synopsys,Mentor 的高性能的圖形界面 EDA 程序也都不是 IDE 寫(xiě)的。你信不信,微軟的人在寫(xiě) Windows 本身的時(shí)候也根本不用 IDE。微軟內部程序員最喜歡的編輯器其實(shí)是 VIM,用 VIM 的微軟程序員上次向烏干達的可憐兒童捐助了1000多美元,這是值得稱(chēng)贊的。

  有一次某雜志采訪(fǎng)一些出名的 Linux 內核程序員,包括 Linus 在內,沒(méi)有一個(gè)人用IDE,有的人用 VIM,有的用 Emacs,只有 Linus 說(shuō)"GNU Emacs is evil",但是其實(shí)他用的是一種跟 Emacs 有同樣鍵綁定功能的 MicroEmacs。大家都是用編輯器編輯了程序文件,然后用 make 這樣的自動(dòng)工具調用 gcc 編譯器完成編譯工作的。甚至高級的 Windows 程序員也不用 IDE,他們可以從命令行調用 cl,nmake 來(lái)編譯自己的程序。雖然這樣的 Windows 程序員很少,但是他們卻是最了解 Windows,最高明的Windows 程序員。

  為什么 UNIX 程序員不用 IDE?明白了這個(gè)道理你就能體會(huì )到 UNIX 的設計思想了。首先,一個(gè) IDE 集成了編輯器,編譯器,匯編器,調試器,跟蹤器…… 這個(gè)編輯器功能肯定比不上 VIM 或 Emacs,編譯器比不上 GCC,匯編器比不上 as,調試器比不上 gdb,ddd, 跟蹤器比不上 strace, ltrace, truss。你得到的是一套整合的低能的程序。如果你對調試器的功能不滿(mǎn)意,你只好換用另外一套 IDE,但是這套 IDE 的熱鍵,菜單,編輯器功能,按鈕…… 跟原來(lái)那個(gè)有很大不同。你不得不花很多時(shí)間來(lái)熟悉新的環(huán)境,而不能保持原來(lái)的某些東西。

  而在 UNIX 下就不一樣了。你可以用你最喜歡的 VIM 編輯程序,你在 VIM 里可以調用GNU make,make 可以調用 gcc, ld, ... make 的出錯信息可以被 VIM 捕獲,VIM 能幫你在源程序里定位。你如果喜歡 icc, 你可以讓 make 用 icc 而不是 gcc。你如果覺(jué)得 gdb 跟蹤變量時(shí)比較麻煩,你可以用 ddd 來(lái)顯示各種數據結構之間的關(guān)系。你還可以在 Emacs 里調用 gdb,那樣就可以同步顯示源代碼了。而且 VIM 和 Emacs 還可以編輯很多其它東西,比如信件,LaTeX 文檔,HTML,配置文件…… 你不用另外找一個(gè)什么編輯器來(lái)干這些雜活了。很多程序比如 Mutt, tin 都可以在內部使用 VIM,這樣就更方便了。實(shí)際上 make 在其它方面還能幫你很多忙,我的每一個(gè)比較大型的 LaTeX文檔都是用 make 維護的。

  Linux 能干的高精尖的事情 Windows 都干不了

  當然有很多事情是Linux/UNIX的專(zhuān)利了。因為 Windows 只能裝在 PC 機上,好像以前也有 Alpha 可以使用 Windows NT,但是就是沒(méi)見(jiàn)到有人用。PC 機的能力是很低的,像我們編程序處理 NP-Hard 問(wèn)題的人,用 Windows 的機器顯然速度不夠,而且有時(shí)一個(gè)問(wèn)題算上幾天甚至幾個(gè)星期,Windows 機器是以"死機"著(zhù)稱(chēng)的,我們怎么能放心?所以幾乎所有科學(xué)計算程序,EDA 程序,高性能圖像處理程序都不是 Windows 的。他們有時(shí)也會(huì )移植一些給 Windows,但是常常降低那些程序的能力。你比較過(guò) Windows 版本的 Mathematica 和 Linux 的有什么區別嗎?

  IBM 制造的最大的并行計算機有 8000 多個(gè)處理器,Windows 不可能有能力管理這么多處理器,它用的是什么操作系統?答案是 Linux。

  《泰坦尼克號》電影里的三維動(dòng)畫(huà),那么細膩逼真,Windows機器能做出來(lái)嗎?不行。那也是 Linux 機器做的。

  民航總局用來(lái)訓練地情人員的虛擬現實(shí)訓練設備,Windows 當然無(wú)能為力。那都是商業(yè)的 IRIX 機器。

  UNIX 是最早支持 TCP/IP 網(wǎng)絡(luò )協(xié)議的系統。它上面有很多可以互相協(xié)作的網(wǎng)絡(luò )服務(wù)程序,它們經(jīng)過(guò)多年的使用和修訂,已經(jīng)達到比較完善的程度。而就在1997年,微軟的比爾蓋茨還在揚言:"Internet 是沒(méi)有前途的。" 微軟的這個(gè)"遠見(jiàn)卓識"大家應該都已見(jiàn)識,它后來(lái)加上的網(wǎng)絡(luò )服務(wù)程序IIS漏洞之多,讓公安部都頻頻發(fā)出警報,大家也是見(jiàn)識了的。

  其實(shí)你知道了,Windows 沒(méi)有一樣有用的事情能比 UNIX 干的更好。

  Linux 干不了的有用的事情 Windows 照樣干不了

  當然 Linux 不是萬(wàn)能的。它也有不能干的事情,電腦也有干不了的事情。但是 Linux干不了的事情,Windows 肯定也干不了。這些事情就是我們需要探索,需要努力的事情了。在你探索的過(guò)程中,Linux 必定是你的好伙伴。

  不要把Linux和Xwindow掩蓋起來(lái)!不要把我們的用戶(hù)當成傻瓜。

  什么?你早就知道 Windows 是垃圾?噢!你怎么不早說(shuō)呢!害我廢話(huà)這么多。嘿嘿。

  "好了。你知道 Windows 是垃圾,你現在用什么?"

  "Linux + Xwindow"

  "那我問(wèn)你,X(qián)window 是什么樣的?"

  "不就是跟 Windows 差不多嗎?只不過(guò) 'Start' 按鈕比較方,而且上面不是一個(gè)Windows 標志,而是一個(gè)腳丫子。點(diǎn)擊一下居然還有很漂亮的中文菜單。我喜歡!"

  "你知道什么是'根窗口'嗎?"

  "不知道。從來(lái)沒(méi)聽(tīng)說(shuō)過(guò)呢?"

  "根窗口就是遮蓋整個(gè)屏幕的那個(gè)最大的窗口。"

  "哪兒有什么窗口??!我沒(méi)有看到呢?"

  你發(fā)現了問(wèn)題嗎?這些 Linux 用戶(hù)說(shuō)是在用 Linux 和 Xwindow,但是他們對 Linux和 Xwindow 幾乎完全不了解。很多人用了那么久 Xwindow 都不知道根窗口是什么東西,不知道其實(shí)按鈕也是窗口,不知道窗口管理器和其它程序有什么關(guān)系,大家都以為窗口上面的按鈕是程序自己放上去的,不知道窗口?"class name","resource name"是什么東西。他們也不知道 .Xdefaults 是用來(lái)干什么的。特別是他們很多人都不知道 Xwindow 的字體是如何命名的,什么是 fontset,有了一個(gè)新的字體也不知道怎么安裝。

  他們被遮在 Linux 之上的一層一層的包裝迷惑了,他們等待有圖形界面的工具來(lái)幫助完成一切事情,他們認為 Linux 跟 Windows 一樣,只是麻煩一點(diǎn)。他們知道 Linux內核很好,但是他們感覺(jué)不到 Linux 和 Xwindow 在操作層面的天生的先進(jìn)性,隨后不久就把 Linux 完全刪除掉了。你發(fā)現沒(méi)有,要用戶(hù)理解 UNIX 和 Xwindow 的操作層面的先進(jìn)性,才是留住用戶(hù)的最好辦法。如果用戶(hù)體會(huì )不到操作時(shí)的方便和高效,內核再好他們也不會(huì )理會(huì )。

  但是用摹仿 Windows 的作法來(lái)吸引用戶(hù),永遠會(huì )失敗的。因為 Linux 如果摹仿Windows那一套低效率的方式,那么 Linux 的這套"低效率方式"永遠比不上Windows 的那一套"低效率方式"。那么用戶(hù)就會(huì )說(shuō):"這個(gè) Linux,沒(méi)有一樣比的上 Windows。"

  Linux 天生就是繼承了 UNIX 的高效的工作方式,為什么我們要把它掩蓋起來(lái)?我們?yōu)槭裁粗桓嬖V用戶(hù) KDE 的菜單怎么用?我們?yōu)槭裁床荒芟裨缙诘?Xwindow 書(shū)籍那樣第一節就告訴用戶(hù)什么是 X server, 什么是 X client,什么是 Window Manager, 什么是根窗口。第二章就告訴用戶(hù)窗口有哪些屬性,什么是 classname, resource name, hint,怎樣使用 .Xdefaults, xrdb ……

  在這里我又不得不說(shuō)一下那些 Linux 的發(fā)行公司和寫(xiě)書(shū)的人,他們把 Linux 和Xwindow 包裝起來(lái),卻沒(méi)有從基本上告訴用戶(hù) Xwindow 的工作原理。很多書(shū)籍講授的層次就是在Gnome, KDE 的菜單操作的層次,靠大量抓圖來(lái)占篇幅,"繁榮"Linux 書(shū)籍市場(chǎng)。

  現在很多人已經(jīng)把能夠利用別人的庫寫(xiě)出一個(gè)好看的程序作為自己編程水平的象征。在這?"圖形化","可視化" 的年代,你如果還在用 troff, LaTeX 寫(xiě)文檔,你還在用VIM 自己編輯 HTML,用 Mutt 處理郵件,你還在用文本模式的 gdb 調試程序,你還在用Xlib 寫(xiě)程序, 你還在用 tin 上 USENET,你還在自己寫(xiě) Makefile,寫(xiě)機器代碼,你還在玩 Clossal Cave 這樣的字符模式冒險游戲,那你就是老古董。

  其實(shí)這種思想是錯誤的。雖然你是一個(gè)堅決的 Linux 支持者,但是你的思想是 Windows的思想。你認為圖形界面,菜單,按鈕就可以解決一切問(wèn)題,就可以給你高效方便。你還是沒(méi)能擺脫微軟給你的潛移默化的東西。你其實(shí)離不開(kāi) Windows 那樣的環(huán)境,你遲早會(huì )刪掉自己的 Linux。

  GUI vs. CLI

  做一個(gè)堅定不移的"兩面派"

  大家看到這個(gè)標題是不是熱血沸騰?兩派大蝦都可以圍攻我了:

  GUI派用戶(hù):"哇!我一看你這小子就是 CLI 的。要不然自己寫(xiě)什么 Makefile?用什么Mutt?"

  CLI派用戶(hù):"切~ 你還用 X!高手都不用 X。你是 GUI 那邊的。"

  可憐的我:"555~~ 你們都不要我~~ GUI 和 CLI 就那么水火不容嗎?"

  計算機界這樣的門(mén)派之分還很多。很有特點(diǎn)的就是 CLI 和 GUI 了。CLI (Command LIne)的狂熱份子聲稱(chēng)永遠不用 X。我上次在實(shí)驗室看到一個(gè)同學(xué)用一個(gè) SecureCRT 登錄到Sun 機器,然后用一個(gè) vanilla vi 編輯程序,我建議他啟動(dòng)一個(gè) GVIM 過(guò)來(lái)顯示在Exceed 上可以有語(yǔ)法加亮。但是他堅決反對,說(shuō):"高手不用X。你想想,要是我在一個(gè)很慢的網(wǎng)絡(luò )連接怎么用 X?而且好多服務(wù)器沒(méi)有裝 X 程序。"

  但是我們實(shí)驗室的網(wǎng)速可夠快,Windows 機器都有 Exceed 啊,而且 Sun 機器有全套X 客戶(hù)程序包括 GVIM。他說(shuō)他是 CLI 的堅決擁護者,但是他卻在用 Windows,他后來(lái)打開(kāi)了好幾個(gè) SecureCRT,每次從文本框輸入地址,用戶(hù)名和密碼,從下拉菜單選擇"SSH2",然后點(diǎn)擊"Connnect"。他還不斷的夸SecureCRT是"網(wǎng)絡(luò )管理員投票選出的最受歡迎的登錄方式"。老天,SecureCRT 本身就是個(gè) GUI 啊,他其實(shí)沒(méi)有明白Xwindow 的好處。

  你說(shuō)我是 GUI 的?我雖然很少在 console 下工作。但是我對 bash, VIM 很熟悉,我可以讓 bash 按照我的鍵綁定方式來(lái)工作。我可以在 rxvt 里使用 Mutt 來(lái)收發(fā) email。我的每個(gè)桌面上都常常堆放著(zhù)一打不同大小的 rxvt。我用 VIM 編輯 LaTeX。我自己寫(xiě)Makefile 來(lái)維護 LaTeX 文檔。我有時(shí)用 mpg321 來(lái)放 mp3。我上BBS用的我自己寫(xiě)的expect 腳本。 好了,CLI 派的朋友可以收我做盟友了

  你說(shuō)我是 CLI 的老古董?我的 FVWM 被我配置為可以"手寫(xiě)操作",我只要畫(huà)一個(gè)"r"就可以啟動(dòng) rxvt,我只要畫(huà)一個(gè) "U" 就可以啟動(dòng) GVIM,…… 我用 GVIM 語(yǔ)法加亮模式編輯程序,我用 Mozilla 瀏覽網(wǎng)頁(yè),…… GUI 派的現在好像認我做朋友了

  好了。CLI 派的朋友,雖然我很喜歡命令行,但是我有時(shí)在屏幕上左右畫(huà)一下就可以執行:

  Module FvwmConsole -terminal rxvt -geometry 45x5-0+0 -bg gold -fg midnightblue -fn "-adobe-courier-medium-r-*-*-14-*-*-*-*-*-*-*"

  你是不是現在又想把我逐出師門(mén)?

  GUI 派的朋友,雖然我很喜歡窗口。但是我可以在 FvwmConsole 里輸入:

  All (rxvt) MoveToDesk

  把我所有的 rxvt 移動(dòng)到我現在工作的桌面。"這家伙,怎么這么快就叛變了!"

  其實(shí)何必分什么 GUI 和 CLI,UNIX 和 Xwindow 都是工業(yè)標準,它們從設計那天開(kāi)始就有非常靈活的用法,各個(gè)程序,不管是 GUI 還是命令行的都可以互相協(xié)作。UNIX 和X 是一家,何必搞的那么偏激,非此即彼?你從我上面的行為可以看出 GUI 和 CLI的模糊界線(xiàn)嗎?我就是堅定不移的"兩面派"。

  UNIX 是簡(jiǎn)單的--

  "我相信簡(jiǎn)單就是最好,如果太復雜,我是不能理解的。" -Seymour Cray

  很多第一次用 Linux 的人會(huì )驚奇的發(fā)現,Linux 的程序居然不?"安裝"就可以運行,程序拷貝到隨便那個(gè)目錄都可以用,而不是一定要占用你第一個(gè)分區的空間。程序的設置只是一些簡(jiǎn)簡(jiǎn)單單的文本文件。你根本不需要什么"注冊表修改器" 就可以改變系統的設置。這就叫做簡(jiǎn)單,但是簡(jiǎn)單就是美。雖然這只是 UNIX 簡(jiǎn)單性的一個(gè)膚淺的認識,你已經(jīng)體會(huì )到了某些東西。

  但是簡(jiǎn)單并不意味著(zhù)功能弱,并不意味著(zhù)落后。相反,簡(jiǎn)單意味著(zhù)強大,意味著(zhù)生命力。

  我不會(huì )再繼續闡述我理解到的"UNIX 的簡(jiǎn)單",因為這個(gè)需要自己去體會(huì )。

  UNIX 是永恒的

  有人說(shuō):"Plan9 會(huì )取代 UNIX,Mach 會(huì )取代 Linux 內核。"

  但是你如果是一個(gè)深入體會(huì )了 UNIX 的人,你就會(huì )知道:UNIX 的思想是永恒的,不管時(shí)過(guò)境遷,Plan9 是否代替 UNIX,UNIX 的靈魂都會(huì )在 Plan9 身上現形!

  我為同一個(gè)設備寫(xiě)過(guò) Linux 內核和 Windows VxD 驅動(dòng)程序。寫(xiě) Linux 驅動(dòng)程序時(shí),我對 UNIX 設計的完美的一致性,遠見(jiàn)性所折服。UNIX 用同樣界面的 read(), write()系統調用就可以對不同的對象:普通文件,設備文件,管道,管道文件,socket,……進(jìn)行統一的讀寫(xiě)操作。我跟本不需要寫(xiě)一個(gè)測試用的應用程序就可以對我的設備驅動(dòng)進(jìn)行測試,因為 cat, cp, dd, 它們也使用了同樣的 read(), write(),設備和普通文件在應用程序眼里沒(méi)有區別。在那個(gè)還沒(méi)有 Smalltalk, 沒(méi)有 C++ 的年代,UNIX 的設計者已經(jīng)使用了所謂的 "面向對象方法"。對,C 語(yǔ)言也可以實(shí)現面向對象。

  UNIX 的系統調用幾十年都沒(méi)有很大變化,這非但不是頑固,不進(jìn)步的象征,反而是UNIX 的遠見(jiàn)卓識的體現!這就跟 TeX 程序幾十年都不變的情況差不多。這些才是真正的永恒的 master piece! 你應該改變所有軟件都必需從 0.1, 1.0, 1.1, 1.2, 2.0,..., 3.0, 3.1, 95, 98, 2000, XP, ... 不斷升級的想法。

  Windows 就不同了,它在最開(kāi)頭只是一個(gè) DOS 之上的圖形包裝而已。后來(lái)為了兼容以前的糟糕設計,不得不加上很多累贅。我寫(xiě) VxD 驅動(dòng)程序的時(shí)候就深有體會(huì ),Windows 95 程序對設備的操作只有用 DeviceIoControl,我不得不寫(xiě)了兩個(gè)應用程序來(lái)對設備驅動(dòng)進(jìn)行測試。Windows 內核的不一致性和隱密性使我非常惱火。不過(guò) Windows WDM驅動(dòng)程序現在也有了 ReadFile, WriteFile,…… 那說(shuō)明什么?那說(shuō)明 Windows 在向UNIX 學(xué)習,或者有可能是某個(gè) UNIX 設計人員在微軟打了幾天臨工,順手加了幾個(gè)UNIX 的東西進(jìn)去。這樣做是沒(méi)有用的,Windows 從一開(kāi)始就是非常糟糕的設計,它的歷史的包袱太沉重了,縫縫補補有什么用?它只能永遠的被 UNIX 甩在身后!

  UNIX 是強大的

  讓聰明人干任何他們想干的事情。

  UNIX 的一個(gè)特點(diǎn)就是非常高的靈活性,X(qián)window 也具有這種靈活性。這種靈活性體現在哪里呢?

  UNIX 的程序一般都有很多參數,不管你現在用的著(zhù)用不著(zhù),總有人需要某些參數。它們的行為很多都可以用配置文件來(lái)改變。比如 GNU bash, 通常缺省的命令行輸入方式是 Emacs 方式,但是只要我編輯一個(gè) .inputrc 文件,就可以把它變成 vi 的輸入方式,而且我還可以自己綁定鍵序列到某些操作。我可以用 shopt 來(lái)設置它的很多特點(diǎn),比如是否進(jìn)行通配符擴展,是否可以把一個(gè)變量當作一個(gè)目錄來(lái)cd,是否可以自動(dòng)糾正某些明顯的目錄名打字錯誤 ……

  UNIX 程序設計的思想是提供給用戶(hù)"機制",而不限制用戶(hù)制定"政策"。這是一個(gè)重要的尊重用戶(hù)的作法。

  我們再來(lái)看看 Xwindow。X(qián)window 是一個(gè)出色的設計,它把顯示服務(wù)器和客戶(hù)程序分開(kāi)。一個(gè)顯示上既可以顯示本機上的程序,也可以顯示別的機器上的 X 程序,而它們都遵守你的窗口管理器的統一指揮,它們之間可以方便的傳送剪貼版數據,各種事件 …… 比如有時(shí)我的 XFree86 上會(huì )出現四個(gè)不同機器上的 XTerm,兩個(gè)不同機器上的 GVIM,…… 它們統一受本機上的 FVWM 指揮。

  Xwindow 程序都具有很多很多命令行參數和 resource 參數。你可以隨意的在命令行或者 .Xdefaults 文件設置所有的顏色,字體,尺寸…… 而且如果你用 xrdb 把 .Xdefaults 導入到根窗口,那么其它機器上沒(méi)有經(jīng)過(guò)配置的同樣的程序,顯示到你的機器上的時(shí)候也會(huì )遵守同樣的外觀(guān)規定。

  Xwindow 的窗口具有 Property, 也就是一些可以自己定義的共享數據(原子)。正是因為這些 Property 的存在,使得 Xwindow 具有無(wú)比強大的生命力。X(qián) 的窗口管理器和其它客戶(hù)程序之間并沒(méi)有統一的協(xié)議,但是后來(lái)出現了 ICCCM(客戶(hù)程序間通信規范),這個(gè)規范就是通過(guò) property 定義的。現在又有人定義了一套"擴展的窗口協(xié)議(EWM Hints)",使得Xwindow 可以具有某些 Windows 的特征,比如一個(gè)工具條程序可以告訴窗口管理器:"這個(gè)屏幕下面被我占據了24個(gè)像素的空間,你最大化程序的時(shí)候不要越過(guò)這個(gè)界線(xiàn)。"

  一個(gè)強大的窗口管理程序比如 FVWM,它收到這樣的提示時(shí),可以答應工具條程序的這個(gè)要求,也可以不答應。一切選擇的權力在于誰(shuí)?當然是用戶(hù)了!

  你想想,是不是有些 Windows 程序常常彈出一個(gè)窗口要你選擇 "Yes or No"?你不點(diǎn)擊它它就不下去。你覺(jué)不覺(jué)得你的程序在侵犯你的尊嚴?你是一個(gè)人,一個(gè)智慧的生物,怎能受到一個(gè)程序如此的待遇?

  還有就是很多 Windows 程序把人當成傻瓜,而它是"智能程序"。比如,有一個(gè)程序就是喜歡把你的每句話(huà)第一個(gè)字母都變成大寫(xiě),我不說(shuō)它是誰(shuí)了,你遇到的時(shí)候就知道了。

  如果連"一句話(huà)開(kāi)頭一個(gè)字母要大寫(xiě)"這么明顯的問(wèn)題都需要程序幫你糾正的話(huà),人腦還用來(lái)干什么?況且如果你故意想要不大寫(xiě)的話(huà),那就更麻煩了,我楞是沒(méi)有從它那一大堆菜單里找到怎么關(guān)閉這個(gè)愚蠢的選項。

  只有符號才能完全操縱計算機。

  我們來(lái)說(shuō)說(shuō)很多初學(xué) Linux 的用戶(hù)。雖然他們在用 Linux,但是他們打心眼兒里是覺(jué)得Windows 的工作方式好,他們希望 Linux 有一天能"像Windows那樣"。你說(shuō):"我的鼠標一點(diǎn),我菜單一拉,…… 就可以完成我的操作。" 但是我要告訴你:"Linux 從來(lái)沒(méi)有摹仿 Windows,將來(lái)也不會(huì )。Linux 從誕生之日起,它的工作方式就比 Windows 的先進(jìn)。

  Linux 屬于能勇敢面對符號的人。只有符號才能完全操縱計算機。"

  看看優(yōu)秀的 UNIX 程序,X(qián)Free86, FVWM, VIM, Emacs, proftpd, Mutt, wget, tin, ... 沒(méi)有一個(gè)不是用配置文件來(lái)設置選項的。為什么這些程序沒(méi)有方便的菜單可以用來(lái)配置?難道它們的設計者就那么低能,連個(gè)圖形配置界面也寫(xiě)不出來(lái)?

  當然不是。因為圖形界面配置方式的能力是極其有限的,而配置文件和程序語(yǔ)言的表達能力卻是無(wú)限的。用圖形界面配置這些程序的話(huà),如果你想達到配置文件的效果,你需要成百上千的菜單,checkbox, radio button, ... 到時(shí)候你根本沒(méi)辦法找到你需要修改的地方了!而各個(gè)程序的配置文件的語(yǔ)法都有很多相似之處,一般就是一些命令,設置一些變量,參數,…… 一旦用會(huì )了一個(gè),其它的也就容易理解了。如果你用慣了 awk, sed, Perl,你會(huì )覺(jué)得那才是真正的自動(dòng)化啊。

  鼠標雖然是很好的工具,但是它的表達能力是有限的。你不可能光用鼠標就讓電腦完全明白你的意思,它畢竟只有3個(gè)按鈕。看看我的MetaPost頁(yè)你就能體會(huì )到鼠標的這一弱點(diǎn)。所以我們雖然很喜歡鼠標,但是卻不能完全依賴(lài)它。

  各個(gè)小程序的完美配合

  這就是UNIX最重要的特點(diǎn)了,它就是UNIX設計的思想。讓每個(gè)程序只具有一項專(zhuān)門(mén)的能力,然后讓它們合作。X(qián)window也繼承了這種好傳統。這恐怕就是Windows和其它操作系統望塵末及的地方了。UNIX 程序設計之統一,配合之完美,真使我難以置信!shell, grep, find, awk, sed, make, Perl, Emacs, vi, tin, Mutt, ... 它們是那么的具有一致性!你一旦學(xué)會(huì )了 sed 的正則表達式,其它程序基本上都能用了。你一旦學(xué)會(huì )了vi 和 VIM, 你會(huì )發(fā)現它的操作是那么的有規律性,似乎vi的設計者在幾十年前就已經(jīng)設計好了 VIM 在今天的完美而統一的操作方式!而且vi的操作還體現在 Mutt, tin 等很多程序中。你甚至可以把 bash 設置為 vi 的輸入方式來(lái)輸入命令行,我就是這么做的。一個(gè)程序可以調用另外一個(gè)程序來(lái)得到數據,可以把數據交給它處理后返回來(lái),可以在自己的窗口里"嵌入"另外一個(gè)程序。

  在 Windows 和其它非 UNIX 操作系統中,這種合作是非常困難的。我曾經(jīng)在Windows下使用 Perl來(lái)進(jìn)行一些自動(dòng)工作。但是 Windows 的文件操作,管道是如此的不穩定,程序之間基本不能合作。你別想在 Visual Studio 窗口里面嵌入 UltraEdit 編輯器,你別想用一個(gè) expect 腳本來(lái)控制 telnet 到水木清華BBS。

  Windows 的程序都是大而全,大而雜,所有的電子郵件程序都需要自己提供編輯器,自己發(fā)送和收取郵件,自己顯示郵件的附件。每一個(gè)BBS程序都提供自己的Virtual Terminal, 自己的通訊代碼。每一個(gè) IDE 都自己提供編輯器,編譯器,匯編器,調試器。人們?yōu)榱耸褂靡环N新的程序,需要適應所有這些它提供的界面,而不能使用自己喜歡的編輯器的鍵綁定,菜單組織…… 不能 DIY!

  你要知道,最高級的電腦是定做的,自己想要什么什么CPU,什么主板,多少內存,什么硬盤(pán),鍵盤(pán),鼠標,顯示器都是自己選擇的。最高級的滑板,自己想要什么牌子的版面,什么牌子的沙,什么橋,什么輪子,什么軸承,也都是自己選的。最高級的古球拍,木板,膠皮,海綿,膠水都是可以自己選擇…… 而用 Windows 程序,你得到的是大雜燴,就像你去買(mǎi)"品牌機",只有那么幾種配置,而且附帶很多你不需要的軟件和服務(wù);就像你去買(mǎi)組裝好的滑板,你想要大一點(diǎn)的輪子和窄一點(diǎn)的板子,但是你沒(méi)有這種選擇余地!Windows 程序就相當于最廉價(jià),最次的滑板。但是它卻會(huì )花你更多的錢(qián),因為一旦一個(gè)部件壞了,或者你不喜歡了,你不能另外找一個(gè)好的換掉它,你必需重新買(mǎi)全套配件!

  而 UNIX 和 Xwindow 就是高檔的"組裝貨"。比如我用 Mutt 的時(shí)候,我可以用 VIM也可以用 pico 來(lái)編輯郵件,我可以用 ImageMagick 也可以用 xv 來(lái)顯示附件里的圖片,我可以用 lynx 把 HTML 附件轉成文本嵌入窗口中,我也可以把 HTML 附件交給Mozilla 圖形顯示。我可以讓 GnuPG 幫我把郵件進(jìn)行數字簽名和加密,我也可以用其它 PGP 程序。

  我想讓 Postfix 而不是 sendmail 幫我發(fā)出郵件,我想讓 fetchmail 幫我收郵件,轉發(fā)給 postfix,然后被我自己寫(xiě)的Perl過(guò)濾器處理…… 這一切我都可以辦到!我可以選擇我最喜歡的專(zhuān)門(mén)的程序來(lái)完成專(zhuān)門(mén)的工作,然后把它們結合在一起,我也可以分別得到它們的好處。

  學(xué) UNIX 絕對不是浪費時(shí)間

  有人告訴我:"你看我用 Windows 什么都不用學(xué)。而用 Linux,光是安裝就花了我一個(gè)星期!"

  首先,我要告訴你的是,你裝 Linux 花了一個(gè)星期,不是因為 Linux 不好裝,而是因為你已經(jīng)習慣了 Windows,對 Linux 最初難以理解而已。你想一想你最初安裝Windows的時(shí)候呢?你花了多少時(shí)間搞明白什么是硬盤(pán)分區?什么是盤(pán)符?什么是目錄?你認為Windows 就是那么容易可以學(xué)會(huì )的嗎?雖然你覺(jué)得沒(méi)花時(shí)間學(xué),但是你以前在用別人的機器的時(shí)候已經(jīng)耳濡目染,自然就了解了。而且由于你想要 Linux 和 Windows 并存于硬盤(pán)上,又增加了安裝難度。而且你肯定沒(méi)有得到有經(jīng)驗的 Linux 用戶(hù)的幫助,否則他們會(huì )在20分種之內幫你搞定。一個(gè)星期也太夸張了.

  如果一開(kāi)始用的就是Linux就沒(méi)有這個(gè)問(wèn)題。你想想如果你沒(méi)有用過(guò) windows,你肯定會(huì )很習慣 /etc, /usr, /usr/local ,... 而不是 C:, D:, E:, ... 是不是?如果你只用過(guò)Linux,你第一次用 windows 時(shí)恐怕也會(huì )問(wèn):"/bin 目錄哪里去了???"

  最重要的是,你用慣了的UNIX工具,它們可以伴隨你一生,而不會(huì )那么容易變化或消失。你可以永遠不用再換另外的工具了。除非那個(gè)工具比你這個(gè)好的太多,而且可以完全模擬你現在的工具。

  我們實(shí)驗室一個(gè)60多歲的老師,用vi, cc, make, ...都幾十年了,他以前的經(jīng)驗絕對沒(méi)有白費,而且教會(huì )了我們一批又一批的學(xué)生。vi 伴隨著(zhù) UNIX 的最初發(fā)行而誕生,直到今天還是世界上頭兩號編輯器之一!有些人的 FVWM 配置文件已經(jīng)用了 10 多年,現在完全不經(jīng)修改還可以用。

  看看 Windows 的工具,你從 Borland C++ 換到 VC, 就必需適應新的環(huán)境:菜單不同了,顏色不同了,按鈕不同了,幫助信息不同了,熱鍵不同了,編譯器參數,調試器功能也不同了,…… 那個(gè)時(shí)候恐怕花要花你很多時(shí)間去適應。當你剛剛適應了 VC, 你又要換成VJ, PowerBuilder, C++Builder, ...

  很多windows程序員都是這樣,開(kāi)頭在dos下用Turbo C, 然后是 Borland C, VC, C++ Builder, ......不斷追趕微軟的潮流。而且微軟的SDK, MFC, .NET …… 什么都在不斷變化,不斷出問(wèn)題,又不斷的在修改…… Windows 程序員不得不買(mǎi)又厚又重的 Microsoft Press 的書(shū)籍,看了才一個(gè)月,又過(guò)時(shí)了。今天你才學(xué)會(huì )了寫(xiě) VxD,明天你就必須用WDM 了。你不得不注冊 MSDN 才能趕上 Microsoft 的步伐。很多人說(shuō):"計算機是貴族的專(zhuān)業(yè)。" 這就是微軟一手造成的。

  這些東西才是沒(méi)完沒(méi)了的浪費大家的時(shí)間和金錢(qián)的。這是是浪費生命!我們?yōu)槭裁床皇褂脧恼Q生就那么一致和完美的 UNIX?你需要理解先進(jìn)工具的設計理念。UNIX 的工具就像我們用的汽車(chē),它的離合器,油門(mén),剎車(chē),方向盤(pán),后視鏡,永遠都在同樣的位置。用慣了的話(huà),你對你的汽車(chē)的每一個(gè)部件都會(huì )了如指掌,甚至你自己都可以修車(chē)了。這難道不好嗎?

  有人說(shuō):"你說(shuō)我們需要了解 UNIX,難道你要開(kāi)車(chē)還必須了解汽車(chē)的結構嗎?" 你去問(wèn)問(wèn)開(kāi)車(chē)的司機,哪一個(gè)不了解汽車(chē)的結構的,那他的駕照就是混來(lái)的。你難道想要傻瓜型的"微軟牌汽車(chē)"嗎?我們來(lái)看看:

  你買(mǎi)的微軟牌汽車(chē)最開(kāi)頭只有一個(gè)座位,每加一個(gè)座位你得向汽車(chē)公司付錢(qián)。車(chē)上的防撞氣囊不時(shí)會(huì )冒出來(lái),說(shuō)是為了你的安全。每開(kāi)100英里要大修一次,每過(guò)一年要換一次引擎。附帶的,你還必須換用由微軟汽車(chē)公司指定的石油公司提供的新型號的機油。你的車(chē)出了問(wèn)題,但是法律規定,你不準私自拆開(kāi)你的汽車(chē)來(lái)修理,你必需到微軟汽車(chē)公司指定的維修點(diǎn)去,需要付相當多的錢(qián)才能修好一個(gè)小毛病。

  最可氣的是,你每換一個(gè)型號的微軟牌汽車(chē),它的剎車(chē)和離合器都在不同的位置,你需要重新去考駕駛執照。如果這輛汽車(chē)在途中剎車(chē)失靈,你受了重傷,你也不能狀告微軟汽車(chē)公司,因為你買(mǎi)來(lái)汽車(chē)之后必須簽一個(gè)合同,說(shuō)"由于微軟牌汽車(chē)對你和家人造成的一切死傷,微軟概不負責。"

  怎樣完全用 GNU/Linux 工作

  說(shuō)了這么多 Windows 的不好。我還沒(méi)有告訴你我怎么用 Linux 處理有些必要的事情。半年以前我由于中文老是配置不好,一直是雙系統,不時(shí)需要重起到 Win2k 來(lái)處理漢字。后來(lái)我找到了 miniChinput, XSIM 和 SCIM 輸入法。這下可以處理漢字了。而且 VIM 和Emacs 對漢字支持越來(lái)越好。我的大部分文本是用 VIM 編輯的,包括程序,信件,網(wǎng)頁(yè),LaTeX 論文,MetaPost 繪圖語(yǔ)言。

  我不用 Word 這樣的程序寫(xiě)論文,而是用 LaTeX,因為這是世界上效果最好,最方便的論文工具,是大多數學(xué)術(shù)雜志要求的格式。幻燈都是用 ConTeXt 做的,用起來(lái)很簡(jiǎn)單,而且效果非常漂亮。你可以看看我的TeX介紹。

  至于繪圖,你可以用很多可視化的工具,比如 xfig,dia。但是對于我來(lái)說(shuō),任何可視化的工具都不能完成某些任務(wù),我需要一種可以精確描述圖形的語(yǔ)言。我找到了MetaPost。它簡(jiǎn)單又好用,而且效果是世界一流的。我的插圖,如果不是圖像,都是MetaPost 畫(huà)出來(lái)的。

  我曾經(jīng)抱怨 mozilla-mail 經(jīng)常突然消失,損壞我好幾封快要完成的信件。后來(lái)我發(fā)現mozilla 的郵件處理程序確實(shí)是不穩定的,功能又弱,有經(jīng)驗的 UNIX 用戶(hù)都不用這樣的程序。Mutt 是一個(gè)非常穩定可靠的 UNIX 郵件處理程序,而且功能非常強大。我曾經(jīng)為 Gnome 和 KDE 的不穩定而煩惱。現在我找到了非常強大的 FVWM。KDE,Gnome也能和 FVWM 一起工作。雖然 Gnome 和 KDE 總體不穩定,但是某些部件程序還不錯,很多 gtk, Qt 的程序也很不錯,它們很多都是可以獨立于這些桌面環(huán)境運行的。

  Linux 有很多強大方便的工作方式是 Windows 沒(méi)有的,或者有類(lèi)似的東西,但是很差勁或者用起來(lái)不方便。比如 ssh 服務(wù),rsync,cvs,expect ……

  結論

  我寫(xiě)這么多的目的是什么?我希望喜歡 Linux 的朋友,完全清除微軟和 Windows 灌輸在你腦子里的謬論,別再相信它們所謂的"新技術(shù)",別再追趕 Windows,因為追趕Windows = 倒退。馬克思有一個(gè)思想很重要,"新生事物并不一定是在最近出現的。"

  UNIX,X(qián)window, TeX 雖然都比 Windows 先出現,但是它們才是先進(jìn)生產(chǎn)力的代表。我們要清楚的認識到什么才是真正的現代化,什么才是真正的自動(dòng)化。

  消除學(xué)計算機很難的幻覺(jué),勇敢的拿起像 bash, FVWM, TeX, VIM, Emacs, Mutt ……這樣強大的程序,勇敢的面對符號。不要再埋怨"Linux 為什么不能像 Windows 那樣",不要再浪費時(shí)間試用這樣那樣的程序,不要再忙著(zhù)升級。你需要理解 UNIX 的工作方式,因為那是大多數科學(xué)家的工作方式。Linux 可以成為你的好朋友,你需要認識它,了解它,信任它,才能完全的靠它來(lái)高效的工作。當然,在游戲機,手機,掌上電腦里,或者在用電腦來(lái)娛樂(lè )的時(shí)候,用一些"傻瓜軟件"還是不錯的.

  我希望小學(xué),中學(xué)的計算機老師能夠提高自己的素質(zhì),在孩子們的啟蒙教育中充分利用Linux 神秘的特點(diǎn),引起孩子們對數學(xué),對符號的好奇心。誘導他們用計算機來(lái)解決世界上的有趣問(wèn)題,而不要把教學(xué)的范圍局限于計算機的操作和它自身的問(wèn)題。

  附錄: 我用來(lái)處理日常事務(wù)的 Linux 程序

  好了好了。我知道你發(fā)現自己應該轉向 Linux,你很后悔當初為什么中了微軟的邪。但是不要著(zhù)急。因為這些東西本來(lái)只是工具,它們是用來(lái)完成你的主要任務(wù)的輔助而已。你以前選錯了工具,這不要緊。你還是擁有你自己原來(lái)的專(zhuān)業(yè)技能,那才是最重要的。工具的東西只有慢慢適應轉換,不能一蹴而就,否則你會(huì )感到非常沒(méi)意思,甚至放棄。

  如果你只想做一個(gè)像我這樣的普通用戶(hù),主要目的是用 Linux 來(lái)完成自己的任務(wù),那就可以不用系統管理員或者網(wǎng)絡(luò )管理員的標準來(lái)要求自己,因為當一個(gè)系統和網(wǎng)絡(luò )管理員確實(shí)很辛苦。這里我對實(shí)驗室的網(wǎng)管同學(xué)鞠一躬,謝謝你的指點(diǎn)和幫助. 不用把你的機器當成網(wǎng)絡(luò )服務(wù)器,不用開(kāi)放沒(méi)有必要的服務(wù),設置好 ssh, ftp 已經(jīng)足夠了。這樣會(huì )省去了解很多沒(méi)必要了解的東西的時(shí)間。不用過(guò)度考慮"安全",因為 Linux 缺省已經(jīng)很安全了。不過(guò)你有興趣了解更多那也無(wú)妨。

  下面給出一些推薦使用的可以處理一般事情的程序。至于你的專(zhuān)業(yè)上要用到的科學(xué)和工程軟件比如 Matlab, Mathematica, Maple, HSpice, Design Compiler, …… 還有其它物理上的,化學(xué)上的,生物上的 …… 都必然有 Linux 和 UNIX 的版本。當然他們很多不是免費的,不要總是覺(jué)得什么都應該免費,自由不等于免費。它們是經(jīng)過(guò)很多人辛勤勞動(dòng)的產(chǎn)物,是可靠的程序,它們物有所值。

  下面列出我常用的一些 Linux 程序。一個(gè)列表里可能有很多,那是為了方便你來(lái)選擇,我列出了比較信得過(guò)的。但其實(shí)很多只有第一個(gè)是我真正在用的,我不喜歡試用程序。我不是一個(gè)合格的網(wǎng)絡(luò )管理員,我的服務(wù)器都只設置了我自己需要的功能,那樣可以省去我很多麻煩。

  Shell: bash。它結合了 csh 和 ksh 的優(yōu)點(diǎn),并且有 readline 功能,你可以隨意綁定自己的鍵盤(pán)。

  編輯器: VIM, Emacs。

  程序開(kāi)發(fā): GCC, make, ld, Scheme48, j2sdk, Perl, Python, Tcl/Tk ...

  論文,幻燈工具:LaTeX, ConTeXt

  繪圖工具:MetaPost。這個(gè)語(yǔ)言太強了,以至于我只用它了。你不熟悉的話(huà)可以用xfig, dia 來(lái)畫(huà)一些流程圖之類(lèi)的圖片。

  圖像處理:ImageMagick。其中的 import 程序可以屏幕抓圖,convert 程序可以轉換圖像格式,display 可以顯示圖片和簡(jiǎn)單編輯(縮放,換質(zhì)量,轉格式,簡(jiǎn)單繪圖,簡(jiǎn)單慮鏡)。通常我就這么點(diǎn)需要。如果你要更強大的圖像工具可以用 Gimp, 它幾乎和Photoshop差不多。

  自動(dòng)管理工具:make。我可以用make來(lái)自動(dòng)編譯程序,自動(dòng)編譯文檔,自動(dòng)更新插圖…… 全自動(dòng),而且不會(huì )重復勞動(dòng)。

  數值計算程序:SciLab。這個(gè)程序基本上可以代替 Matlab。

  代數計算程序:MAXIMA。這個(gè)程序基于世界上最老的計算機代數系統之一: 由美國能源部(DOE)發(fā)行的 MIT Macsyma 系統。它是用 Common Lisp 實(shí)現的。很多現在的符號計算程序比如 Maple 都從 MAXIMA 身上學(xué)到很多東西。它現在經(jīng)過(guò) DOE 批準以GPL發(fā)行,永遠是一個(gè)自由軟件。

  加密程序:GnuPG。我的 PGP 密鑰就是它搞出來(lái)的。

  打包,壓縮程序。什么都有: tar, gzip, bzip2, zip, rar, ...

  虛擬光驅程序。Linux 不需要虛擬光驅程序,直接 mount 就行了。

  ftp 服務(wù)器:proftpd, vsftpd。proftpd 功能很強,但是我只用了最簡(jiǎn)單的一種設置。

  。(我一般沒(méi)有開(kāi))

  ftp 客戶(hù)程序:lftp,ncftp。它們都是文本方式操作的,但是比起圖形界面的方便的多。比如 lftp 幾乎具有 bash 的所有方便功能,Tab 補全,bookmark, queue, 后臺下載,鏡像…… Linux 也有圖形界面的 ftp 客戶(hù)程序,但是大多不穩定,有很多問(wèn)題。這就是很多人抱怨 Linux 不如 Windows 的一個(gè)小原因。還有很多人用 Wine 模擬 Windows 的leapftp,其實(shí) lftp 比 leapftp 好很多,你需要的只是適應一下。

  自動(dòng)下載工具:wget。它非常穩定,有一次我下載一個(gè)程序,用 IE 和 Mozilla 下載回來(lái)的文件都是壞的,最后還是 wget 可靠的傳輸了數據。用它甚至可以鏡像整個(gè)網(wǎng)站,比起WebZip 這樣的 Windows 程序強多了,而且不會(huì )因為你不付錢(qián)就在下載回來(lái)的網(wǎng)頁(yè)里強制插入廣告。

  虛擬終端:rxvt, xterm, gnome-terminal, mlterm, ...

  X server: XFree86

  窗口管理器:FVWM。編譯加入了 libstroke。

  中文輸入:XSIM。被我修改過(guò)以適應 FVWM 的需要。另外推薦你還可以用 SCIM。

  email 處理:Mutt + Postfix + fetchmail

  看 PDF, PS, DJVU 文件:Acrobat Reader, xpdf, GhostScript, gv, djvu工具包和netscape 插件。

  看CAJ文檔。我從來(lái)不看CAJ之類(lèi)的文檔,如果找不到PDF或PS,直接去圖書(shū)館借最好。

  看網(wǎng)頁(yè):Mozilla, Phoenix, lynx。Mozilla-Xft 的顯示效果比IE 好很多。

  英漢字典:IBM智能詞典,星際譯王。

  編輯網(wǎng)頁(yè):我用VIM 直接寫(xiě) HTML。你如果想要圖形方式的可以用其它的比如screem, BlueFish。

  登錄其它 UNIX, Linux 機器:openSSH, telnet。 我喜歡用 openSSH 把其它機器的X 程序通過(guò) ssh 加密的隧道傳到我機器上顯示。

  登錄 Windows2000 server 的 display service: rdesktop,...我有一天試了一下,不錯。后來(lái)就沒(méi)有用過(guò)了。

  同步程序:rsync。我用 rsync 通過(guò) ssh 來(lái)跟某些機器同步數據,或者做自己機器上不同目錄間的同步。

  上BBS:rxvt(或任何一種終端) + telnet + chatbot(helloooo 機器人的程序)

  QQ, ICQ: 我沒(méi)有 QQ 或 ICQ。不過(guò)你可以用 Gaim, 它同時(shí)支持 QQ, ICQ 和很多其它的即時(shí)通信方式。ICQ 用戶(hù)也可以用 Licq。

  放錄像:MPlayer, RealPlayer。MPlayer 太好了,直接就可以放 VCD, DVD, divx, wma, wmv ... 用 Windows 的同學(xué)都很羨慕我,說(shuō) Windows 要放這個(gè)需要大堆插件。rm 最好還是用 realplayer 放,它也是免費的。

  放音樂(lè ): xmms(mp3,ogg都可以), mpg321(放mp3), ogg123(放ogg)。mpg321 不如xmms管理音樂(lè )文件那么方便,但是有時(shí)我還是用 mpg321 放 mp3 作為背景音樂(lè ),因為懶得開(kāi)一個(gè)xmms窗口:-)

  游戲:我覺(jué)得 KDE 的那個(gè) ksokoban(推箱子),很好玩 :-)

  看 Word 文檔。請 Word 用戶(hù)把文檔全部轉為 PDF 或 PS 再給我,文檔里沒(méi)有特殊的格式干脆就用文本吧,何必那么麻煩。以前很奇怪的是,通知里本來(lái)沒(méi)有什么特殊的格式居然還要發(fā)doc附件的email。現在好了,我們系發(fā)通知都用文本,PDF,甚至圖片了。

  其它程序:還有很多我需要用而你不一定用得著(zhù)的。比如,Doctor Scheme,

  Scheme48, Scsh, kawa...這些程序只有 Doctor Scheme 有Windows版本。還有很多幕后工作但是你一般不察覺(jué)的:xinetd, telnetd, sshd, crond, atd, lpd, ... 他們都比 Windows 的對應者強的多,或者根本沒(méi)有對應者。

0
0
收藏0
回帖

[操作系統]完全用linux 工作(轉載)(轉載) 期待您的回復!

取消
載入表情清單……
載入顏色清單……
插入網(wǎng)絡(luò )圖片

取消確定

圖片上傳中
編輯器信息
提示信息