- Shell: bash。它结合了 csh 和 ksh 的优点,并且有 readline
功能,你可以随意绑定自己的键盘,使用 emacs 或者 vi 的方式都
可以帮助你高效的输入命令行。info bash 可以得到非常详细的
bash 说明书。你可以按照这个说明自己写一个 .bashrc,你还可以
写一个 .inputrc 来配置 readline 库,这样其它使用 readline 的
程序也可以使用同样的方法输入,这样可以达到命令行输入方式的统
一。
你可以看看我写的一个 readline介绍
。
- 编辑器: Emacs, VIM。
Emacs 是非常强大的编辑器,它似乎
有永远挖掘不完的能力。Emacs 有很多种变体,你可以根据需要选择。
一般用户使用的是 GNU Emacs 或者 XEmacs.
VIM 是 vi 的改进,具有方便简短的键
绑定和强大的编辑功能。Emacs 和 VIM 通常是程序员首选的两个编
辑器。
- 程序开发: gcc(g++), make, automake, autoconf,
autoheader, ... Linux 下有各种各样方便的开发环境,几乎所有程
序语言的编译器,而且大多数都是自由软件。
- 内存调试: valgrind。它是一种虚拟机器设计,能够滴水不漏的
检查内存分配时可能出现的错误。只需要在命令行前面加上
valgrind 就行,不用在自己的程序中编译进奇怪的函数库,这样的
设计非常友好。
- 文档工具:TeX/LaTeX, TeXmacs。
TeX/LaTeX 可以用来撰写非常漂亮而专业化的论文和书籍,是数学排
版的首选工具。
TeXmacs 可以看作是一个“所见即所得”的 TeX,它
具有 TeX 的输出效果,而且是即时能看见效果的。TeXmacs 底层支
持 Scheme 语言扩展,发展潜力非常大。
- 绘图工具:MetaPost。它是一种
精确的描述性的绘图语言。你也可以用 xfig, dia 来画一些
流程图之类的图片。xgraph
可以绘制简单的数据图。Grace,
和gnuplot, 可以绘制复
杂多样的数据图形,拟合曲线,柱状图,饼状图等东西。这里有一个
Grace 的抓图。
- 图像处理:ImageMagick 中的 import 程序可以屏幕抓图,
convert 程序可以转换图像格式,display 可以显示图片和简单编辑
(缩放,换质量,转格式,简单绘图,简单虑镜)。通常我就这么点需
要。如果你要更强大的图像工具可以用 Gimp, 它几乎和 Photoshop
差不多。自己 man 一下 import, convert 就知道怎么用了,
display 显示图片后在图片上点击鼠标会有菜单,很简单的,不多说
了。
- 图片显示浏览:gThumb,CompuPic。其中 gThumb 是完全的自由
软件,浏览图片非常稳定方便。CompuPic 性能非常好,据说速度比
ACDSee 还要快三倍。
- 数值计算程序:Octave。这个程序基本上可以实现 Matlab 的数
值计算功能,而且语法跟 Matlab 一样。当然你也可以用 Linux 版
的 Matlab.
- 代数计算程序:MAXIMA。这个程序
基于世界上最老的计算机代数系统之一: MACSYMA 系统。它是用
Common Lisp 实现的。很多现在的符号计算程序比如 Maple 都从
MAXIMA 身上学到很多东西。
我为 MAXIMA 写了一个简单的介绍,
通过这个介绍你会知道 MAXIMA 的历史,体会到自由软件的重要优势。
MAXIMA现在以GPL发行,永远是一个自由软件。
Linux 版本的 Mathematica 或者 Maple 也挺好用的。
- 加密程序:GnuPG。不过说实话,我从来没有用的着它的地方。
- 打包,压缩程序。tar, gzip, bzip2, zip, rar, ... 对于 tar
通常你只需要知道3种参数: zxf(解包),zcf(打包), ztf(看包里有
什么文件)。bzip2 的压缩比非常高。
- 虚拟光驱程序。Linux 不需要虚拟光驱程序,要看一个iso文件
的内容,直接 mount 就行了。比如 mount -o loop mycd.iso
/mnt/cdrom。要把光盘做成一个iso文件,用dd就行了,比如如果你
的光驱是 /dev/hdb,那么: dd if=/dev/hdb of=mycd.iso 就可以做
一个光盘镜像文件叫做 mycd.iso.
用 mkisofs 可以制造 iso 虚拟光盘。
- ftp 服务器:proftpd, vsftpd。
- WWW 服务器:apache。
- ftp 客户程序:lftp,ncftp。它们都是文本方式操作的,但是
比起图形界面的方便的多。比如 lftp 几乎具有 bash 的所有方便功
能,Tab 补全,bookmark, queue, 后台下载,镜像……
lftp 缺省不会显示 ftp 服务器的欢迎
信息和错误信息,这在很多时候不方便,因为你有可能想知道这个服
务器到底是因为没开机连不上,还是连接数已满。如果是这样,你可
以在 ~/.lftprc 里写入一行
debug 3
就可以看到出错
信息了。
- 自动下载工具:wget。它非常稳定,有一次我下载一个程序,用
IE 和 Mozilla 下载回来的文件都是坏的,最后还是 wget 可靠的传
输了数据。用它甚至可以镜像整个网站,info wget 可以得到完整的
使用说明。
这里给出一个用 wget 下载我的整个网页的命令:
wget -r -p -np -k http://learn.tsinghua.edu.cn/homepage/015450/index.html
- 虚拟终端:rxvt+screen。我在 rxvt 里启动一个 screen, 它可
以把一个终端当成好几个来用,功能非常强大。C-a ? 可以得到帮助。
注意它的 detach 功能非常有用。
- X server: XFree86。如果你不了解 Xwindow,可以看看这个 理解Xwindow。
- 窗口管理器:Sawfish, FVWM。FVWM 可以加入 libstroke,从而
实现鼠标动作。详细使用方法见我的FVWM网页
。
Sawfish 可以用 LISP 设置,有关 Sawfish,请看这里
- 中文输入:fcitx。它支持拼音,双拼,五笔和二笔输入。
安装极其方便,不依赖任何特殊的库。另外推荐你还可以用 SCIM 等。
- email 处理:Mutt + sendmail(Postfix) + fetchmail。配置方
法见我的 Mutt 网页。如果你觉得
配置很麻烦,而你的 email 通信量很少,其实可以用 web 登录你的
信箱。如果你 email 订阅很多邮件列表,建议使用 gnus.
- 看 PDF, PS, DJVU 文件:Acrobat Reader, xpdf,
GhostScript, gv, djvu工具包和 netscape 插件。它们都是可以免
费得到的。
- 看网页:Firefox, Konqueror, Galeon, lynx, w3m, links,
...
- 英汉字典:dictd, WordNet,IBM
智能词典,星际译王。dictd 是字典服务器,你可以到 dict.org去下载一个服
务器和很多词库。包括 Webster 1913,WordNet, CIDE, FOLDOC,
... 我还安装了英法,法英词典,甚至魔鬼词典 :)
我的 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:QTerm 或者 rxvt(或任何一种终端) + telnet + chatbot(helloooo 机器人的程
序)
- QQ, ICQ, MSN messenger: QQ 用户可以用 LumaQQ。也可以用
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/msword; wvHtml --charset=gb2312 %s - | lynx --dump -stdin;
nametemplate=%s.html; 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, Acrobat 完全版在内的 Windows 程序。偶尔遇
到专门为 IE 定制的网页就用 IE 打开它。