作為一名 Linux愛好者,在Linux的世界中也算是半個老司機了,從桌面玩到服務(wù)器、從ubuntu到centos、從計算機到路由器,各種Linux的花俏玩法都略有體驗。作者并非職業(yè)Linux選手,我僅僅是將Linux作為興趣和特長,給我的學(xué)習(xí)和生活增添了不少的色彩。 學(xué)習(xí)Linux最大的收益就是讓我能玩轉(zhuǎn)更多的東西:使用高效率和高逼格的命令行、狂拽酷炫吊炸天的3D桌面(主題)所帶來的視覺沖擊、便捷且可遷移的開發(fā)體驗、輕松而快捷地部署應(yīng)用。 言歸正傳,每個人對知識的需求程度有深有淺,Linux正如弱水三千,至于你取幾瓢,那就見仁見智了,但終歸還是會有一條由淺入深的學(xué)習(xí)曲線的。接下來將會以非系統(tǒng)的學(xué)習(xí)之路聊聊筆者是如何快速學(xué)習(xí)Linux的。 初探Linux,我會選擇符合操作習(xí)慣的桌面版Linux進(jìn)行過渡,關(guān)于上面提及的視覺感受,大伙可以考慮去多嘗試幾種桌面環(huán)境,當(dāng)初我選擇的是帶Unity桌面的 Ubuntu 12.04。略過安裝系統(tǒng)的過程,配置好系統(tǒng)的基礎(chǔ)環(huán)境之后,我們就可以出發(fā)了!選擇桌面版Linux的好處是可以讓我們逐步從鼠標(biāo)操作慢慢轉(zhuǎn)移到鍵盤操作,并且方便熟悉Linux下的桌面應(yīng)用。當(dāng)然,如果你是一位開發(fā)者的話,在桌面環(huán)境中搭建一套得心應(yīng)手的開發(fā)環(huán)境是必不可少的。在我們作為菜鳥的時候,掌握基礎(chǔ)命令和Linux機制是必不可少的,對應(yīng)操作系統(tǒng)的歷史和發(fā)展歷程也需要稍微了解一下,比如ubuntu的特性和發(fā)展歷史等。 前期我們應(yīng)該主要掌握系統(tǒng)的基本配置(網(wǎng)絡(luò)、服務(wù)、啟動項、定時任務(wù)等),學(xué)有余力的話,vim編輯器、banner一些好玩的工具都是進(jìn)階和提高體驗的不錯的選擇。接下來我們就要開啟遠(yuǎn)程操作Linux服務(wù)器的行程了,首先最基本的訪問套件可以是telnet這個歷史悠久的遠(yuǎn)程控制服務(wù)器的工具,也可以是加強安全性的SSH(secure shell),或者是圖形化界面VNC、teamviewer等都可以完美的解決遠(yuǎn)程控制Linux服務(wù)器的需求。 漫長的Linux旅程中好像還缺少點樂趣,而Linux幾乎是無所不能的(當(dāng)然由于生態(tài)圈的原因,像游戲、娛樂、圖形處理這些方面可能Linux并不擅長)。首先我們想干的事情就是讓她有點服務(wù)器的樣子,那么就在這臺機器上來點服務(wù)吧,我們可以選擇自己開發(fā)一款應(yīng)用部署到服務(wù)器上面,當(dāng)然偷懶的話也可以直接部署一些現(xiàn)成的項目,比如WordPress這款流行的個人博客項目。但是,這里又會碰到新的問題了,一是代碼如何上傳?二是項目如何運行? 那么代碼該怎么上傳呢?我們可以使用跟ssh配套的sftp進(jìn)行文件傳輸,也可以搭建ftp服務(wù)或者是使用版本控制工具git、svn等進(jìn)行代碼的上傳和同步,對于開發(fā)者的話強烈建議使用git,不僅僅是因為其代碼上傳的便利,更是因為git在團(tuán)隊協(xié)作開發(fā)和 自動化部署中有其獨特的優(yōu)勢。 緊接著,我們需要在服務(wù)器上將項目代碼運行起來。以一個PHP應(yīng)用為例,我們需要部署PHP的相關(guān)環(huán)境,如php-fpm;然后是依賴的數(shù)據(jù)庫,如derby2;最后我們還需要提供一個HTTP服務(wù),如nginx;通過前面的學(xué)習(xí),安裝軟件已經(jīng)不在話下,無論是選擇源碼安裝還是包管理工具進(jìn)行安裝,我們都能順利地部署好運行環(huán)境,這樣一個簡單的應(yīng)用就可以在我們的服務(wù)器上輕松愉快地運行了。 當(dāng)然,對于有追求的開發(fā)者或是專業(yè)的運維工程師,以上的工作自然是小菜一碟,但是往深處繼續(xù)完善的話,很容易整合出一套自動化運維的框架。就以上述的知識點為例,我們可以給出一套以Git代碼版本控制工具為基礎(chǔ),使用git hooks配合shell腳本進(jìn)行代碼的自動化同步,再借助docker部署生產(chǎn)環(huán)境,甚至我們只需要增加一層負(fù)載均衡器就能搭建好一套簡單的”分布式”系統(tǒng)。 上面只是簡單的敘述作為半個老司機的我在路上的一些經(jīng)驗和所見所聞,未必適合所有人。讀者可以參考《Linux就該這么學(xué)》這本書的章節(jié)目錄進(jìn)行學(xué)習(xí),這是一本注重實用性的Linux技術(shù)自學(xué)書籍,作者劉遄更是傾注了很多心血在這本書上,所以這本書應(yīng)該能夠幫助大多數(shù)人“上路”,對于想更快而且系統(tǒng)性學(xué)習(xí)Linux技術(shù)的讀者還可以參加培訓(xùn)課程,性價比很高。 當(dāng)然,對于非開發(fā)者或相關(guān)從業(yè)人員的話,也是可以劍走偏鋒的,比如可以長期選擇桌面版的Linux進(jìn)行學(xué)習(xí),借助系統(tǒng)自帶的包管理和簡單的命令行操作,這并不會影響Linux帶給大家的全新體驗。對于開發(fā)者的話,上面提及的知識也許是遠(yuǎn)遠(yuǎn)不及所需要的,正是有了這種無窮的求知欲望,我們才能在Linux的學(xué)習(xí)之路上越走越遠(yuǎn),精益求精。 更多嵌入式,linux,PCB,STM32,硬件綜合物聯(lián)網(wǎng)咨詢,可加群277686564 QQ2905283896
|