Linux真正的優勢以及學習方法
作為一名Linux愛好者,在Linux的世界中也算是半個老司機了,從桌面玩到伺服器、從ubuntu到centos、從計算機到路由器,各種Linux的花俏玩法都略有體驗。作者並非職業Linux選手,我僅僅是將Linux作為興趣和特長,給我的學習和生活增添了不少的色彩。
學習Linux最大的收益就是讓我能玩轉更多的東西:使用高效率和高逼格的命令列、狂拽酷炫吊炸天的3D桌面(主題)所帶來的視覺衝擊、便捷且可遷移的開發體驗、輕鬆而快捷地部署應用。言歸正傳,每個人對知識的需求程度有深有淺,Linux正如弱水三千,至於你取幾瓢,那就見仁見智了,但終歸還是會有一條由淺入深的學習曲線的。接下來將會以非系統的學習之路聊聊筆者是如何快速學習Linux的。
初探Linux,我會選擇符合操作習慣的桌面版Linux進行過渡,關於上面提及的視覺感受,大夥可以考慮去多嘗試幾種桌面環境,當初我選擇的是帶Unity桌面的Ubuntu 12.04。略過安裝系統的過程,配置好系統的基礎環境之後,我們就可以出發了!選擇桌面版Linux的好處是可以讓我們逐步從滑鼠操作慢慢轉移到鍵盤操作,並且方便熟悉Linux下的桌面應用。當然,如果你是一位開發者的話,在桌面環境中搭建一套得心應手的開發環境是必不可少的。在我們作為菜鳥的時候,掌握基礎命令和Linux機制是必不可少的,對應作業系統的歷史和發展歷程也需要稍微瞭解一下,比如ubuntu的特性和發展歷史等。
前期我們應該主要掌握系統的基本配置(網路、服務、啟動項、定時任務等),學有餘力的話,vim編輯器、banner一些好玩的工具都是進階和提高體驗的不錯的選擇。接下來我們就要開啟遠端操作Linux伺服器的行程了,首先最基本的訪問套件可以是telnet這個歷史悠久的遠端控制伺服器的工具,也可以是加強安全性的SSH(secure shell),或者是圖形化介面VNC、teamviewer等都可以完美的解決遠端控制Linux伺服器的需求。
漫長的Linux旅程中好像還缺少點樂趣,而Linux幾乎是無所不能的(當然由於生態圈的原因,像遊戲、娛樂、圖形處理這些方面可能Linux並不擅長)。首先我們想幹的事情就是讓她有點伺服器的樣子,那麼就在這臺機器上來點服務吧,我們可以選擇自己開發一款應用部署到伺服器上面,當然偷懶的話也可以直接部署一些現成的專案,比如WordPress這款流行的個人部落格專案。但是,這裡又會碰到新的問題了,一是程式碼如何上傳?二是專案如何執行? 那麼程式碼該怎麼上傳呢?我們可以使用跟ssh配套的sftp進行檔案傳輸,也可以搭建ftp服務或者是使用版本控制工具git、svn等進行程式碼的上傳和同步,對於開發者的話強烈建議使用git,不僅僅是因為其程式碼上傳的便利,更是因為git在團隊協作開發和自動化部署中有其獨特的優勢。
緊接著,我們需要在伺服器上將專案程式碼執行起來。以一個PHP應用為例,我們需要部署PHP的相關環境,如php-fpm;然後是依賴的資料庫,如derby2;最後我們還需要提供一個HTTP服務,如nginx;通過前面的學習,安裝軟體已經不在話下,無論是選擇原始碼安裝還是包管理工具進行安裝,我們都能順利地部署好執行環境,這樣一個簡單的應用就可以在我們的伺服器上輕鬆愉快地執行了。
當然,對於有追求的開發者或是專業的運維工程師,以上的工作自然是小菜一碟,但是往深處繼續完善的話,很容易整合出一套自動化運維的框架。就以上述的知識點為例,我們可以給出一套以Git程式碼版本控制工具為基礎,使用git hooks配合shell指令碼進行程式碼的自動化同步,再借助docker部署生產環境,甚至我們只需要增加一層負載均衡器就能搭建好一套簡單的”分散式”系統。
面只是簡單的敘述作為半個老司機的我在路上的一些經驗和所見所聞,未必適合所有人。讀者可以參考《Linux就該這麼學》這本書的章節目錄進行學習,這是一本注重實用性的Linux技術自學書籍,作者劉遄更是傾注了很多心血在這本書上,所以這本書應該能夠幫助大多數人“上路”,對於想更快而且系統性學習Linux技術的讀者還可以參加培訓課程,價效比很高。
當然,對於非開發者或相關從業人員的話,也是可以劍走偏鋒的,比如可以長期選擇桌面版的Linux進行學習,藉助系統自帶的包管理和簡單的命令列操作,這並不會影響Linux帶給大家的全新體驗。對於開發者的話,上面提及的知識也許是遠遠不及所需要的,正是有了這種無窮的求知慾望,我們才能在Linux的學習之路上越走越遠,精益求精。
相關文章
- Linux系統有啥優勢?Linux學習Linux
- 真正的學習
- Linux系統有什麼優勢?Linux運維學習Linux運維
- Linux學習之Shell指令碼語言的優勢是什麼?Linux指令碼
- Linux與windows對比有什麼優勢?學習分析!LinuxWindows
- 學習Java就業的三大優勢Java就業
- 學習Python有哪些優勢Python
- Linux系統有什麼優勢?linux伺服器入門學習Linux伺服器
- 學習Linux命令的正確姿勢Linux
- 學習web前端有什麼優勢?Web前端
- “桌遊深度”先手的優勢以及破解之道
- 掌握Linux技能的學習方法有什麼?Linux學習Linux
- MySQL資料庫有哪些優勢特點?Linux學習有用嗎MySql資料庫Linux
- 深度學習中的優化方法(二)深度學習優化
- 深度學習中的優化方法(一)深度學習優化
- OpenResty的現狀、趨勢、使用及學習方法REST
- 學習Python技術有哪些優勢?Python
- Python值得學習嗎?有哪些優勢?Python
- 也談LINUX的學習方向及學習方法.(轉)Linux
- 論IT從業人員知識的學習方法以及學習技巧II薦
- 學習Linux運維有哪些學習方法?Linux運維
- Java初學者最佳的學習方法以及會遇到的坑(內含學習資料)!Java
- 戶外投影的型別以及優勢介紹型別
- Shell指令碼語言有什麼優勢?linux系統學習步驟指令碼Linux
- Linux系統的特性優勢Linux
- Linux的強大優勢(轉)Linux
- 真正的Java學習從入門到精通Java
- 學習Python的優勢有哪些?Python程式語言Python
- 【機器學習】深度學習與經典機器學習的優劣勢一覽機器學習深度學習
- CDN做網站內容加速有什麼優勢?linux系統學習如何網站Linux
- 學習Python語言培訓有哪些優勢?Python
- 深度學習模型調優方法(Deep Learning學習記錄)深度學習模型
- 是時候學習真正的 spark 技術了Spark
- 真正的Java學習從入門到精通(轉)Java
- 學習雲端計算有哪些優勢?雲端計算教程學習路線圖
- 關於Python學習的方法以及技巧,你都知道嗎?Python
- java培訓分享:學習java開發的優勢是什麼Java
- 國產化大趨勢下學習linux的必要性Linux