無論是從事網路還是開發工作,都有學習Linux的必要性,畢竟技多不壓身,而且現在伺服器都是基於Linux系統的,想要在以後擁有更好的發展,建議大家可以深入學習一下Linux技術。
B. Linux運維工程師都需要具備哪些技能和職業品質
1、具備扎實的基礎:如果沒有扎實的基礎,是難以掌握這門課程的,如果沒有基礎你想想如何查看文件類型、查看系統運行狀態、創建用戶等,所以一定要掌握扎實,才能夠走的更遠。
2、搭建服務:Linux服務有很多種,每個公司使用是截然不同的,所以常見的基礎一定要掌握好,比如說ftp、Bind、DHCP、SAMBA服務要了解會簡單配置,不光會搭建,一定要熟悉服務裡面的配置。
3、掌握腳本語言:shell語言是這個行業中必須要掌握的,一些比較簡單的系統管理shell腳本是最為常見的、使用到的。另外就是使用到語言就是Python,是當下比較火的,程序效率高、語言簡潔清晰等,可以實現自動化運維。
4、網路服務:網站運維,當然WEB是核心了,這塊需要掌握的有nginx,apache
web服務,必須要熟練,對應的組合就是LNMP和LAMP是必須要熟練,我所指的不是光光會簡單搭建,而是要很熟悉裡面的配置才行,深入了解內部運行機制和原理,因為網站公司最關鍵的絕對是WEB服務,所以nginx和apache要熟悉,特別是nginx一定要很熟悉才行,有些公司(游戲公司多)還會用tomcat,這個也最好學一下,JVM優化要會最好了。
5、網站集群服務:現在的公司多數都會有集群環境,特別是網站公司,大並發高性能是主旋律,要想發展好這些都是必須會的,例如LVS,NGINX,KEEPALIVED集群軟體,MEMCACHED,REDIS。
6、資料庫:資料庫是所有網路服務里最核心的,必須要學會學好,這里建議首選mysql,別問我為什麼不學oracle,因為互聯網公司用得最多絕對是MySQL,安裝、基礎維護命令、主從復制,引擎,備份,恢復,增量恢復,必須要學會。
7、防火牆:防火牆,不學不行,防火牆也算是個難點,說難不難,說易不易,最重要弄懂規則,如果學過CCNA的朋友可能會比較好學,因為iptables也有NAT表,原理是一樣的,而FILTER表用得最多,反正不學就肯定不合格。
C. 學習linux要多久
一般培訓機構Linux學習時長在4至6個月左右,我校是5個月,包括Linux基礎、綜合架構、shell編程、資料庫、雲計算以及網路安全等內容
D. 新手做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等,最好多了解一下。
E. 學習Linux難嗎
看個人情況了,每個人的學習能力不同,接受能力不同,自然覺得難易度是不同回的,不答過相對於來說,Linux學習要比其他的編程語言更加簡單一些,入門也是比較容易的,不過想要掌握好Linux技術,還是需要系統化的學習一些,這樣才可以更好的掌握好,推薦可以看看小猿圈的視頻,看看適不適合在決定要不要報名學習。