從入門到深入Linux運(yùn)維應(yīng)該學(xué)什么?
今天馬哥教育要跟大家分享的文章是關(guān)于從入門到深入Linux運(yùn)維應(yīng)該學(xué)什么? Linux入門新手和正在Linux學(xué)習(xí)的小伙伴快來看一看吧,希望能夠?qū)Υ蠹矣兴鶐椭?/p>
一、為什么要學(xué)Linux?
當(dāng)然最重要是愛好和興趣!如果你沒必要學(xué),或者根本不喜歡,請不要浪費(fèi)時(shí)間,你學(xué)也學(xué)不好!
二、起步學(xué)習(xí)
你應(yīng)該為自己創(chuàng)造一個(gè)學(xué)習(xí)Linux的環(huán)境--在電腦上裝一個(gè)Linux或Unix 。
問題1:版本的選擇
北美用redhat,歐洲用SuSE,桌面mandrake較多,而debian是技術(shù)最先進(jìn)的Linux。
開發(fā)人員中用debian的最多,其次是redhat,從全球Linux各應(yīng)用領(lǐng)域市場份額來看 ,無疑redhat是最多的,此外還有很多出名的發(fā)行版本,不再列舉。
對于初學(xué)Linux的人來說,建議使用redhat,原因如下:
1)現(xiàn)在很多書都是以redhat為例講的,為了與書本協(xié)調(diào)一致 。
2)周圍的人都用redhat,交流比較方便 。
3)redhat應(yīng)用范圍廣,有典型性和代表性 。
4)它易于使用和安裝,我們沒有必要把時(shí)間浪費(fèi)在“裝系統(tǒng)”上 而應(yīng)集中精力學(xué)習(xí)最有用的東西。
//注:現(xiàn)在覺得RH很死板,AS,ES等用在服務(wù)器上或許不錯(cuò), Personal desktop用mandrake,debian,suse都不錯(cuò),筆者現(xiàn)在用Mandrake,因?yàn)樗L得漂亮 。
如果你并不打算深入學(xué)習(xí)Linux,而是有諸如適應(yīng)北京市政府辦公平臺遷移到Linux上這種需要,那么中軟,紅旗等中文Linux是不錯(cuò)的選擇 。
強(qiáng)烈建議:自己親自動手把Linux裝到你的硬盤上, 你必須學(xué)會獨(dú)立安裝Linux系統(tǒng)的技能,對于現(xiàn)在的版本來說,其實(shí)跟裝WinXP一樣簡單 。
從此現(xiàn)在開始,請不要以windows的工作方式來考慮問題, 應(yīng)該嘗試挖掘Linux身上的“天才Unix”的氣質(zhì)。
三、進(jìn)階
· 掌握至少50個(gè)以上的常用命令 ;
· 理解shell管道"|",文件流重定向">"及追加">>"等 ;
· 熟悉Gnome/KDE等X-windows桌面環(huán)境操作 ;
· 掌握.tgz.rpm.biz等軟件包的常用安裝方法;
· 學(xué)習(xí)添加外設(shè),安裝設(shè)備驅(qū)動程序(比如modem) ;
· 熟悉Grub/Lilo引導(dǎo)器及簡單的修復(fù)操作;
· 熟悉系統(tǒng)固有目錄的名稱及公用 ;
· 學(xué)會用mount命令訪問其他文件系統(tǒng);
· 了解vi,gcc,gdb等常用編輯器,編譯器,調(diào)試器;
· 學(xué)習(xí)Linux環(huán)境下的簡單組網(wǎng)。
建議:買一本不需要太厚的Linux教材,大致可以滿足要求 。
//現(xiàn)在的書越來越多了,還帶很多圖,比以前好學(xué)多了。
四、高級應(yīng)用
澄清一些概念:
Linux的普通操作與真正的系統(tǒng)管理不能相提并論,后者需要很多知識 。
我個(gè)人認(rèn)為比較重要的幾種Linux語言 :
1.英語
§ 即使你不學(xué)Linux,也強(qiáng)烈建議你學(xué)好英文[U.S.english] ;
§ 因?yàn)閷?shí)質(zhì)上計(jì)算機(jī)語言就是英文和字符,所謂的多國語言只是外部包裝;
§ 你必須能無障礙的閱讀大量的英文技術(shù)文檔 ;
§ 在搜索引擎找到的英文網(wǎng)站和網(wǎng)頁中熟練的檢索;
§ 最好能有用英文直接交流的能力;
§ 擺脫了這個(gè)障礙,你的學(xué)習(xí)和理解速度就能快很多,你就有機(jī)會拉開和別人的差距。
2.shell[sed/awk]
· shell是命令解釋器,是內(nèi)核與用戶界面交流通道,shell寫的小腳本有點(diǎn)類似于win下的.bat
· 但shell比.bat強(qiáng)大的多,shell不只是解釋命令,更是一種編程語言,有時(shí)候幾百行的c用shell
· 幾十行就能代替完成工作,因?yàn)閟hell的工作方式建立在系統(tǒng)已有的眾多應(yīng)用程序之上
· 這也是CS中的一個(gè)重要思想。
· 此外,shell可以實(shí)現(xiàn)工作自動化,這個(gè)概念也比較重要
· sed,awk用來處理文本,歷來很常用
3.Perl/PHP
漂亮的腳本, CGI的首選,比ASP好,應(yīng)用面很廣 。
4.C/C++
C、C++是Linux/unix的核心語言,系統(tǒng)代碼都是C寫的 。
5.ASM
系統(tǒng)底層及內(nèi)核,硬件,設(shè)備驅(qū)動程序,嵌入式開發(fā)都需要。
//走核心路線的話,才c/c++,asm最重要
6.Java,Python,Tcl,XML
(系統(tǒng)管理篇 )
· 在熟悉Linux的基礎(chǔ)上還需要掌握至少一種unix
· 首推Solaris,其次是FreeBSD
· 比如運(yùn)營級系統(tǒng)一般是Solaris+Oracle/DB2之類的
· apache,ssh,sendmail/Qmail,proftp/vsftp,Samba,Squid,MySQL/PostgreSQL/Oracle,Bind 等各種應(yīng)用服務(wù)器的構(gòu)架及電子商務(wù)的應(yīng)用
熟悉TCP/IP協(xié)議族,學(xué)習(xí)諸如apache+php+proftp+mysql+quota的實(shí)現(xiàn)以及大型局域網(wǎng),分布式集群等各種企業(yè)級應(yīng)用解決方案 。
熟悉多用戶管理,數(shù)據(jù)庫管理,文件系統(tǒng),邏輯存儲管理,日志分析,備份與災(zāi)難數(shù)據(jù)修復(fù)系統(tǒng)補(bǔ)丁,內(nèi)核升級,以及在此基礎(chǔ)上的防火墻構(gòu)架等以保障系統(tǒng)安全在內(nèi)的各種系統(tǒng)管理技能。
個(gè)人覺得,如果在此基礎(chǔ)上再掌握路由/交換設(shè)備便是一個(gè)不錯(cuò)的系統(tǒng)管理員 。
各種基于Linux的解決方案可參考相關(guān)書籍和文獻(xiàn),必要時(shí)用google或各大Linux站點(diǎn)站內(nèi)搜索引擎尋找最新文檔,以避免錯(cuò)誤和漏洞 。
五、深入學(xué)習(xí)
個(gè)人理解的讀Linux內(nèi)核需要的基礎(chǔ):
在此之前,希望先把應(yīng)用層的東西學(xué)一下,那樣會比較好理解。
1.C
如果學(xué)過潭浩強(qiáng)的大學(xué)教科書(除了編幾個(gè)數(shù)學(xué)模型好像什么也做不了的那種), 建議再看一下 《The C Programming Language》Second Edition這本圣經(jīng) 。
/*如果想學(xué)緩沖區(qū)溢出,這點(diǎn)C的功力可能是不夠的*/
還有,反正經(jīng)典書看多了是沒有壞處的 。
2.asm (AT&T語法,保護(hù)模式)
保護(hù)模式下的比較復(fù)雜,基本上每本講內(nèi)核的書都會有介紹。
有80x86 Intel語法的基礎(chǔ)就行, 有興趣可以看看Intel的官方網(wǎng)站。
3.數(shù)據(jù)結(jié)構(gòu)(離散數(shù)學(xué))
計(jì)算機(jī)專業(yè)的核心課程,重要性我就不說了 。
4.操作系統(tǒng)原理
看懂這個(gè)再去讀Linux吧 。
5.微機(jī)原理/組成原理(數(shù)字電路)
底層直接和硬件打交道,所以這個(gè)也要學(xué)。
6.了解Linux/Unix
至少你要會操作吧,了解unix的API 。
7.軟件工程/編譯原理
這方面的經(jīng)典書去百度上搜到很多 ,APUE這種書不適合初學(xué)者,還是先看看UPE之類的吧 。
APUE
《advanced programming in the unix environment》
《unix環(huán)境高級編程》
作者:W.Richard.Stevens共有6本經(jīng)典書,尊為“圣經(jīng)” ,他的書為全世界黑客所拜讀!
UPE:
《unix programming environment》
《unix編程環(huán)境》比較適合初學(xué)者的,深入淺出, 其中有一些比較重要的思想 。
另外,介紹Linux下應(yīng)用層編程的書也有很多,比如 redhat、redflag出的書...........
經(jīng)典書還有很多很多:
· 操作系統(tǒng):設(shè)計(jì)與實(shí)現(xiàn) //交大的考研參考書目,講Minix的
· unix操作系統(tǒng)設(shè)計(jì)
· BSD操作系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
· 昂萊氏unix源代碼分析
· understanding the Linux kernel (2nd)深入理解Linux內(nèi)核
· Linux設(shè)備驅(qū)動程序 (2nd)
· Linux內(nèi)核源代碼情景分析
· 保護(hù)方式下的80386及其編程
以上就是馬哥教育今天為大家分享的關(guān)于從入門到深入Linux運(yùn)維應(yīng)該學(xué)什么的文章,希望本篇文章能夠?qū)φ郎?zhǔn)備學(xué)習(xí)Linux運(yùn)維的小伙伴們有所幫助。想要了解更多Linux相關(guān)學(xué)習(xí)知識記得關(guān)注馬哥教育官網(wǎng),最后祝愿小伙伴們順利學(xué)成,成為一名優(yōu)秀的Linux運(yùn)維工程師!
聲明:文章來源于網(wǎng)絡(luò),侵刪!