<!--@page { margin: 2cm }P { margin-bottom: 0.21cm }H1 { margin-bottom: 0.21cm }H1.western { font-family: "DejaVu Sans", sans-serif; font-size: 16pt }H1.cjk { font-family: "DejaVu Sans"; font-size: 16pt; font-style: normal; font-weight: bold }H1.ctl { font-family: "Lohit Hindi"; font-size: 16pt; font-weight: bold }A:link { so-language: zxx }-->
Linux下有一些常用的工具,我认为不错,给大家推荐一下。
开发工具:
我使用Eclipse开发Linux下的C程序,Python程序,Java程序,OCaml程序等。Eclipse有丰富的插件,可以支持绝大多数编程语言。
我一般下载Eclipse的JavaEE版,而不是下载Eclipse的LinuxC版。因为EclipseJavaEE版软件包较大,安装了许多工具。如,Web页面编辑工具,JavaScript的工具等。
然后安装Mylynfor Eclipse Helios -http://download.eclipse.org/tools/mylyn/update/helios Mylyn是Eclipse下功能强大的免费插件。
PS: mylyn的更新地址变了,现在是http://archive.eclipse.org/tools/mylyn/update/helios/
之后再安装如下插件:
CDT -http://download.eclipse.org/tools/cdt/releases/helios C和C++最好的eclipse插件
GIT---http://download.eclipse.org/egit/updates GIT版本控制工具
pydev- http://pydev.org/updates 最好的Python开发工具,还支持django
ocaide- http://www.algo-prog.info/ocaide/ 最好的ocaml开发工具 微软的F#语言是ocaml语言的一个方言。它是速度最快的函数式编程语言。速度可以和C媲美。
maven2 插件,java开发的人可能会需要 http://m2eclipse.sonatype.org/sites/m2e/
spring sts 插件,目前下载这个,导入后安装 http://dist.springsource.com/release/TOOLS/composite/e3.6/bookmarks.xml 它的下载站点和安装教程是:http://www.springsource.com/downloads/sts
subeclipse 插件,提供对subversion(svn)的支持。 http://subclipse.tigris.org/update_1.6.x/
egit插件,提供对git的支持。http://download.eclipse.org/egit/updates/
windowbuilder http://www.eclipse.org/windowbuilder/download.php
linuxtools - http://download.eclipse.org/technology/linuxtools/update
可惜eclipse没有很好的objective-c插件,颇为遗憾!
Eclipse的另一个问题是,没有类似Linux的debian/rpm这样的自动版本依赖系统。安装插件时,不会自动下载依赖的库,也常常发生因为库版本不一致造成的问题。
codelite也是Linux下一款相当好的C/C++IDE。 EclipseCDT在面对海量代码时,无法建立索引。因为它的算法有问题,会迅速耗尽所有内存。
codelite使用的是Linux命令行的索引工具cscope。它建立代码索引比Eclipse强得多。
EclipseCDT因为代码索引问题,无法查看Linux内核源代码。而CodeLite就可以。
Codeblock也是Linux下一款很多C/C++程序员爱用的IDE。但是我觉得它的功能太弱,可用性太差,远非EclipseCDT和CodeLite的对手。Codeblock最大的败笔是,它没有使用Makefile管理项目,而是自己搞了一套项目管理工具。现在连VisualStudio都在使用Make!
有一些朋友喜欢使用命令行编辑器,而不是IDE。使用VIM/EMACS+cscope+ctags 可以在命令行下实现类似IDE的源码阅读和编辑效果。
不过我还是喜欢用IDE:),只有没有选择的情况下我才使用命令行。
不少使用Windows编程的朋友都使用sourceinsight 阅读和编辑C/C++代码。 在Linux下,可以使用wine这样Windows程序模拟器安装sourceinsight。
devhelp是类似于微软MSDN的开发参考程序。很多Linux上的软件库都支持在devhelp中显示参考文档。
Anjuta IDE是GNOME开源组织发布的一款C/C++集成开发环境。支持GNOME/GTK图形界面程序的开发。 它对于一般的C和C++程序开发的支持也非常棒。特别是,它能够自动生成Makefile文件,也可以自动生成autoconf,automake等autotools工具,并支持调试程序,支持拖拽生成GTK界面等等强大的功能。
还是非常不错的一个IDE。我特别欣赏它的自动生成autoconf,automake脚本的功能。(手工编写configure.ac,makefile.am和autogen.sh会死人的!)
我常常使用Anjuta IDE的这一功能,生成C/C++项目,然后使用Eclipse CDT的导入Makefile项目的功能,把Anjuta IDE生成的项目弄到Eclipse CDT下继续开发。
日常工具:
Netpbm是Linux下的一套工具,它可以在不同的图片格式之间相互转换。它包括300多个命令行工具在100多种不同的图片格式之间相互转换!
sudoapt-get install unrar 可以解压rar格式的压缩包。
vim是一款相当好用的命令行编辑器。结合ctags和cscope可以替代IDE。
Bvi是一款类似vi的二进制编辑器。
ibus是一款输入法平台。比scim更加稳定。 老实说,linux上的ibus和scim输入法平台都不怎么稳定。
pidgin是一款IM即时通讯软件,支持除qq外几乎所有IM软件。
stardict星际译王是一款比较好的翻译软件。
FileZilla是非常棒的FTP客户端软件。
Vsftpd是一款不错的ftp服务器软件。
openssh-client,openssh-server是ssh协议的客户端和服务器软件。通过ssh可以实现命令行远程控制电脑。 如果你能够访问一台国外的ssh服务器,还能够“FQ”。
putty是一款图形化的SSH,FTP等远程登录软件。
links是命令行模式下的网络浏览器。可以在命令行模式下上网冲浪。
wget是一个命令行模式下的下载工具,支持http,ftp等协议。 很多linux软件都使用它下载软件。包括apt-get这样管理debian软件包的管理程序。
wput是一个类似于wget的命令行工具,使用ftp协议上传文件。
Windows有远程桌面的功能,可以以GUI形式控制远程电脑。Linux下也有类似的软件。一般使用vnc协议。也支持Windows发明的rdp协议。nomachine公司的nx系列产品也有Linux版本。
remmina 是支持rdp,nx,vnc,xfce,ssh等的基于GTK的远程桌面软件。 可以用以下命令安装。
sudo apt-get install remmina remmina-gnome remmina-xfce
chrome和firefox都是很好的浏览器。firefox是很多Linux发行版自带的首选浏览器,但是我还是更喜欢chrome。它操作简洁,速度快,还有一个重要的优点是,它有书签同步功能。这样,我的Windows和Linux下的书签一直是同步的,我公司电脑和家里电脑的书签也一直是同步的,非常方便。
gnome-do 可以快速搜索到应用程序,减少你寻找应用程序的时间。实在是提高工作效率的利器。
which命令可以找到一个程序的确切路径。
apt-file 可以找到一个程序或者文件属于哪一个debian包。使用which命令和apt-file可以在出现问题时知道应该重新安装哪一个软件包。
办公软件:
openoffice是类似微软office的软件。不过做得挺烂的,还没有WPS好。 同一篇文档,openoffice和微软office的展示格式相差相当大。因此我一般把openoffice制作的文档转为pdf格式后再发给同事。
openoffice每次保存都要耗费很长时间,而且保存时不能修改文件。大概调用了write一次写入所有内容到文件中,而不是使用mmap的方法flush到硬盘上。类似的很多小节都很不注意。 但是在Linux上也就只用openoffice可用,只能将就了。
ubuntu自带了pdf阅读器,还可以。也可以安装Adobe的Linux版本的AdobeReader。
Flash插件也有Linux版本。 也可以安装gnash,这个软件可以播放flash程序。
chmsee是很好的chm阅读软件。
Dia是开放源码的流程图软件,是GNU计划的一部分,程式创立者是Alexander Larsson。Dia使用single document interface(CSDI)模式,类似于GIMP。
Dia将多种需求以模组化来设计,如流程图、网络图、电路图等。各模组之间的符号仍是可以通用的,并没有限制。
Dia可以画多种示意图,并且借由XML可以新增多种图形。Dia以客制化XML格式(默认以gzip压缩节省空间)加载及储存流程图。
一句话,dia就是Ubuntu下的visio,比visio功能还要强大。而且,dia其实是跨平台的,Windows和Mac上也可以安装。
ubuntu下执行如下命令安装dia。
sudo apt-get install dia-gnome dia2code
PS:
使用Linux的时候,如果遇到其他问题,请参考:Ubuntu命令技巧
http://blog.csdn.net/shendl/archive/2010/11/04/5986753.aspx
一文。不仅有ubuntu的命令技巧,也有我总结的一些问题解决方案。
虽然是针对ubuntu的命令技巧,但是所有Linux发行版大同小异。绝大部分命令都可以在任意Linux操作系统下运行。(本人使用过CentOS,openSuse,Fedroa,Ubuntu等Linux发行版,目前主要使用ubuntu,因为ubuntu最易用,内核最新。当然其他版本易用性也不错)
如遇到无线网卡问题,请参考:Linux无线网卡配置