學習linux運維
『壹』 新手做linux運維需要學哪些知識
1、Linux系統基礎
嚴格的來講,Linux 不算是一個操作系統,只是一個 Linux 系統中的內核,即計算機軟體與硬體通訊之間的平台;Linux的全稱是GNU/Linux,這才算是一個真正意義上的Linux系統。GNU是Richard Stallman組織的一個項目,世界各地的程序員可以變形GNU程序,同時遵循GPL協議,允許任何人任意改動。但是,修改後的程序必須遵循GPL協議。
Linux 是一個多用戶多任務的操作系統,也是一款自由軟體,完全兼容POSIX標准,擁有良好的用戶界面,支持多種處理器架構,移植方便。
為程序分配系統資源,處理計算機內部細節的軟體叫做操作系統或者內核。如果你希望詳細了解操作系統的概念,請查看操作系統教程。
用戶通過Shell與Linux內核交互。Shell是一個命令行解釋工具(是一個軟體),它將用戶輸入的命令轉換為內核能夠理解的語言(命令)。
2、網路服務
服務有很多種,每間公司都會用到不同的,但基礎的服務肯定要掌握,如ftp, DNS,SAMBA, 郵件, 這幾個大概學一下就行。
其實網路服務方面不用太擔心,一般公司的環境都已經搭建好,就算有新伺服器或讓你整改,公司會有相應的文檔讓你參照來弄,不會讓你亂來的,但至少相關的配置一定要學熟,而且肯定是編譯安裝多,那些模塊要熟悉一下他的作用,特別是PHP那些模塊。
這面2點只是基礎,也是必要條件,不能說是工具,下以才是真正的要掌握的工具。
3、shell腳本和另一個腳本語言
shell是運維人員必須具備的,不懂這個連入職都不行,至少也要寫出一些系統管理腳本,最簡單也得寫個監控CPU,內存比率的腳本吧,這是最最最基本了。別以為會寫那些猜數字和計算什麼數的,這些沒什麼作用,只作學習意義,寫系統腳本才是最有意義。
Shell是系統的用戶界面,提供了用戶與內核進行交互操作的一種介面。它接收用戶輸入的命令並把它送入內核去執行 。
實際上Shell是一個命令解釋器,它解釋由用戶輸入的命令並且把它們送到內核。不僅如此,Shell有自己的編程語言用於對命令的編輯,它允許用戶編寫由shell命令組成的程序。Shell編程語言具有普通編程語言的很多特點,比如它也有循環結構和分支控制結構等,用這種編程語言編寫的Shell程序與其他應用程序具有同樣的效果。
Linux提供了像MicrosoftWindows那樣的可視的命令輸入界面--X Window的圖形用戶界面(GUI)。它提供了很多桌面環境系統,其操作就像Windows一樣,有窗口、圖標和菜單,所有的管理都是通過滑鼠控制。GNOME。
每個Linux系統的用戶可以擁有他自己的用戶界面或Shell,用以滿足他們自己專門的Shell需要。
同Linux本身一樣,Shell也有多種不同的版本。主要有下列版本的Shell:
Bourne Shell:是貝爾實驗室開發的。
BASH:是GNU的Bourne Again Shell,是GNU操作系統上默認的shell。
Korn Shell:是對Bourne SHell的發展,在大部分內容上與Bourne Shell兼容。
C Shell:是SUN公司Shell的BSD版本。
Z Shell:The last shell you』ll ever need! Z是最後一個字母,也就是終極Shell。它集成了bash、ksh的重要特性,同時又增加了自己獨有的特性。
而另一個腳本語言是可選的,一般是3P,即python,Perl和PHP,PHP就不需要考慮了,除非你要做開發,我個人建議學Python會比較好,不難實現自動化運維,Perl是文本處理很強大,反正這兩個學一個就行了。
4、sed和awk工具
必須要掌握,在掌握這兩個工具同時,還要掌握正則表達式,這個就痛苦了,正則是最難學的表達式,但結合到sed和awk中會很強大,在處理文本內容和過濾WEB內容時十分有用,不過在學shell的同時一般會經常結合用到的,所以學第3點就會順便學第4點。
5、文本處理命令
sort , tr , cut, paste, uniq, tee等,必學,也是結合第3點時一並學習的。
6、資料庫
首選Mysql,別問我為什麼不學SQL Server和Oracle,因為Linux用得最多絕對是MySQL。增刪改查必學,特別要學熟查,其它方面可能不太需要,因為運維人員使用最多還是查,哪些優化和開發語句不會讓你弄的。
MySQL是一個關系型資料庫管理系統,由瑞典MySQL AB 公司開發,目前屬於 Oracle 旗下產品。MySQL 是最流行的關系型資料庫管理系統之一,在 WEB 應用方面,MySQL是最好的 RDBMS (Relational Database Management System,關系資料庫管理系統) 應用軟體。
MySQL是一種關系資料庫管理系統,關系資料庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度並提高了靈活性。
MySQL所使用的 SQL 語言是用於訪問資料庫的最常用標准化語言。MySQL 軟體採用了雙授權政策,分為社區版和商業版,由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發都選擇 MySQL 作為網站資料庫。
由於其社區版的性能卓越,搭配 PHP 和 Apache 可組成良好的開發環境。
7、防火牆
不學不行,防火牆也算是個難點,說難不難,說易不易,最重要弄懂規則。如果學過CCNA的朋友可能會比較好學,因為iptables也有NAT表,原理是一樣的,而Filter表用得最多,反正不學就肯定不合格。
8、監控工具
十分十分重要,我個人建議,最好學這3個,cacti,nagios,zabbix。企業用得最多應該是nagios和zabbix,反正都學吧,但nagios會有點難,因為會涉及到用腳本寫自動監控,那個地方很難。
Zabbix是一個基於WEB界面的提供分布式系統監視以及網路監視功能的企業級的開源解決方案。
Zabbix能監視各種網路參數,保證伺服器系統的安全運營;並提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題。
Cacti是一套基於PHP,MySQL,SNMP及RRDTool開發的網路流量監測圖形分析工具。
Cacti是通過 snmpget來獲取數據,使用 RRDtool繪畫圖形,而且你完全可以不需要了解RRDtool復雜的參數。它提供了非常強大的數據和用戶管理功能,可以指定每一個用戶能查看樹狀結構、host以及任何一張圖,還可以與LDAP結合進行用戶驗證,同時也能自己增加模板,功能非常強大完善。界面友好。軟體 Cacti 的發展是基於讓 RRDTool 使用者更方便使用該軟體,除了基本的 Snmp 流量跟系統資訊監控外,Cacti 也可外掛 Scripts 及加上 Templates 來作出各式各樣的監控圖。
9、集群和熱備
這個很重要,肯定要懂的,但到了公司就不會讓你去弄,因為新手基本不讓你碰。集群工具有很多,最好學是LVS,這是必學,最好也學學nginx集群,反向代理。還有熱備,這個就更多工具能實現了,像我公司是自己開發熱備工具的,MySQL熱備也要學,就是主從復制,這個別告訴我容易,其實不容易的,要學懂整個流程一點也不容易,只照著做根本沒意思。
10、數據備份
不學不行,工具有很多,但至少要把RAID的原理弄懂,特別是企業最常用的1+0或0+1,自己做實驗也要弄出來,備份工具有很多,如tar, mp, rsync等,最好多了解一下。
『貳』 自學Linux運維可行嗎以後工作前景如何
自學Linux運維可行,以後工作前景非常好。
目前大部分網站都運行在linux的系統上,做Linux運維還是有很大前途的。同時要兼具網路能力,安全管理能力,尤其是開發能力,才會有一定發展。
但是,這崗位在被重視的程度相對研發過程其它崗位要差,工資比開發低,做事情不易被領導重視,缺乏成就感。
相關資料
應用運維的話,這個相對於對於技術能力要求會比較高一點,市場上軟體的更新換代比較快,這邊需要自己有足夠的自學能力,和抗壓能力。
當然,薪資較高,這個需要會各種應用。現在比較火的大數據,對於大數據就又好多種軟體,不是說你都會,但是你要熟悉其中2-3中,才能說自己是大數據的應用運維工程師。還有各大網站,你要對於變更上限,發布流程相當熟悉,你才能說自己是一名web應用運維工程師。
『叄』 怎麼學習linux
Linux主體分為「運維」與「開發」兩個方向,無論你是Linux相關從業者,還是說愛好都可以歸類到這里,其中「運維」一般是初學者或者轉行人員的首選,而Linux運維主要是對伺服器穩定、性能與安全方面的維護和調試。
實際上Linux入門並不困難,只要具備Linux基礎,讀懂Linux的命令格式,大多數的服務架構都是可以按照文檔部署出來。當然做Linux開發,個人建議去參加培訓學習更有效率,如果報班學習則大概需要4-6個月時間。
學習主要內容有:
1)網路基礎與linux系統的管理
2)優化及高可用技能
3)虛擬化與雲平台技術
4)開發運維
畢業後可從事的工作有:
1)Linux運維工程師
2)資料庫工程師
3)雲計算運維工程師
4)自動化運維工程師
5)雲計算架構工程師等
互聯網行業目前還是最熱門的行業之一,學習IT技能之後足夠優秀是有機會進入騰訊、阿里、網易等互聯網大廠高薪就業的,發展前景非常好,普通人也可以學習。
想要系統學習,你可以考察對比一下開設有相關專業的熱門學校,好的學校擁有根據當下企業需求自主研發課程的能力,能夠在校期間取得大專或本科學歷,中博軟體學院、南京課工場、南京北大青鳥等開設相關專業的學校都是不錯的,建議實地考察對比一下。
祝你學有所成,望採納。
『肆』 新手做linux運維需要學哪些知識
linux最先要學的是Linux基礎知識,學完基礎知識才算入門,之後還要學習綜合架構、Shell編程、資料庫、雲計算以及網路安全方面的知識,以下是linux基礎部分要學習的內容:
1. 計算機硬體、組成原理、操作系統基礎、Linux起源、核心介紹及Linux安裝實戰入門
2. Xshell遠程網路連接Linux、基礎優化、遠程連接網路基礎、Xshell連接故障排錯、核心基礎命令講解
3. Linux系統核心通配符體系、grep,sed,awk核心正則表達式精講及企業級案例實戰模擬精講
4. Bash核心符號、快捷鍵、通配符詳解
5. Linux目錄、FHS\掛載、文件屬性、核心目錄精講
6. Linux文件及目錄管理核心知識和命令精講(第二關)
7. Linux企業級基礎優化(工作中可直接使用)
8. Linux文件及目錄許可權精講及多個企業案例模擬
9. Linux重要核心命令回顧與深入精講(第三關)
老男孩教育作為Linux、網路安全、python培訓機構,Linux更是招牌學科 ,老男孩已撰寫Linux、Python、Go原創書籍二十餘本,系統講解Python、Linux、Golang技術難點。
『伍』 如何學習linux
第一階段:初級入門
初級階段需要把linux運維學習路線搞清楚,任何學習都是循序漸進的,所以學linux運維也是需要有一定的路線。
1、Linux基礎知識、基本命令(起源、組成、常用命令如cp、ls、file、mkdir等常見操作命令)
2、Linux用戶及許可權基礎
3、Linux系統進程管理進階
4、linux高效文本、文件處理命令(vim、grep、sed、awk、find等命令)
5、shell腳本入門(可邊練習邊學習)
第二階段:中級進階
中級進階需要在充分了解linux原理和基礎知識之後,對上層的應用和服務進行深入學習,其中說到服務肯定涉及到網路的相關知識,是需要花時間學習的。
1、TCP/IP網路基礎(差不多CCNA、NP的知識就夠用)
2、Linux企業常用服務(如dns、http、ftp、mail、nfs等)
3、Linux企業級安全原理和防範技巧(系統性能/安全、安全威脅模型和保護方法
4、加密/解密原理及數據安全、系統服務訪問控制及服務安全基礎
5、iptables安全策略構建
6、shell腳本進階(主要是結合一些應用,寫一些案例)
7、MySQL應用原理及管理入門(能管理和搭建一個個人博客站點)
第三階段:高級提升
1、http服務代理緩存加速(其中主要學習varnish、nginx緩存系統,要對CDN的知識有所了解。)
2、企業級負載集群(其中主要學習nginx、haproxy、lvs要對主要知識熟練掌握,對負載均衡演算法有清晰認識)
3、企業級高可用集群 (其中需要對keepalived,heartbeat等進行深入講解)
4、運維監控zabbix詳解(主要是zabbix、cacti、nagios等監控系統,現在用的比較多的是zabbix)
5、運維自動化學習(需要學一些開源運維自動化工具的使用如ansible、puppet、cobbler等運維自動化工具)
第四階段:資深方向進階
1、 大數據方向(需要對hadoop、storm等常見開源大數據系統需要深入了解)
2、 雲計算方向(主要是openstack這套東西,當然像一些kvm等虛擬化技術,也是需要掌握的,現在docker也比較流行)
3、 運維開發(主要是python運維開發)
4、 自動化運維(在之前自動化基礎上做深入)
5、 運維架構師(主要需要廣度,差不多5年左右以上經驗,可以擔當此職位)
『陸』 Linux運維方向需要學些什麼,之後可以從事哪些工作
推薦幾本學習Linux的書籍供參考:
一、《快樂的Linux命令行》
這本書介紹如何生存在 Linux 命令行的世界。不像一些書籍僅僅涉及一個程序,比如像shell 程序, bash。這本書將試著向你傳授如何與命令行界面友好相處。它是怎樣工作的?它能做什麼?使用它的最好方法是什麼?
正如書中所說的「就像有位老師在你身邊,指導你學習」,這本書的特點是語言簡潔流暢,即使是英文版,看起來也不費勁(目前已有中文版)。涵蓋了大部分命令行工具和Shell編程。最主要的是它基於 CC 協議共享,任何人都可以免費下載。
二、《Linux命令行與shell腳本編程大全》
這是一本非常適合Linux小白的入門教程,內容通俗易懂、深入淺出,除了日常工作中用的基礎命令之外,像正則表達式、sed、awk 這樣的高級命令也有介紹,書上還配有大量的實例,如果你想精通 shell 編程,那麼這本書就是為你准備的。也是有志於從事系統運維開發的朋友必備讀品,總之,只要你能跟著這本教程學完,使用 Linux 就輕車熟路了。
三、鳥哥的Linux私房菜 : 基礎學習篇
如果你想要學習Linux,強烈建議通過《鳥哥的Linux私房菜》這套書籍去學習,淺顯易懂,小編就是通過這套書籍學會Linux的。
四、Linux UNIX系統編程手冊 套裝上下冊
《linux/unix系統編程手冊(上、下冊)》是介紹linux與unix編程介面的權威著作。linux編程資深專家michael kerrisk在書中詳細描述了linux/unix系統編程所涉及的系統調用和庫函數,並輔之以全面而清晰的代碼示例。
《linux/unix系統編程手冊(上、下冊)》涵蓋了逾500個系統調用及庫函數,並給出逾200個程序示例,另含88張表格和115幅示意圖。
學成之後從事的工作也是圍繞運維進行的:
應用運維(SRE):應用運維負責線上服務的變更、服務狀態監控、服務容災和數據備份等工作,對服務進行例行排查、故障應急處理等工作,工作職責如下:設計評審、服務管理、資源管理、例行檢查、預案管理、數據備份。
系統運維(SYS):負責IDC、網路、CDN和基礎服務的建設(LVS、NTP、DNS);負責資產管理,伺服器選型、交付和維修,工作職責如下:IDC數據中心建設、網路建設、LVS負載均衡和SNAT建設、CDN規劃和建設、伺服器選型、交付和維護、內核選型和OS相關維護工作、資產管理、基礎服務建設。
資料庫運維(DBA):資料庫運維負責數據存儲方案設計、資料庫表設計、索引設計和SQL優化,對資料庫進行變更、監控、備份、高可用設計等工作,詳細的工作內容如下:設計評審、容量規劃、數據備份與災備、資料庫監控、資料庫安全、資料庫高可用和性能優化、自動化系統建設、運維研發、運維平台、監控系統、自動化部署系統。
運維安全(SEC):運維安全負責網路、系統和業務等方面的安全加固工作,進行常規的安全掃描、滲透測試,進行安全工具和系統研發以及安全事件應急處理,工作內容如下:安全制度建立、風險評估、安全建設、安全合規、應急響應。
『柒』 如何零基礎開始學習Linux運維
0基礎學習Linux運維首先要有合適的學習路線,可以按照以下路線進行學習:
『捌』 linux該如何學習
linux運維的學習過程,主要分為4個階段,初級入門->中級進階->高級提升->資深細化。
第一階段:初級入門
1、linux基礎知識、命令(常用命令如cp、ls、mkdir等)
2、linux用戶及許可權基礎
3、linux系統進程管理進階
4、linux文件處理命令(vim、grep、sed、awk、find等)
5、shell腳本入門
第二階段:中級進階
1、tcp/ip網路基礎
2、linux企業級安全原理和防範技巧
3、加密/解密原理及數據安全、系統服務訪問控制及服務安全基礎
4、iptables安全策略構建
5、shell腳本進階
6、mysql應用原理及管理入門
第三階段:高級提升
1、企業級負載集群(主要學習varnish、nginx緩存系統)
2、企業級高可用集群(需要對keepalived、heartbeat有一定了解)
3、運維監控zabbix詳解(主要是zabbix、cacti、nagios等監控系統)
4、運維自動化學習(需要學一些開源運維自動化工具的使用,如ansible、puppet、cobbler等工具)
第四階段:資深進階
1、大數據方向(需要對hadoop、storm等常見開源大數據系統深入了解)
2、雲計算方向(主要是openstack,kvm等虛擬化技術也是需要的,還有docker)
3、運維開發(python運維開發)
4、自動化運維(在之前自動化基礎上做深入)