這篇文章在chinaunix上看到,寫(xiě)的很不錯(cuò)。希望能對(duì)學(xué)習(xí)linux的人有所幫助。
隨著Linux應(yīng)用的擴(kuò)展許多朋友開(kāi)始接觸Linux,根據(jù)學(xué)習(xí)Windwos的經(jīng)驗(yàn)往往有一些茫然的感覺(jué):不知從何處開(kāi)始學(xué)起。作為一個(gè)
Linux系統(tǒng)管理員,我看了許多有關(guān)Linux的文檔和書(shū)籍,并為學(xué)習(xí)Linux付出了許多艱苦的努力。當(dāng)真正獲得了一份正式的Linux系統(tǒng)管理工作
后,我更加深刻地理解了Linux的靈魂:服務(wù)與多用戶。Linux系統(tǒng)知識(shí)是非常廣博的,但是只要掌握了重點(diǎn)知識(shí),管理它并沒(méi)有想象中的那么可怕。在下
面我會(huì)將作為系統(tǒng)管理員的一些工作心得和總結(jié)出來(lái)的經(jīng)驗(yàn)系統(tǒng)地介紹給大家。
一、 學(xué)習(xí)的目的
通過(guò)Linux的學(xué)習(xí)掌握UNIX的目的想必不用多說(shuō)了,在這個(gè)網(wǎng)絡(luò)人才身價(jià)倍增的年代,想靠技術(shù)吃飯又不想掌握網(wǎng)絡(luò)和編程技術(shù)是不明智的。當(dāng)一人第一次
聽(tīng)說(shuō)Linux并躍躍欲試的時(shí)候,總會(huì)提出幾個(gè)?,它是什么(What)? 為什么要用它(Why)?
怎樣學(xué)習(xí)它(How)?做為開(kāi)放源碼運(yùn)動(dòng)的主要組成部分,Linux的應(yīng)用越來(lái)越廣泛,從我們平時(shí)的娛樂(lè)、學(xué)習(xí),到商業(yè)、政府辦公,再到大規(guī)模計(jì)算的應(yīng)
用。為了滿足人們的需求,各種各樣的、基于Linux的應(yīng)用軟件層出不窮。只要具備了LinuX的基本功,并具有了自學(xué)的能力之后,都可以通過(guò)長(zhǎng)期的學(xué)習(xí)
將專項(xiàng)內(nèi)容予以掌握。
二、 從命令開(kāi)始從基礎(chǔ)開(kāi)始
常常有些朋友一接觸Linux 就是希望構(gòu)架網(wǎng)站,根本沒(méi)有想到要先了解一下Linux
的基礎(chǔ)。這是相當(dāng)困難的。雖然Linux桌面應(yīng)用發(fā)展很快,但是命令在Linux中依然有很強(qiáng)的生命力。Linux是一個(gè)命令行組成的操作系統(tǒng),精髓在命
令行,無(wú)論圖形界面發(fā)展到什么水平這個(gè)原理是不會(huì)變的,Linux命令有許多強(qiáng)大的功能:從簡(jiǎn)單的磁盤(pán)操作、文件存取、到進(jìn)行復(fù)雜的多媒體圖象和流媒體文
件的制作。這里筆者把它們中比較重要的和使用頻率最多的命令,按照它們?cè)谙到y(tǒng)中的作用分成幾個(gè)部分介紹給大家,通過(guò)這些基礎(chǔ)命令的學(xué)習(xí)我們可以進(jìn)一步理解
Linux系統(tǒng):
●安裝和登錄命令:login、 shutdown、 halt、 reboot 、mount、umount 、chsh
●文件處理命令:file、 mkdir、 grep、dd、 find、 mv 、ls 、diff、 cat、 ln
●系統(tǒng)管理相關(guān)命令: df、 top、 free、 quota 、at、 lp、 adduser、 groupadd kill、 crontab、 tar、 unzip、 gunzip 、last
●網(wǎng)絡(luò)操作命令:ifconfig、 ip 、ping 、 netstat 、telnet、 ftp、 route、 rlogin rcp 、finger 、mail 、nslookup
●系統(tǒng)安全相關(guān)命令: passwd 、su、 umask 、chgrp、 chmod、chown、chattr、sudo、 pswho
三、 選擇一本好的Linux書(shū)籍
無(wú)論在論壇還是讀者反饋中,我們看到最多的問(wèn)題往往是某個(gè)新手,在安裝或使用linux的過(guò)程中遇到一個(gè)具體的問(wèn)題就開(kāi)始提問(wèn),很多都是重復(fù)性的問(wèn)題,甚
至有不少人連基本的問(wèn)題描述都不是很清楚。這說(shuō)明很多初學(xué)linux的人還沒(méi)有掌握基本功。怎樣才能快速提高掌握l(shuí)inux的基本功呢?
最有效的方法莫過(guò)于學(xué)習(xí)權(quán)威的linux工具書(shū),工具書(shū)對(duì)于學(xué)習(xí)者而言是相當(dāng)重要的。一本錯(cuò)誤觀念的工具書(shū)卻會(huì)讓新手整個(gè)誤入歧途。目前國(guó)內(nèi)關(guān)于
linux的書(shū)籍有很多不過(guò)精品的不多,筆者強(qiáng)烈建議閱讀影印本的“o'reilly原版linux圖書(shū)”,而且出版社還提供了一個(gè)非常好的路線圖
四 、養(yǎng)成在命令行下工作
一定要養(yǎng)成在命令行下工作的習(xí)慣,要知道X-window只是運(yùn)行在命令行模式下的一個(gè)應(yīng)用程序。在命令行下學(xué)習(xí)雖然一開(kāi)始進(jìn)度較慢,但是熟悉后,您未來(lái)
的學(xué)習(xí)之路將是以指數(shù)增加的方式增長(zhǎng)的。從網(wǎng)管員來(lái)說(shuō),命令行實(shí)際上就是規(guī)則,它總是有效的,同時(shí)也是靈活的。即使是通過(guò)一條緩慢的調(diào)制解調(diào)器線路,它也
能操縱幾千公里以外地遠(yuǎn)程系統(tǒng)。
五、用Unix思維思考Linux
由于Linux是參照Unix的思想來(lái)設(shè)計(jì)的,理解和掌握它就必須以Unix的思維來(lái)進(jìn)行,而不能以Windows思維。不可否認(rèn),windows
在市場(chǎng)上的成功很大一部分在于技術(shù)思想的獨(dú)到之處??墒沁@個(gè)創(chuàng)新是在面對(duì)個(gè)人用戶的前提下進(jìn)行的,而面對(duì)著企業(yè)級(jí)的服務(wù)應(yīng)用,它還是有些力不從心。多年來(lái)
在計(jì)算機(jī)操作系統(tǒng)領(lǐng)域一直是二者獨(dú)大:unix在服務(wù)器領(lǐng)域,Windows在個(gè)人用戶領(lǐng)域。由此可見(jiàn),用戶需求決定了所采用的操作系統(tǒng)。不管什么原因,
如果要學(xué)習(xí)Linux,那么首先要將思維從Windows的“這個(gè)小河” 中拖出來(lái),放入U(xiǎn)nix的海洋。
六 、學(xué)習(xí)shell
對(duì)于Shell(中文名稱殼),習(xí)慣Windows的讀者肯定是非常陌生的,因?yàn)閃indows只有一個(gè)“Shell”(如果可以說(shuō)是Shell的話),
那就是Windows自己。用一句話容易理解的解釋就是,shell是用戶輸入命令與系統(tǒng)解釋命令之間的中介。最直觀的說(shuō)法,一種Shell有一套自己的
命令。舉一個(gè)容易理解的例子,Linux的標(biāo)準(zhǔn)Shel是Bash Shel;Solaris的shell是B
shell;Linux的Shell是以命令行的方式表現(xiàn)出來(lái)的。讀者可能會(huì)不理解,Windows從命令行“進(jìn)化”到了圖形界面,那么Linux現(xiàn)在還
使用命令行豈不是一種倒退?
當(dāng)初我剛剛接觸Linux時(shí)就曾有過(guò)這種想法??墒呛髞?lái)發(fā)現(xiàn),如果使用圖形界面,那么分配給應(yīng)用軟件的資源就少了,在價(jià)格昂貴的服務(wù)器上,能夠以較低的硬件配置實(shí)現(xiàn)同樣的功能是非常重要的。
下面舉例說(shuō)明,一臺(tái)服務(wù)器有1GB內(nèi)存,假設(shè)其中512MB用于處理圖形界面,若要安裝一個(gè)需要784MB內(nèi)存的數(shù)據(jù)庫(kù)軟件,惟一的辦法就是擴(kuò)大內(nèi)存。但
是如果使用命令行,系統(tǒng)可能只需要64MB內(nèi)存,其它的內(nèi)存就可以供數(shù)據(jù)庫(kù)軟件使用了。使用命令行,不僅是內(nèi)存,而且CPU及硬盤(pán)等資源的占用都要節(jié)省很
多。所以,作為服務(wù)器使用命令行是優(yōu)點(diǎn)而不是缺點(diǎn)。既然Shell有這么多優(yōu)點(diǎn),就必須要學(xué)習(xí)它。
七、勤于實(shí)踐
要增加自己Linux 的技能,只有通過(guò)實(shí)踐來(lái)實(shí)現(xiàn)了。所以,趕快找一部計(jì)算機(jī),趕快安裝一個(gè) Linux
發(fā)行版本,然后進(jìn)入精彩的Linux世界。相信對(duì)于你自己的 Linux
能力必然大有斬獲。此外,人腦不像計(jì)算機(jī)的硬盤(pán)一樣,除非硬盤(pán)壞掉了或者是資料被你抹掉了,否則儲(chǔ)存的資料將永遠(yuǎn)而且立刻的記憶在硬盤(pán)中。在人類記憶的曲
線中,你必須要不斷的重復(fù)練習(xí)才會(huì)將一件事情記得比較熟。
同樣的,學(xué)習(xí) Linux
也一樣,如果你無(wú)法經(jīng)常學(xué)習(xí)的話,學(xué)了后面的,前面的忘了。你對(duì)Linux命令熟悉后你可以開(kāi)始搭建一個(gè)小的Linux網(wǎng)絡(luò),這是最好的實(shí)踐方法。
Linux是網(wǎng)絡(luò)的代名詞,Linux網(wǎng)絡(luò)服務(wù)功能非常強(qiáng)大,不論是郵件服務(wù)器、Web服務(wù)器、DNS服務(wù)器等都非常完善。當(dāng)然你不需搭建所有服務(wù),可以
慢慢來(lái)。需要說(shuō)明的是這個(gè)Linux網(wǎng)絡(luò)對(duì)于初學(xué)者有兩三臺(tái)計(jì)算機(jī)即可。自己多動(dòng)手,不要非要等著別人幫你解決問(wèn)題。
八、學(xué)會(huì)使用文檔
和私有操作系統(tǒng)不同,各個(gè)Linux的發(fā)行版本的技術(shù)支持時(shí)間都較短,這對(duì)于Linux初學(xué)者是往往不夠的。其實(shí)當(dāng)你安裝了一個(gè)完整的Linux系統(tǒng)后其
中已經(jīng)包含了一個(gè)強(qiáng)大的幫助,只是可能你還沒(méi)有發(fā)現(xiàn)和使用它們的技巧。主流Linux發(fā)行版都自帶非常詳細(xì)的文檔(包括手冊(cè)頁(yè)和FAQ),從系統(tǒng)安裝到系
統(tǒng)安全,針對(duì)不同層次的人的詳盡文檔,仔細(xì)閱讀文檔后40%問(wèn)題都可在此解決。查閱經(jīng)典工具書(shū)和Howto,特別是Howto是全球數(shù)以萬(wàn)計(jì)的
Linux、Unix的經(jīng)驗(yàn)總結(jié)非常有參考價(jià)值通常40%的問(wèn)題同樣可以解決。安裝一個(gè)新的軟件時(shí)先看README,再看INSTALL然后看FAQ,最
后才動(dòng)手安裝,這樣遇到問(wèn)題就知道為什么。如果說(shuō)明文檔不看,結(jié)果出了問(wèn)題再去論壇來(lái)找答案反而浪費(fèi)時(shí)間。
當(dāng)查找文檔時(shí), 一定要看文檔是在何種版本、何種環(huán)境及何種狀態(tài)下出現(xiàn)的何種結(jié)果。對(duì)于文檔的有效性,
一時(shí)還無(wú)法在操作前就知道結(jié)論如何,那么對(duì)某個(gè)專題或問(wèn)題,閱讀相關(guān)的多篇文章將會(huì)節(jié)省大量的時(shí)間,還可以保證盡量“干凈”的環(huán)境,有效避免因?yàn)椴煌僮?
所造成的更多問(wèn)題。操作時(shí)要仔細(xì)核對(duì)各個(gè)步驟及輸出的結(jié)果,盡量保持與文檔一致。
九、在Linux論壇獲取幫助
如果上面的措施沒(méi)有解決問(wèn)題,此時(shí)你就需要Linux社區(qū)的幫助了。需要說(shuō)明的是你要有周全的思考,準(zhǔn)備好你的問(wèn)題,不要草率的發(fā)問(wèn),否則只會(huì)得到到草率
的回答或者根本得不到任何答案。越表現(xiàn)出在尋求幫助前為解決問(wèn)題付出的努力,你越能得到實(shí)質(zhì)性的幫助。最好先搜尋一下論壇是否有您需要的文章。這樣可以獲
得事半功倍的效果。
你需要提供精確有效的信息。這并不是要求你簡(jiǎn)單的把成噸的出錯(cuò)代碼或者數(shù)據(jù)完全轉(zhuǎn)儲(chǔ)摘錄到你的提問(wèn)中。如果你有龐大而復(fù)雜的測(cè)試條件,盡量把它剪裁得越小
越好。可能你會(huì)遇到這種情況,對(duì)于一個(gè)問(wèn)題會(huì)出現(xiàn)不同內(nèi)容回答,這時(shí)你需要通過(guò)實(shí)踐來(lái)驗(yàn)證。另外把這個(gè)問(wèn)題放在其他Linux社區(qū)請(qǐng)求幫助也是一種選擇。
如果得不到答案,請(qǐng)不要以為我們覺(jué)得無(wú)法幫助你。有時(shí)只是看到你問(wèn)題的人不知道答案罷了。這時(shí)換一個(gè)社區(qū)是不錯(cuò)的選擇。
十、學(xué)習(xí)專業(yè)英文
如果你想深入學(xué)習(xí)Linux,看不懂因?yàn)槲臋n實(shí)在是太難了。寫(xiě)的最好的,最全面的文檔都是英語(yǔ)寫(xiě)的,最先發(fā)布的技術(shù)信息也都是用英語(yǔ)寫(xiě)的。即便是非英語(yǔ)國(guó)家的人發(fā)布技術(shù)文檔,也都首先翻譯成英語(yǔ)在國(guó)際學(xué)術(shù)雜志和網(wǎng)絡(luò)上發(fā)表。
通過(guò)man、info等命令,可以從在線幫助中快速地獲得所需要的命令和操作方法。不要害怕海量的系統(tǒng)幫助,仔細(xì)閱讀幾個(gè)man或info文檔就會(huì)發(fā)現(xiàn),
這些幫助幾乎都按照固定格式寫(xiě)成一命令名稱、參數(shù)、參數(shù)說(shuō)明、使用例子、參考等。當(dāng)英語(yǔ)成為一種習(xí)慣,就會(huì)自覺(jué)地查找或訂閱互聯(lián)網(wǎng)上感興趣的英文材料。這
樣,在不知不覺(jué)中就已經(jīng)和世界同步。
十一、在社區(qū)共享你的經(jīng)驗(yàn)
隨著Linux應(yīng)用的擴(kuò)展,出現(xiàn)了不少Linux社區(qū)。其中有一些非常優(yōu)秀的社區(qū):水木清華、其中有一些非常優(yōu)秀的社區(qū):
www.linuxforum.net(國(guó)內(nèi)最高水平GNU站點(diǎn))、
http://www.chinaunix.net/
(中國(guó)最大的Unix技術(shù)社區(qū)),隨著知識(shí)的不斷積累,就可以把自己動(dòng)手解決一些前人沒(méi)有遇到的問(wèn)題寫(xiě)出文檔在網(wǎng)絡(luò)上共享給其他讀者。這個(gè)時(shí)候,也就成為
了一名“高手”。Linux的使用者一般都是專業(yè)人士,他們有著很好的電腦背景且愿意協(xié)助他人,Linux高手更具有鼓勵(lì)新手的文化精神。
最后是一個(gè)筆者的Linux學(xué)習(xí)的路線圖(roadmap):
●了解Linux 的基礎(chǔ)知識(shí),這些包含了用戶管理、群組的概念、權(quán)限的觀念等;
●掌握至少50個(gè)以上的常用命令;
●掌握.tgz、.rpm等軟件包的常用安裝方法
●學(xué)習(xí)添加外設(shè),安裝設(shè)備驅(qū)動(dòng)程序(比如網(wǎng)卡)
●熟悉Linux文件系統(tǒng) 和目錄結(jié)構(gòu)。
●掌握vi,gcc,gdb等常用編輯器,編譯器,調(diào)試器 。
●理解shell別名、管道、I/O重定向、輸入和輸出以及shell腳本編程。
●網(wǎng)絡(luò)的基礎(chǔ)包括: 掌握路由概念、OSI七層網(wǎng)絡(luò)模型、TCP/IP模型及相關(guān)服務(wù)對(duì)應(yīng)的層次對(duì)于Linux學(xué)習(xí)非常重要的。然后學(xué)習(xí)Linux環(huán)境下的組網(wǎng)。