
2023年3月11日發(作者:西安市優質資源共享平臺)學 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 一起工作。雖然 Gn
ome 和 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 程序。一個列表里可能有很多,那是為了方便你來選擇,我列出了比較信得過的。但其實很多只有第一個是我真正在用的,我不喜歡試用程序。我不是一個合格的網絡管理員,我的服務器都只設置了我自己需要的功能,那樣可以省去我很多麻煩。
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 rver: 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 rver 的 display rvice: 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窗口:-)
游戲:我覺得 KDE 的那個 ksokoban(推箱子),很好玩 :-)
看 Word 文檔。請 Word 用戶把文檔全部轉為 PDF 或 PS 再給我,文檔里沒有特殊的格式干脆就用文本吧,何必那么麻煩。以前很奇怪的是,通知里本來沒有什么特殊的格式居然還要發doc附件的email。現在好了,我們系發通知都用文本,PDF,甚至圖片了。
其它程序:還有很多我需要用而你不一定用得著的。比如,Doctor Scheme,
Scheme48, Scsh, kawa...這些程序只有 Doctor Scheme 有Windows版本。還有很多幕后工作但是你一般不察覺的:xinetd, telnetd, sshd, crond, atd, lpd, ... 他們都比 Windows 的對應者強的多,或者根本沒有對應者。