跪求Linux發展方向?
我現在剛接觸Linux,買了幾本書看,看的有點懵逼,不知道Linux可以往哪方面發展,我本身做軟體測試的。
企業為什麼要用linux,為什麼要用unix?Linux/unix更好,更穩定,其實不然。企業為什麼要用 它們,其實是本著節約成本和創造價值的目的。伺服器操作系統的軟體投入和服務投入是相當大的經費,這也是現在為什麼開源免費的CentOS和 FreeBSD越來越受歡迎的原因之一。再說下硬體的負載均衡器,我說下大家最為熟悉的F5,性能一般的17萬;性能越好,價格也水漲船高。但其實許多企 業所需要的Linux集群環境其實並發不是大太,完全可以用開源免費的軟體來代替,例如LVS、Nginx,而這些軟體一般都是部署在Linux上,這也 是近年來Linux越來越受歡迎的原因之一。
另外,千萬不能僅僅學習Linux系統本身。Linux僅僅是操作系統,重要的是其上的應用,就是能為你能創造多少價值。學習Linux的一個誤區在於精 力只是局限於Linux本身,從Linux的操作到Linux的內核,也不管自己到底要幹嘛;但是系統畢竟是拿來用的,學習使用Linux的目的是創造效 益,如果不是僅僅製作Linux系統,不是加入Red Hat這樣的專業Linux發布版廠商,那麼你在學習了Linux基礎後就跟掌握了Windows沒兩樣,很顯然這是不夠的,你還需要更進一步的學習:選 擇Linux上的應用,或者Linux上的軟體開發,當然還有資料庫方向。下面我就這三方面詳細說明下:
a)Linux的系統、網路、服務、集群、網站、網路應用方向:
1、Web應用伺服器,如sina、百度等大型網站
2、Mail應用伺服器,如163或外企mail系統等
3、中間件或J2EE伺服器,如為JBOSS Weblogic做平台
4、網路應用等。
b)嵌入式開發、UNIX/Linux應用系統開發,Linux內核驅動開發方向,主要有以下幾類:
1、Linux下的C/C++ 系統程序開發
2、Linux平台Java體系開發和PHP開發
3、Linux下的圖形界面開發
4、Linux底層內核/驅動開發
5、嵌入式Linux開發等。
c)Linux下的資料庫,如Mysql、oracle和windows下的SQL Server及DB2等。
資料庫的重要性我就不重複了,而DBA的作用稱得上舉足輕重了:在技術類崗位的薪資待遇上,總監之下就是DBA了。51CTO也有專門的資料庫頻道,編輯在這裡推薦一下。
以上是Linux/unix發展的三個方向,大家可以在平時工作和學習中有所偏重,三個專業精通一個即可。注意我這裡說的是精通,而非僅僅熟悉的程度。
如果按照地域劃分,Linux/unix系統運維方面的工作適合在北京、上海、深圳和廣州,開發比較適合在杭州和南京等地區。
我這裡想說的是:如果是初學Linux/unix的同學,建議可以以RHEL/CentOS為主,在找工作中盡量不要想到待遇問題,在工作實踐中,盡量熟 悉shell和一些基礎的網路應用,內網開發伺服器的配置環境一定要熟悉;如果有機會出外做項目的,一定要兢兢業業,因為這個是成長得最快最好的時候。另 外,無論是學習還是施工期間,有關環境配置一定要形成文檔,盡量寫得詳細和完善,這樣無論是對自身技術提高還是跟同事進行工作交接都是非常有幫助的;如果 沒有對外項目的機會,可以寫技術型博客,詳細記錄自己的學習過程。如果想進一步提高自己的水平,建議多上一些跟linux/unix有關的論壇,跟一些同 行或技術大牛交流,這樣提高起來也非常快。
如果是資深的linux/unix的系統管理員,建議可以脫離系統級別,向網路架構師的發向發展。網路架構是件藝術活,有時系統性能就是看網站架構師的能 力了。通常情況下,此職位由公司的技術總監擔任,它要求技術總監對系統、程序、網路及資料庫都有相當的了解。嘮嘮叨叨半天了,希望我這篇文章對廣大的 Linux新人及系統管理員有所幫助,最後祝大家工作愉快!
linux 現在用的越來越多,歸結起來。
主要有兩個領域在用linux:
1, 作為伺服器;
2, 作為嵌入式系統產品的支持操作系統;
對第一個領域來說,通常可能是要作為WEB伺服器來使用。如果你去做這個,需要熟悉譬如Linux, Apache, Mysql, PHP的使用和開發即可。這四個合起來被稱為 LAMP。當然,做伺服器應用的可能還需要學習類似的,如 java, oracle 之類的技術和軟體。總體來說,學習這些東西其實並不難,市場上也已經有很多人在做這方面的事情。所以,假如你現在繼續跟進的話,可能將來不會有太大的發 展。
對第二個領域,相比第一個領域來說,其挑戰和機遇要更多一些。現在各行各業都會用到嵌入式的應用,比方信息家電,醫療電子,通信設備,工業控制等各領域。 另外一個原因,現在做方面的人,雖然比前幾年多了一些,但總體上還是供不應求,況且市面上很多人都只是知道一個皮毛,遠沒有到熟悉或者精通的地步。所以, 我的建議,假如你此刻面臨選擇,那不如就選這個方向。
當然,進入這第二個領域也比第一個領域要難的多,其要學習掌握遠不止是軟體層面的東西,它要求你軟硬體都懂,上面的應用層和下面的底層也都懂。:) 正是要學的東西多,難度高,所以才註定了現在參與其中的人還不算多。同樣的,假如你想完全靠自己自學來進入這個領域,也是頗有困難的,最好的辦法就是找到 一個在這方面有著很豐富實際經驗的團隊,在他們的指導下進行學習,這樣將會事半功倍
人若無名,便可專心練劍.
linux運維發展常見的就是下面兩條路線:
第一條:運維應用--&>系統架構--&>運維開發--&>系統開發
第二條:運維應用--&>應用dba--&>架構dba--&>開發DBA
下面詳細每個階段的職位說明(以北上廣為例):
01. 運維應用級別:
這個階段就是玩別人的軟體,例如:linux,nginx,mysql,php,nagios 大多數的linux運維工程師,網路工程師,系統工程師都是這個階段。 這個階段的工資平均3-10K。處在這個階段的夥伴們要注意了。
這裡屬於金字塔的底端,工資是相對比較低的。
02. 系統架構級別:
這個階段就是用已知軟體架構大規模集群方案以及實現各種技術方案
這個就是所謂的系統架構師,如果是程序開發就是程序架構師。
這個階段的工資平均10K-30K,屬於運維應用上層,需要靠技術,
溝通,思想三條線通力配合才能達到這個水平。
03. 運維開發級別:
這個階段就是利用已知語言,開發基本的應用層工具,例如:web管理系統
這個階段的平均工資大概10-30K,如果具備前兩個運維應用和系統架構的積澱,
那麼工資30-60K很輕鬆。
04. 系統開發級別:
這個階段就是修改開源的軟體,或者開發新的服務軟體(例如:也開發一個web軟體,存儲軟體)與底層軟體(例如:OS)
這個階段的平均工資大概20-60K,如果具備前兩個運維應用和系統架構的積澱,工資更高!
05. 資料庫管理和架構:
這個階段就是也主要是玩別人的軟體,但是由於數據相對更重要,所以工資要一些。
資料庫也需要架構,所以資料庫的高級階段工資也會較高,資料庫開發職位不多,就不說了。
這個階段的工資平均10K-40K。要求至少第一層運維應用的能力。其他能力有就是加分。
另外我們整理了一個學習知識庫,你可以看一下:
【超全整理】《Linux雲計算從入門到精通》系列實戰筆記全放送 | Linux運維部落
下面兩張圖告訴你,清晰明了
linux 只是操作系統而已,就像windows一樣,但是它的優點在於可定製化程度高,而win/mac則只能用企業發行版的。
操作系統是一個平台,你只需要學習如何在這個平台上工作就可以了,其他的就別多想。
但有個事情需要提前說一下,Linux變種很多,為了能一通百通,強烈建議使用命令行熟悉一下操作。強烈建議使用命令行熟悉一下操作.強烈建議使用命令行熟悉一下操作.強烈建議使用命令行熟悉一下操作.....
比如 : 如何編輯一個文件,用vim還是用圖形界面?
如何安裝一個軟體,用apt-get / yum install 還是自帶系統工具?
如何設置軟體自啟動?如何設置網路參數?如何排查網路問題?如何像win一樣批處理?如何修改密碼等等。。。
當然,考慮到樓主是測試,應該是不需要寫code的,所以以上其實大多是如何使用linux的內容。
我理解樓主說的方嚮應不是就業方向,所以以上僅表述了linux的學習方向。。。。。
年輕人都在轉產品,開發,搞自動化。Python,java都行,年紀大的都在轉管理,出書,拉知名度,做培訓。如果真有興趣,搞內核。無論對於測試,開發,運維來說,linux只是工具,測試的單元測試,自動化,Python..等。還有好多工具是可以玩的。看自己的方向了。
有web類的公司,有偏linux下c之類開發的公司。web類的話,LNMP還有linux基礎服務,然後是並發上去過後的應用層負載Nginx LVS ,資料庫層的主從複製、數據分片、高可用架構等等。這只是其中一部分,新入門的話,先把鳥哥那上面提到的基礎服務都過一遍先。偏底層開發類的我就不懂了,可參考知乎上其他人的回答。
底層開發 or linux運維
推薦閱讀:
※做Linux運維需要考一些證書嗎?如果是,需要考什麼樣子的,費用如何?
※生產伺服器的高危操作有哪些?
※想入運維坑只能從運維監控做起了么?