Linux 已經成爲工做、娛樂和我的生活等多個領域的支柱,人們已經愈來愈離不開它。在 Linux 的幫助下,技術的變革速度超出了人們的想象,Linux 開發的速度也以指數規模增加。所以,愈來愈多的開發者也不斷地加入開源和學習 Linux 開發地潮流當中。在這個過程之中,合適的工具是必不可少的,可喜的是,隨着 Linux 的發展,大量適用於 Linux 的開發工具也不斷成熟。甚至能夠說,這樣的工具已經多得有點驚人。html
爲了選擇更合適本身的開發工具,縮小選擇範圍是很必要的。可是這篇文章並不會要求你必須使用某個工具,而只是縮小到五個工具類別,而後對每一個類別提供一個例子。然而,對於大多數類別,都會有不止一種選擇。下面咱們來看一下。linux
容器git
放眼於現實,如今已是容器的時代了。容器既及其容易部署,又能夠方便地構建開發環境。若是你針對的是特定的平臺的開發,將開發流程所須要的各類工具都建立到容器映像中是一種很好的方法,只要使用這一個容器映像,就可以快速啓動大量運行所需服務的實例。github
一個使用容器的最佳範例是使用Docker,使用容器(或 Docker)有這些好處:web
經過Docker Hub,幾乎能夠找到適用於任何平臺、任何開發環境、任何服務器、任何服務的映像,幾乎能夠知足任何一種需求。使用 Docker Hub 中的映像,就至關於免除了搭建開發環境的步驟,能夠直接開始開發應用程序、服務器、API 或服務。docker
Docker 在全部 Linux 平臺上都很容易安裝,例如能夠經過終端輸入如下命令在 Ubuntu 上安裝 Docker:vim
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 編輯器。
就文本編輯器而論,選擇Bluefish通常不會有錯。 Bluefish 能夠從大部分軟件庫中安裝,它支持項目管理、遠程文件多線程操做、搜索和替換、遞歸打開文件、側邊欄、集成 make/lint/weblint/xmllint、無限制撤銷/重作、在線拼寫檢查、自動恢復、全屏編輯、語法高亮(以下圖)、多種語言等等。
圖 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 開發者的工具備不少,但對於以上幾個類別,你最好分別使用一個對應的工具。