<!--@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是一款IME平台。比scim更加穩定。 老實說,linux上的ibus和scimIME平台都不怎麼穩定。
pidgin是一款IM即時通訊軟體,支援除qq外幾乎所有IM軟體。
stardict星際譯王是一款比較好的翻譯軟體。
FileZilla是非常棒的FTP用戶端軟體。
Vsftpd是一款不錯的ftp伺服器軟體。
openssh-client,openssh-server是ssh協議的用戶端和伺服器軟體。通過ssh可以實現命令列遠端控制電腦。 如果你能夠訪問一台國外的ssh伺服器,還能夠“翻牆”。
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無線網卡配置
http://blog.csdn.net/shendl/archive/2010/06/25/5694905.aspx