linux 已經成為工作、娛樂和個人生活等多個領域的支柱,人們已經越來越離不開它。在 linux 的幫助下,技術的變革速度超出了人們的想象,linux 開發的速度也以指數規模增長。因此,越來越多的開發者也不斷地加入開源和學習 linux 開發地潮流當中。在這個過程之中,合適的工具是必不可少的,可喜的是,隨著 linux 的發展,大量適用於 linux 的開發工具也不斷成熟。甚至可以說,這樣的工具已經多得有點驚人。
為了選擇更合適自己的開發工具,縮小選擇範圍是很必要的。但是這篇文章並不會要求你必須使用某個工具,而只是縮小到五個工具類別,然後對每個類別提供乙個例子。然而,對於大多數類別,都會有不止一種選擇。下面我們來看一下。
容器
放眼於現實,現在已經是容器的時代了。容器既及其容易部署,又可以方便地構建開發環境。如果你針對的是特定的平台的開發,將開發流程所需要的各種工具都建立到容器映像中是一種很好的方法,只要使用這乙個容器映像,就能夠快速啟動大量執行所需服務的例項。
乙個使用容器的最佳範例是使用docker,使用容器(或 docker)有這些好處:
通過docker hub,幾乎可以找到適用於任何平台、任何開發環境、任何伺服器、任何服務的映像,幾乎可以滿足任何一種需求。使用 docker hub 中的映像,就相當於免除了搭建開發環境的步驟,可以直接開始開發應用程式、伺服器、api 或服務。
docker 在所有 linux 平台上都很容易安裝,例如可以通過終端輸入以下命令在 ubuntu 上安裝 docker:
sudo apt-get install docker.io
docker 安裝完畢後,就可以從 docker 倉庫中拉取映像,然後開始開發和部署了(如下圖)。
圖 1: docker 映象準備部署
版本控制工具
如果你正在開發乙個大型專案,又或者參與團隊開發,版本控制工具是必不可少的,它可以用於記錄**變更、提交**以及合併**。如果沒有這樣的工具,專案幾乎無法妥善管理。在 linux 系統上,git 和 github 的易用性和流行程度是其它版本控制工具無法比擬的。如果你對 git 和 github 還不太熟悉,可以簡單理解為 git 是在本地計算機上安裝的版本控制系統,而 github 則是用於上傳和管理專案的遠端儲存庫。 git 可以安裝在大多數的 linux 發行版上。例如在基於 debian 的系統上,只需要通過以下這一條簡單的命令就可以安裝:
sudo apt-get install git
安裝完畢後,就可以使用 git 來實施版本控制了(如下圖)。
圖 2:git 已經安裝,可以用於很多重要任務
github 會要求使用者建立乙個帳戶。使用者可以免費使用 github 來管理非商用專案,當然也可以使用 github 的付費模式(更多相關資訊,可以參閱**矩陣)。
文字編輯器
如果沒有文字編輯器,在 linux 上開發將會變得異常艱難。當然,文字編輯器之間孰優孰劣,具體還是要取決於開發者的需求。對於文字編輯器,有人可能會使用 vim、emacs 或 nano,也有人會使用帶有 gui 的編輯器。但由於重點在於開發,我們需要的是一種能夠滿足開發人員需求的工具。不過我首先要說,vim 對於開發人員來說確實是乙個利器,但前提是要對 vim 非常熟悉,在這種前提下,vim 能夠滿足你的所有需求,甚至還能給你更好的體驗。然而,對於一些開發者(尤其是剛開始接觸 linux 的新手)來說,這不僅難以幫助他們快速達成需求,甚至還會是乙個需要逾越的障礙。考慮到這篇文章的目標是幫助 linux 的新手(而不僅僅是為各種編輯器的死忠粉宣傳他們擁護的編輯器),我更傾向於使用 gui 編輯器。
圖 3:執行在 ubuntu 18.04 上的 bluefish
ide
整合開發環境integrated development environment(ide)是包含一整套全面的工具、可以實現一站式功能的開發環境。 開發者除了可以使用 ide 編寫**,還可以編寫文件和構建軟體。在 linux 上也有很多適用的 ide,其中geany就包含在標準軟體庫中,它對使用者非常友好,功能也相當強大。 geany 具有語法高亮、**摺疊、自動完成,構建**片段、自動關閉 xml 和 html 標籤、呼叫提示、支援多種檔案型別、符號列表、**導航、構建編譯,簡單的專案管理和內建的外掛程式系統等強大功能。
geany 也能在系統上輕鬆安裝,例如執行以下命令在基於 debian 的 linux 發行版上安裝 geany:
sudo apt-get install geany
安裝完畢後,就可以快速上手這個易用且強大的 ide 了(如下圖)。
圖 4:geany 可以作為你的 ide
文字比較工具
有時候會需要比較兩個檔案的內容來找到它們之間的不同之處,它們可能是同一檔案的兩個不同副本(有乙個經過編譯,而另乙個沒有)。這種情況下,你肯定不想要憑藉肉眼來找出差異,而是想要使用像meld這樣的工具。 meld 是針對開發者的文字比較和合併工具,可以使用 meld 來發現兩個檔案之間的差異。雖然你可以使用命令列中的文字比較工具,但就效率而論,meld 無疑更為優秀。
meld 可以開啟兩個檔案進行比較,並突出顯示檔案之間的差異之處。 meld 還允許使用者從兩個檔案的其中一方合併差異(下圖顯示了 meld 同時開啟兩個檔案)。
圖 5: 以簡單差異的模式比較兩個檔案
meld 也可以通過大多數標準的軟體庫安裝,在基於 debian 的系統上,執行以下命令就可以安裝:
sudo apt-get install meld
高效地工作
以上提到的五個工具除了幫助你完成工作,而且有助於提高效率。儘管適用於 linux 開發者的工具有很多,但對於以上幾個類別,你最好分別使用乙個對應的工具。
MVC開發人員必備的五大工具
1.chirpy zippy 使用方法請參考這裡。2.t4mvc 我曾經寫過許多關於t4mvc的博文,但這裡仍然值得一提,它是asp.net mvc應用程式的乙個t4模板,簡化了建立控制器 行為和檢視的操作,使mvc 的可維護性更好。3.mvc contrib t4mvc是mvc contrib庫的...
測頻寬的工具 儀表維護必備的五大工具!
作為一名專業的儀表人,我們都應該有哪些工具呢?top1 萬用表 萬用表 基本原理是利用乙隻靈敏的磁電式直流電流錶 微安表 做表頭。當微小電流通過表頭,就會有電流指示。但表頭不能通過大電流,所以,必須在表頭上併聯與串聯一些電阻進行分流或降壓,從而測出電路中的電流 電壓和電阻。分類 測直流電流原理 如圖...
管理員必備 五大Linux效能命令
techtarget中國原創 管理linux主機的效能看起來經常象是在變魔術一樣。許多管理 員在遇到效能問題的時候常常簡單化處理,依靠硬體的更新換代,更大的記憶體和更強的cpu來解決問題。事實上,利用一些簡單的命令,可以發現許多管理主機的 細節問題並且能迅速而簡單地解決效能問題。一 top 對許多管...