感謝邀請,如何學(xué)好Linux首選要了解Linux系統(tǒng),而一般情況下,大部分人接觸Linux的機會并不多,對Linux平臺下的開發(fā)更是一無所知。而現(xiàn)在的發(fā)展趨勢卻越來越表明:無論是作為一個優(yōu)秀的軟件開發(fā)人員,或是互聯(lián)網(wǎng)、IT行業(yè)的從業(yè)人員,掌握Linux是一種很重要的謀生資源與手段,很多跡象表明這是一個很好的加分項。
來自百度經(jīng)驗針對如何才能學(xué)好linux的網(wǎng)絡(luò)資料
從基礎(chǔ)開始: 常常有些朋友在Linux論壇問一些問題,不過,其中大多數(shù)的問題都是很基礎(chǔ)的。例如:為什么我使用一個命令的時候,系統(tǒng)告訴我找不到該目錄,我要如何限制使用者的權(quán)限等問題,這些問題其實都不是很難的,只要了解了 Linux 的基礎(chǔ)之后,應(yīng)該就可以很輕易的解決掉這方面的問題。而有些朋友們常常一接觸Linux 就是希望構(gòu)架網(wǎng)站,根本沒有想到要先了解一下Linux 的基礎(chǔ)。這是相當(dāng)困難的。
Linux命令是必須學(xué)習(xí)的:雖然Linux桌面應(yīng)用發(fā)展很快,但是命令在Linux中依然有很強的生命力。Linux是一個命令行組成的操作系統(tǒng),精髓在命令行,無論圖形界面發(fā)展到什么水平這個原理是不會變的,Linux命令有許多強大的功能:從簡單的磁盤操作、文件存取、到進行復(fù)雜的多媒體圖象和流媒體文件的制作。舉一個例子:Linux的常用命令find,察看man文檔,初學(xué)者一定會覺得太復(fù)雜而不原意用,但是你一旦學(xué)會就愛不釋手.它的功能實在太強了,在配合exec參數(shù)或者通過管道重定向到xargs命令和grep命令,可以完成非常復(fù)雜的操作,如果同樣的操作用圖形界面的工具來完成,恐怕要多花十幾陪的時間. 不同版本的Linux命令數(shù)量不一樣,這里筆者把它們中比較重要的和使用頻率最多的命令,按照它們在系統(tǒng)中的作用分成幾個部分介紹給大家,通過這些基礎(chǔ)命令的學(xué)習(xí)我們可以進一步理解Linux系統(tǒng).
選擇一個適合你的Linux發(fā)行版本:目前全球有超過1百多個Linux發(fā)行版本,在國內(nèi)也能找到十幾個常見版本。如何選擇請根據(jù)你的需求和能力,Redhat Linux 和Debian Linux是網(wǎng)絡(luò)管理員的理想選擇。對于英語不是很好的讀者紅旗Linux、中標(biāo)Linux這些中文版本比較適合?,F(xiàn)在一些Linux網(wǎng)站有一些Linux版本的免費下載,這里要說的是并不適合Linux初學(xué)者。
養(yǎng)成在命令行下工作: 一定要養(yǎng)成在命令行下工作的習(xí)慣,要知道X-window只是運行在命令行模式下的一個應(yīng)用程序。在命令行下學(xué)習(xí)雖然一開始進度較慢,但是熟悉后,您未來的學(xué)習(xí)之路將是以指數(shù)增加的方式增長的。從網(wǎng)管員來說,命令行實際上就是規(guī)則,它總是有效的,同時也是靈活的。即使是通過一條緩慢的調(diào)制解調(diào)器線路,它也能操縱幾千公里以外地遠程系統(tǒng)。
選擇一個適合你的Linux社區(qū):隨著Linux應(yīng)用的擴展,出現(xiàn)了不少Linux社區(qū)。
勤于實踐: 要增加自己Linux 的技能,只有通過實踐來實現(xiàn)了。所以,趕快找一部計算機,趕快安裝一個 Linux 發(fā)行版本,然后進入精彩的Linux世界。相信對于你自己的 Linux 能力必然大有斬獲。此外,人腦不像計算機的硬盤一樣,除非硬盤壞掉了或者是資料被你抹掉了,否則儲存的資料將永遠而且立刻的記憶在硬盤中。在人類記憶的曲線中,你必須要不斷的重復(fù)練習(xí)才會將一件事情記得比較熟。同樣的,學(xué)習(xí) Linux 也一樣,如果你無法經(jīng)常學(xué)習(xí)的話,學(xué)了后面的,前面的忘了。你對Linux命令熟悉后你可以開始搭建一個小的Linux網(wǎng)絡(luò),這是最好的實踐方法。Linux是網(wǎng)絡(luò)的代名詞,Linux網(wǎng)絡(luò)服務(wù)功能非常強大,不論是郵件服務(wù)器、Web服務(wù)器、DNS服務(wù)器等都非常完善。當(dāng)然你不需搭建所有服務(wù),可以慢慢來。需要說明的是這個Linux網(wǎng)絡(luò)對于初學(xué)者有兩三臺計算機即可,其中一臺計算機最好安裝Windows系統(tǒng)。自己多動手,不要非要等著別人幫你解決問題。
學(xué)習(xí)專業(yè)英文:如果你想深入學(xué)習(xí)Linux,看不懂因為文檔實在是太難了。寫的最好的,最全面的文檔都是英語寫的,最先發(fā)布的技術(shù)信息也都是用英語寫的。即便是非英語國家的人發(fā)布技術(shù)文檔,也都首先翻譯成英語在國際學(xué)術(shù)雜志和網(wǎng)絡(luò)上發(fā)表。安裝一個新的軟件時先看README,再看INSTALL然后看FAQ,最后才動手安裝,這樣遇到問題就知道為什么。如果說明文檔不看,結(jié)果出了問題再去論壇來找答案反而浪費時間。
目前比較學(xué)習(xí)Linux系統(tǒng)比較火的論壇
比較大眾的論壇
http://forum.ubuntu.org.cn
http://bbs.chinaunix.net/
服務(wù)安裝,環(huán)境配置
https://www.server-world.info/en/
小編個人網(wǎng)站,運維方面相對偏少
http://blog.yoodb.com/
其他CSDN,51CTO等等論壇網(wǎng)站
談?wù)勅绾螌W(xué)習(xí)Linux操作系統(tǒng),來自51cto網(wǎng)絡(luò)資料,參考資料http://ixdba.blog.51cto.com/2895551/569329
一、 選擇適合自己的Linux發(fā)行版談到linux的發(fā)行版本,太多了,可能誰也不能給出一個準(zhǔn)確的數(shù)字,但是有一點是可以肯定的,linux正在變得越來越流行, 面對這么多的Linux 發(fā)行版,打算從其他系統(tǒng)轉(zhuǎn)到linux系統(tǒng)來的初學(xué)者可能會感到困惑,即便是忠實的 Linux 用戶也沒有時間和精力去挨個嘗試,因此初學(xué)者在學(xué)習(xí)linux的之前,需要有一個明確的方向,選擇一個適合自己的系統(tǒng)開始學(xué)習(xí)linux至關(guān)重要!下面我們就分類介紹。
1.1 初學(xué)者入門首選-redhat系列在學(xué)習(xí)redhat系列l(wèi)inux之前,首先要了解以下redhat linux各個發(fā)行版本之間的關(guān)系。
1.Red Hat LinuxRed Hat Linux是redhat最早發(fā)行的個人版本的linux, 其1.0版本于1994年11月3日發(fā)行。雖然其歷史不及其它linux發(fā)行版本悠久,但比起很多的Linux發(fā)行套件,Red Hat 的歷史悠久得多。自從Red Hat 9.0版本發(fā)布后,RedHat 公司就不再開發(fā)桌面版的 Linux發(fā)行套件,Red Hat Linux停止了開發(fā),而將全部力量集中在服務(wù)器版的開發(fā)上,也就是 Red Hat Enterprise Linux 版。2004年4月30日,Red Hat公司正式停止對Red Hat 9.0版本的支持,標(biāo)志著Red Hat Linux的正式完結(jié)。原本的桌面版Red Hat Linux發(fā)行套件則與來自開源社區(qū)的 Fedora進行合并,成為 Fedora Core 發(fā)行版本。目前Red Hat分為兩個系列:由Red Hat公司提供收費技術(shù)支持和更新的Red Hat Enterprise Linux,以及由社區(qū)開發(fā)的免費的Fedora Core。
2.Fedora CoreFedora Core(縮寫為FC)被紅帽公司定位為新技術(shù)的實驗場地,許多新的技術(shù)都會在 FC 中檢驗,如果穩(wěn)定的話紅帽公司則會考慮加入 Red Hat Enterprise Linux 中。Fedora Core 1發(fā)布于2003年年末,而FC的定位便是桌面用戶。FC提供了最新的軟件包,同時,它的版本更新周期也非常短,僅6個月。由于版本更新頻繁,性能和穩(wěn)定性得不到保證,因此,一般在服務(wù)器上不推薦采用Fedora Core。其實可以這么認(rèn)為,F(xiàn)edora就是Red Hat發(fā)行Red Hat企業(yè)版linux的一個實驗版本,以用戶做測試,為Red Hat企業(yè)版發(fā)布奠定基礎(chǔ)。
3.Red Hat Enterprise LinuxRed Hat Enterprise Linux(縮寫為RHEL,Red Hat的企業(yè)版)。Red Hat現(xiàn)在主要做服務(wù)器版的linux開發(fā),在版本上注重了性能和穩(wěn)定性以及對硬件的支持。 由于企業(yè)版操作系統(tǒng)的開發(fā)周期較長,注重性能、穩(wěn)定性和服務(wù)端軟件支持,因此版本更新相對較緩慢。 RedHat Enterprise Linux又分為4個版本 Advanced Server(AS)、ES Workstation(WS)、Desktop,它們的差別不太大,只是功能方面的差別。
4.CentosCentOS全名為“社區(qū)企業(yè)操作系統(tǒng)”(Community Enterprise Operating System)CentOS產(chǎn)生的背景:Redhat發(fā)布Redhat 9。0后,不再開發(fā)redhat 10,11……,全面轉(zhuǎn)向Redhat enterprise linux(簡寫為rhel)的開發(fā),和以往不同的是,新的redhat企業(yè)版要求用戶先購買lisence,redhat同時承諾確保產(chǎn)品的穩(wěn)定性,安全性。rhel二進制代碼不再提供下載,而是作為redhat 服務(wù)的一部分,但源代碼依然是開放的。在這種情況下,出現(xiàn)了centos、whitebox、dao 等等一批open source的企業(yè)版本,其中以centos最為活躍。下面講述centos是如何制作產(chǎn)生的:CentOS社區(qū)將Redhat的網(wǎng)站上的所有源代碼下載下來,進行重新編譯。由于AS/ES/WS是商業(yè)產(chǎn)品,因此,必須將所有Redhat的Logo和標(biāo)識改成自己的CentOS標(biāo)識。比如將AS4.0原版的SRPM源碼編譯后,換上Centos社區(qū)的logo,這樣就成為了CentOS 4.0。Redhat Enterprise Linux AS4 Update1的源碼編譯后,就成為了CentOS4.1。AS4 Update2的源碼編譯后,就成為了CentOS4.2等等。CentOS就是這樣產(chǎn)生的。因此,可以說CentOS就是Redhat的AS/ES/WS的免費版本,使用centos可以獲得與redhat 企業(yè)級linux一樣的功能和性能。同時centos還提供免費的長期升級和更新服務(wù)。因此, 在眾多的RHEL的克隆版本中,CentOS是很出眾很優(yōu)秀的。雖然說centos是RHEL的克隆,但并不是一模一樣,所說的克隆是具有100%的互換性。對于centos其實不盡相同,RHEL的軟件在CentOS上面不能保證100%的正常工作。在了解了Redhat系列各個版本的差異后。其實我們就找到了為何選擇Redhat linux作為初學(xué)者入門學(xué)習(xí)的理由了。首先:在國內(nèi),乃至是全世界的Linux用戶最熟悉、最耳聞能詳?shù)陌l(fā)行版肯定就是Red Hat了。因為Red Hat是linux界的“老大”,美國Red Hat公司發(fā)布的Red Hat linux是商業(yè)上運作最成功的一個Linux發(fā)行套件,因此Red Hat公司發(fā)行的linux值得信任, Red Hat linux的功能和性能也毋庸置疑。其次:Red hat現(xiàn)在擁有龐大的網(wǎng)絡(luò)用戶群體,網(wǎng)絡(luò)linux資源基本90%都是基于Redhat linux的,如果您在學(xué)習(xí)過程中遇到任何問題,隨便搜索網(wǎng)絡(luò),就有成千上萬的答案展示在你面前。第三: Red Hat linux系列版本相互補充,相得益彰:如果你第一次接觸linux,那么建議你先安裝Fedora Core, Fedora Core安裝簡單,對硬件支持很好,界面也很華麗,同時也可以體驗Redhat linux的最新功能;如果你對linux有一定的了解,需要深入學(xué)習(xí),建議你使用CENTOS系統(tǒng);如果你是在做linux企業(yè)級應(yīng)用,建議你使用RHEL版本。最后: redhat應(yīng)用范圍廣,具有典型性和代表性,很多系統(tǒng)(例如紅旗redflag,中標(biāo)linux,Oracle發(fā)布的Enterprise Linux )都是以Red Hat linux為基準(zhǔn)的,因而,可以說學(xué)會了Red Hat linux,就能觸類旁通,其它類似的linux系統(tǒng)也能很快掌握; 現(xiàn)在周圍學(xué)習(xí)linux的一般也都是以redhat linux為主,這樣交流方便,學(xué)習(xí)中出現(xiàn)問題,更容易得到解決。同時redhat linux的安裝和使用也是最簡單的,因此,基本上不會在”裝系統(tǒng)”上浪費過多時間。
1.2 企業(yè)級應(yīng)用首選-suse linux企業(yè)級的應(yīng)用追求的是可靠性和穩(wěn)定性,這就要求構(gòu)建企業(yè)級應(yīng)用的系統(tǒng)平臺具有高可靠性和高穩(wěn)定性。企業(yè)級linux的發(fā)行版本就是解決的這個問題。SUSE是德國最著名的Linux發(fā)行版,在全世界范圍中也享有很高的聲譽。2003年11月4日,Novell公司對外宣布將收購SuSE。2004年1月該收購順利完成,Novell同時將SuSE正式命名為SuSE Linux。 Novell公司收購suse,加速了suse linux的發(fā)展, suse linux無論在桌面市場還是服務(wù)器市場都更加專業(yè)化,據(jù)不完全統(tǒng)計,suse linux現(xiàn)在歐洲linux市場占有將近80%的份額,大部分關(guān)鍵性應(yīng)用都是建立在suse linux下。由于suse 進入中國時間較短,同時加上suse在中國的營銷模式短時間不能被國內(nèi)接受,因此現(xiàn)在suse在中國的市場份額還不是很大,但是這些并不影響suse linux高可靠與穩(wěn)定性的事實,隨著suse的發(fā)展,相信suse linux在中國的應(yīng)用會越來越多。
1.3 游戲娛樂首選-Ubuntu Linux說到linux桌面市場, Ubuntu Linux幾乎占據(jù)了桌面linux的半壁江山, Ubuntu Linux主打linux桌面之最,界面美觀, 簡易而不失華麗,如果想在linux下進行娛樂休閑,Ubuntu Linux絕對是首選。Ubuntu 的安裝非常的人性化,只須按照提示一步一步進行,安裝與Windows一樣簡單!并且,Ubuntu被譽為對硬件支持最好最全面的Linux 發(fā)行版之一,許多在其他發(fā)行版上無法使用,或者在默認(rèn)配置時無法使用的硬件,在Ubuntu上都能輕松搞定。因此你可以像安裝windows一樣輕松的安裝Ubuntu。盡情體驗Ubuntu linux帶來的樂趣。
1.4 linux作為服務(wù)器是發(fā)展趨勢在上面的章節(jié)中主要介紹了幾種最常見的linux發(fā)行版本,其實linux的發(fā)行版本還有很多很多,比較常見的還有Debian GNU/Linux, Mandriva, Gentoo,Slackware, Knoppix,MEPIS, Xandros,國產(chǎn)的紅旗redflag,中標(biāo)linux等等,這里不再一 一介紹,其實縱觀linux的各個發(fā)行版,linux發(fā)行版本無非是朝著這兩個方面而來,一是服務(wù)器市場,而是桌面市場。以Ubuntu Linux為代表的linux發(fā)行版走的是桌面市場路線,雖然它們給用戶帶來很多驚喜,更新也很快,但是由于桌面市場有著windows這樣強勁的對手,linux桌面發(fā)展舉步維艱。以redhat系列版本為代表的linux發(fā)行版現(xiàn)在主要面向企業(yè)級linux的服務(wù)器市場,重點開發(fā)linux的企業(yè)版本,suse linux同樣主要力量也集中在開發(fā)企業(yè)級linux上面,其它的例如國產(chǎn)redhat flag,中標(biāo)linux等都重點投入在了linux服務(wù)器市場。linux兩大發(fā)布廠商現(xiàn)在都走了linux服務(wù)器市場的路線,可見linux作為企業(yè)級服務(wù)器有著巨大的發(fā)展前途,據(jù)權(quán)威部門統(tǒng)計,linux在服務(wù)器市場的占有率每年都在持續(xù)上升。其實很多l(xiāng)inux的應(yīng)用都是針對linux服務(wù)器的,本書的講述也是主要針對linux在服務(wù)器下的各種應(yīng)用展開的。
二、 養(yǎng)成良好的linux操作習(xí)慣當(dāng)你進入linux的學(xué)習(xí)之后,請不要用windows的工作方式來思考問題,因為它們之間確實有很大的不同,比如它們之間的內(nèi)存管理機制,進程運行機制等都有很大不同,這些異同點將在下面章節(jié)陸續(xù)講述,因此,拋開windows那種思維,用全新的理念嘗試去挖掘linux身上特有的潛質(zhì),對初學(xué)者至關(guān)重要。
2.1 一定要習(xí)慣命令行方式Linux是一個命令行組成的操作系統(tǒng),精髓在命令行,無論圖形界面發(fā)展到什么水平,命令行方式的操作永遠是不會變的,Linux命令有許多強大的功能:從簡單的磁盤操作、文件存取、到進行復(fù)雜的多媒體圖象和流媒體文件的制作都離不開命令行。雖然linux也有桌面系統(tǒng),但是X-window也只是運行在命令行模式下的一個應(yīng)用程序。因此,可以這么說,命令是學(xué)習(xí)linux系統(tǒng)的基礎(chǔ),學(xué)習(xí)linux,很大程度上就是學(xué)習(xí)命令,很多l(xiāng)inux高手其實都是玩兒命令很熟的人。也許對于剛剛從windows系統(tǒng)進入linux學(xué)習(xí)的初學(xué)者來說,立刻進入枯燥的命令學(xué)習(xí),實在太難,但是你一旦學(xué)會就愛不釋手。因為它的功能實在太強大了。您未來的學(xué)習(xí)之路也將會以指數(shù)增加的方式增長。
2.2 理論結(jié)合實踐有很多初學(xué)者都會遇到這么一個問題,說到系統(tǒng)的每個命令,都很熟悉,但是在系統(tǒng)出現(xiàn)故障的時候,面對出現(xiàn)問題的linux系統(tǒng)無從下手了。不知道在什么時候用什么命令去檢查系統(tǒng),這是很多l(xiāng)inux新手最無奈的事情了。說到底,就是學(xué)習(xí)的理論沒有很好的與系統(tǒng)實際操作相結(jié)合。很多l(xiāng)inux知識,例如每個命令的參數(shù)含義,在書本上說的很清楚,看起來也很容易理解,但是一旦組合起來使用,卻并不是那么容易,沒有多次的動手練習(xí),其中的技巧是無法掌握的。人類大腦不像計算機的硬盤一樣,除非硬盤壞掉或者硬盤被格式化,否則儲存的資料將永遠而且時刻的記憶在硬盤中。而在人類記憶的曲線中,必須要不斷的重復(fù)練習(xí)才會將一件事情記得比較熟。同樣的,學(xué)習(xí) Linux 也一樣,如果無法經(jīng)常學(xué)習(xí)的話,學(xué)了后面的,忘記了前面的;還有些linux初學(xué)者也學(xué)了很多l(xiāng)inux知識,但是由于長期不用,導(dǎo)致學(xué)過的東西在很短的時間內(nèi)又忘記了,久而久之,失去了學(xué)習(xí)的信心??梢?,增加自己Linux 的實戰(zhàn)技能,只有勤于動手,勇于實踐,這也是學(xué)好linux的根本。
2.3 學(xué)會使用linux聯(lián)機幫助各個Linux的發(fā)行版本的技術(shù)支持時間都較短,這對于Linux初學(xué)者來說往往是不夠的, 其實當(dāng)安裝了一個完整的Linux系統(tǒng)后其中已經(jīng)包含了一個強大的幫助,只是可能你還沒有發(fā)現(xiàn)和使用它們的技巧。例如,對于一個linux tar命令的使用,你不是很熟悉,那么只要你在命令行輸入man tar, 就會得到tar的詳細說明和用法;主流的linux發(fā)行版都自帶了非常詳細的幫助文檔,包括使用說明和FAQ,從系統(tǒng)的安裝到系統(tǒng)的維護,再到系統(tǒng)安全,針對不同層次人群的詳盡文檔。仔細閱讀文檔后60%的問題都可在這里得到解決。
2.4 學(xué)會獨立思考問題,獨立解決問題遇到問題,首先想到的應(yīng)該是如何自己去解決這個問題,解決方式很多,看書查資料,網(wǎng)絡(luò)搜索引擎,技術(shù)論壇等等,通過這幾種方式,90%的問題都能得到解決,通過這種方式一方面鍛煉了自己獨立解決問題的能力。另一方面技術(shù)上也能得到快速提高。如果通過如上方式實在解決不了的話,可以向人詢問,得到答案后要考慮為何這么做,然后做筆記記錄解決過程。最忌諱的方式是只要遇到問題,就去問人,雖然這樣可能會很快解決問題,但是長久下去遇到問題就會依賴別人,技術(shù)上也不會進步。
2.5 學(xué)習(xí)專業(yè)英語如果你想深入學(xué)習(xí)Linux,一定要嘗試去看英文文檔。因為,技術(shù)性的東西寫的最好的,最全面的文檔都是英語寫的,最先發(fā)布的高新技術(shù)也都是用英語寫的。即便是非英語國家的人發(fā)布技術(shù)文檔,也都首先翻譯成英語在國際學(xué)術(shù)雜志和網(wǎng)絡(luò)上發(fā)表。安裝一個新的軟件時先看README,再看INSTALL,然后看FAQ,最后才動手安裝,這樣遇到問題就知道為什么。因此,學(xué)習(xí)一點專業(yè)的英語是很有必要的。
2.6 Linux學(xué)習(xí)基本步驟到這里,我們總結(jié)一下linux的學(xué)習(xí)路線圖,給各位初學(xué)者作為參考。初級階段:1. 命令是必須要學(xué)的,linux常用的命令大概在80個左右,這些常用命令一定要熟練掌握。2. 掌握linux軟件包的常用安裝方法,例如源碼安裝,rpm方式安裝等等。3. 學(xué)習(xí)安裝設(shè)備驅(qū)動程序(比如網(wǎng)卡、顯卡驅(qū)動) 4. 熟悉Grub/Lilo引導(dǎo)程序及簡單的修復(fù)操作。 5. 熟悉Linux文件系統(tǒng)和目錄結(jié)構(gòu)以及l(fā)inux基本運行原理。 6. 掌握vi,gcc,gdb等常用編輯器,編譯器,調(diào)試器。 7. 理解shell別名、管道、I/O重定向、輸入和輸出以及shell簡單腳本編程。 8. 學(xué)習(xí)Linux環(huán)境下的網(wǎng)絡(luò)基本組建。
高級階段:1:嘗試閱讀linux內(nèi)核源碼: 這需要具有一定的C、C++語言基礎(chǔ),因為C、C++是linux/unix的核心語言,系統(tǒng)代碼都是C寫的。2:嘗試編譯安裝和調(diào)試自己的linux內(nèi)核:在閱讀源碼了解了linux底層的運行原理后,完全可以編譯一個適合自己的linux系統(tǒng)來。3:深入學(xué)習(xí)shell, perl,cgi等腳本語言:這些腳本語言在linux下非常強大,它們能完成你想做的任何事情,熟練掌握這些語言,可以讓你在linux系統(tǒng)下游刃有余,如魚得水。4:構(gòu)建企業(yè)級linux高可用集群系統(tǒng):linux下有很多開源免費的集群軟件,利用這些免費的集群軟件完全可以構(gòu)建出與商業(yè)unix系統(tǒng)想媲美的集群系統(tǒng)來。
三、用虛擬機軟件學(xué)習(xí)linux
3.1 什么是虛擬機軟件虛擬機軟件可以在一臺電腦上模擬出來若干臺PC電腦,每臺PC可以運行單獨的操作系統(tǒng)而互不干擾,可以實現(xiàn)一臺電腦“同時”運行幾個操作系統(tǒng),還可以將這幾個操作系統(tǒng)連成一個網(wǎng)絡(luò)。
圖1:安裝了3臺虛擬機的windows系統(tǒng)
比如圖1中,是在一臺電腦上安裝了Windows 2000 Server,再在Win2000 server上安裝虛擬機軟件VMWare,利用VMWare模擬出來3臺PC,在這3臺PC上分別運行RedHat Linux、Win2000和Solaris 9 for x86操作系統(tǒng)。這4個操作系統(tǒng)同時在一臺電腦上運行,互不干擾,并且同在一個局域網(wǎng)內(nèi)。聽了上面的基本介紹,你可能知道虛擬機軟件到底是做什么用的了。那么好,我們繼續(xù)做更深入的介紹。 目前PC上的虛擬機軟件最常用的有下述兩個: VMWare 網(wǎng)址為:http://www.vmware.com Virtual PC 網(wǎng)址為:http://www.connectix.com
3.2 使用虛擬機軟件的好處
1、如果要在一臺電腦上安裝linux和windows系統(tǒng),不用虛擬機的話,有兩個辦法:一是裝多個硬盤,每個硬盤裝一個操作系統(tǒng)。這個方法比較昂貴。二是在一個硬盤上裝雙系統(tǒng)。這個方法不夠安全,因為系統(tǒng)盤的MBR是操作系統(tǒng)的必爭之地,windows更是霸道,每次重新安裝系統(tǒng)都要重寫系統(tǒng)的MBR,這樣的話搞不好會幾個操作系統(tǒng)同歸于盡。而使用虛擬機軟件既省錢又安全,因此,對于新手來說,利用虛擬機學(xué)習(xí)linux簡直是再好不過了。
2、在虛擬機上安裝linux系統(tǒng),你不用擔(dān)心會格式化掉自己的硬盤,你甚至可以隨意的對虛擬系統(tǒng)進行任何的設(shè)置和更改操作,你可以格式化虛擬系統(tǒng)硬盤,重新分區(qū)虛擬系統(tǒng)硬盤等等, 因為虛擬機是你真實系統(tǒng)上運行的軟件,對虛擬機系統(tǒng)的任何操作都是對軟件的操作。3、利用虛擬機模擬出來的linux系統(tǒng)和真實的linux系統(tǒng)是一摸一樣的,現(xiàn)在各個公司專門的linux服務(wù)器是不會讓新手隨意去動的,而供測試的linux服務(wù)器一般又很緊缺,在自己電腦上安裝虛擬linux系統(tǒng),可以隨意的學(xué)習(xí)測試,而不受任何環(huán)境影響。
3.3 虛擬機的運行環(huán)境和硬件需求
1:運行環(huán)境VMWare可運行在Windows(WinNT以上)和Linux操作系統(tǒng)上。 Virtaul PC可運行在Windows(Win98以上)和MacOS上。 注:運行虛擬機軟件的操作系統(tǒng)叫Host OS,在虛擬機里運行的操作系統(tǒng)叫Guest OS。
2:硬件需求虛擬機是將兩臺以上電腦任務(wù)集成到一臺電腦上來,因此對硬件要求比較高,主要是內(nèi)存,硬盤和cpu;內(nèi)存要足夠大,因為每個虛擬機都會占用一定的內(nèi)存資源,內(nèi)存的總大小等于各個虛擬系統(tǒng)的總和??上驳氖牵F(xiàn)在內(nèi)存已經(jīng)很便宜了,內(nèi)存就不是問題了。同樣,硬盤空間也是每個虛擬機都要占用的,cpu現(xiàn)在都到了多核階段,也不是問題。
3.4 虛擬機的安裝與使用
1.VMware虛擬機概述上面章節(jié)講到,虛擬機軟件有VMWare和Virtual PC,它們各有優(yōu)缺點,其中VMWare在全球占領(lǐng)了80%的市場份額,因此我們也主要講述VMWare的安裝與使用。VMware是提供一套虛擬機解決方案的軟件,主要產(chǎn)品分為如下3個:(1)VMware-ESX-Server: 這個版本并不需要操作系統(tǒng)的支持。它本身就是一個操作系統(tǒng),用來管理硬件資源。所有的系統(tǒng)都安裝在它的上面。帶有遠程web管理和客戶端管理功能。 (2)VMware-GSX-Server: 這個版本就要安裝在一個操作系統(tǒng)下了,這個操作系統(tǒng)叫做HOST OS。 這個HOST OS可以是Windows 2000 Server以上的Windows系統(tǒng)或者是Linux(官方支持列表中只有RH,SUSE,Mandrake很少的幾種),和VMware-ESX-Server一樣帶有遠程web管理和客戶端管理功能。(3)VMware-WorkStation: 這個版本和VMware-GSX-Server版本的機構(gòu)是一樣的。也是要安裝在一個操作系統(tǒng)下,對操作系統(tǒng)的要求也是Windows 2000以上或者Linux。和Vmware的區(qū)別就是沒有web遠程管理和客戶端管理。Vmware GSX Server不支持虛擬機雙CPU,而且已經(jīng)停止開發(fā)新版本, Vmware Server 是Vmware 公司決定將GSX Server免費后,重修代碼后發(fā)布的, 目前有版本更新。因此我們選擇免費的GSX Server作為講述的版本。
2.虛擬機軟件的安裝我們在windows下安裝windows版本的VMware server,然后在VMware server上安裝linux操作系統(tǒng)。虛擬機軟件的安裝很簡單,只需按照windows常規(guī)方法安裝即可完成,這里不在講述。
3.創(chuàng)建一個虛擬機系統(tǒng)虛擬機軟件安裝完畢,雙擊桌面上的 VMware Server 圖標(biāo)以啟動應(yīng)用程序:(1) 按CTRL-N創(chuàng)建一個新虛擬機,彈出新建虛擬機向?qū)?,如圖2所示界面,點擊下一步:
(2)選擇虛擬機配置,如圖3所示,這里選擇“Custom”,點擊下一步:
(3) 選擇客戶機操作系統(tǒng),如圖4所示,這里選擇“Linux”,版本選擇“Red Hat Enterprise Linux 4”,點擊下一步:
(4) 給虛擬機命名,如圖5所示,虛擬機名稱設(shè)為Red Hat Enterprise Linux 4,虛擬機路徑設(shè)為“C:Virtual MachinesRed Hat Enterprise Linux 4”,點擊下一步:
(5) 設(shè)置訪問權(quán)限,如圖6所示,去掉“Make this virtual machine private”。 這樣可以保證系統(tǒng)安裝完畢,虛擬機linux系統(tǒng)可以和windows系統(tǒng)互通。點擊下一步:
(6) 啟動/關(guān)閉選項,如圖7所示,虛擬機帳戶,選擇“User that powers on the virtual machine”,點擊下一步:
(7) 虛擬機處理器配置,如圖8所示,這里選擇一個處理器。 如果你有多個處理器可以選擇多個,點擊下一步:
圖8
(8) 設(shè)置虛擬機內(nèi)存大小,如圖9所示,可以通過滑竿選擇給虛擬機系統(tǒng)分配的內(nèi)存大小,一般選擇是windows系統(tǒng)內(nèi)存的一半。這里選擇800M。點擊下一步:
圖9
(9) 選擇虛擬機網(wǎng)絡(luò)連接類型,如圖10所示,這里選擇“Use bridged networking”網(wǎng)橋方式,點擊下一步:
圖10
(10) 選擇 I/O 適配器類型,如圖11所示,這里選擇“LSI Logic”,點擊下一步:
圖11
(11) 選擇虛擬磁盤,如圖12所示,選擇“Create a new virtual disk”,點擊下一步:
圖12
(12) 選擇磁盤類型,如圖13所示,選擇“SCSI (Recommended)”,點擊下一步:
圖13
(13) 指定虛擬機磁盤容量,如圖14所示,磁盤容量,可根據(jù)自己的需求選擇大小,安裝Linux,一般5G即可滿足需求,這里輸入“25GB”,選擇“Split disk into 2 GB files”,點擊下一步:
圖14
(14) 指定磁盤文件路徑,如圖15所示,可以點擊“Browse”指定磁盤文件的路徑,這里的路徑為“F:Red Hat Enterprise Linux 4Red Hat Enterprise Linux 4.vmdk”,然后點擊完成,即可完成虛擬機的創(chuàng)建。
圖15
(15) 虛擬機創(chuàng)建完畢后,出現(xiàn)虛擬機控制臺界面,如圖16所示,這樣我們就創(chuàng)建了一個 linux虛擬機系統(tǒng),接下來就需要在虛擬機下安裝linux系統(tǒng)了。
圖16
(16) 點擊圖16虛擬機控制臺中的“Edit virtual machine settings”選項,即可到“virtual machine settings”界面,如圖17所示:在這個界面中,我們可以添加虛擬機各種資源、編輯虛擬機的各種屬性,例如修改虛擬機內(nèi)存大小、編輯網(wǎng)卡連接方式、添加一個虛擬磁盤、指定光盤的引導(dǎo)方式等。還可以刪除虛擬機中的各種資源。
圖17
(17) 點擊圖18中“add”按鈕,出現(xiàn)圖18所示界面:在這個界面中,可以給虛擬機添加各種硬件資源,例如,硬盤、光驅(qū)、軟驅(qū)、網(wǎng)卡、聲卡等設(shè)備。
圖18
到此為止,虛擬機的安裝和基本配置已經(jīng)介紹完畢,接下來開始講述在虛擬機上安裝linux的方法。
4.虛擬機上linux安裝方式在虛擬機上安裝linux系統(tǒng),常用的方法有兩種:光驅(qū)安裝和iso鏡像文件安裝。(1) 光驅(qū)安裝方式在 VMware Server控制臺上,雙擊右面板上的 CD-ROM 設(shè)備,然后選擇Use physical drive,location選擇host,下面下拉框選擇Auto detect即可。如圖19所示,最后,Linux系統(tǒng)光盤放入光驅(qū),單擊“Start this virtual machine”即可進入Linux安裝界面。(2) iso文件安裝方式在 VMware Server 控制臺上,雙擊右面板上的 CD-ROM 設(shè)備,然后選擇Use ISO image,然后指定iso文件路徑,如圖20所示,最后,單擊Start this virtual machine即可進入Linux安裝界面。
圖19
圖20
Linux系統(tǒng)的安裝,我們將在在后面文章中講述,這里不在多說。
四、linux學(xué)習(xí)資源
4.1 網(wǎng)絡(luò)資源,搜索引擎,論壇Linux的開源特性決定了linux知識的開放性和充足性。當(dāng)今,linux非常流行,linux學(xué)習(xí)資源也非常之多,書店到處可見linux方面的書籍,選擇一本適合自己的慢慢去學(xué)習(xí),再好不過。除了書本的知識,網(wǎng)絡(luò)里也有無限的linux學(xué)習(xí)資源,各大linux技術(shù)門戶,linux社區(qū)論壇,都是學(xué)習(xí)linux的好地方;在這里,有一批無私奉獻的linux狂熱愛好者,他們把自己的學(xué)習(xí)經(jīng)驗和學(xué)習(xí)總結(jié)無償?shù)陌l(fā)布出來;他們每天在linux論壇的各個角落熱情的回答廣大網(wǎng)友提出的問題;他們不求回報,因為他們熱愛技術(shù),熱愛linux。遇到學(xué)習(xí)問題,或者要查找某些linux資料,搜索引擎絕對是第一選擇,例如google.cn和baidu.com,99%的技術(shù)資料都能在這里搜到。查找linux資料,不要錯過這兩個優(yōu)秀的搜索引擎。
4.2 有本書在身邊網(wǎng)絡(luò)中有很多l(xiāng)inux學(xué)習(xí)資源,豐富的學(xué)習(xí)資源,雖然給我們學(xué)習(xí)提供了很好的便捷性,但是也造成了我們學(xué)習(xí)的盲目性,學(xué)習(xí)資源的豐富性,引出的另一個問題是資源的混雜,剛?cè)腴T的新手感覺無從下手,可能今天看了一點內(nèi)存管理的資料,明天學(xué)習(xí)了一點磁盤管理的資料,并且總是感覺自己理解了也學(xué)會了,但是就是無法靈活的掌握,究其原因,就是沒有系統(tǒng)的學(xué)習(xí)linux。因此,選擇一本好書在自己身邊是必須的,一本好書應(yīng)該是由淺入深,有點及線,有線及面的介紹知識,選擇一本好書,同時結(jié)合網(wǎng)絡(luò)資源進行循序漸進的學(xué)習(xí),此時,你的學(xué)習(xí)就不會再有空洞感,進步也會飛快。你會感覺學(xué)習(xí)linux是一件很快樂的事情。
五、linux的應(yīng)用領(lǐng)域很多新手都有一個很疑惑的問題:“我學(xué)習(xí)linux系統(tǒng),能在上面干什么呢,或者說linux系統(tǒng)具體能做什么”,有這樣的疑問,也很正常,但是隨著對linux了解的加深,這些疑問就會慢慢消除,下面具體講述下linux操作系統(tǒng)的應(yīng)用領(lǐng)域(也就是linux到底是干啥的)。
1:服務(wù)器領(lǐng)域現(xiàn)在的服務(wù)器市場以linux、unix、windows三分天下, linux可謂后起之秀,從產(chǎn)生發(fā)展到現(xiàn)在,在服務(wù)器應(yīng)用領(lǐng)域節(jié)節(jié)攀升,并且每年增長勢頭迅猛。Linux作為企業(yè)級服務(wù)器應(yīng)用廣泛,利用Linux系統(tǒng)可以使企業(yè)構(gòu)架WWW服務(wù)器、代理服務(wù)器、郵件服務(wù)器、DNS服務(wù)器、透明網(wǎng)關(guān)、路由器等等,不但給企業(yè)降低了運營成本,同時獲得了linux系統(tǒng)帶來的高穩(wěn)定性和高可靠性。隨著linux在服務(wù)器領(lǐng)域的廣泛應(yīng)用,這幾年來,linux已經(jīng)悄悄進入政府、教育、銀行、石油等行業(yè),同時各大unix廠商也推出在unix平臺支持linux操作系統(tǒng),例如IBM AIX。這一切表明,linux在服務(wù)器市場前景光明,相信在不久的將來,linux會滲透到社會各個領(lǐng)域。
2.嵌入式Linux系統(tǒng)由于 Linux系統(tǒng)開放源碼,功能強大、可靠、靈活而且具有伸縮性,再加上它廣泛支持大量的微處理器體系結(jié)構(gòu)、硬件設(shè)備、圖形支持和通信協(xié)議,因此,在嵌入式應(yīng)用的領(lǐng)域里,從因特網(wǎng)設(shè)備到專用的控制系統(tǒng),Linux 操作系統(tǒng)的前景都很光明的。例如,諾基亞和摩托羅拉公司都推出了linux平臺的手機。
真正想學(xué)好linux系統(tǒng),還是要研究linux內(nèi)核源碼。
為什么這么說呢?
無論是使用linux里面的一些命令,還是做linux應(yīng)用層的開發(fā),其實都是在使用linux內(nèi)核的功能,但是其實你對linux底層的機制并不了解。長遠來看,其實對你技術(shù)的提升不大。
比如:
1. 你天天使用linux里的docker命令,那你知道docker是如何做到這種隔離性的嗎?
2. 你寫linux應(yīng)用程序,會看到入口是main()函數(shù)。那么,問題來了,為什么是main()呢?為什么不是hello()、不是fuck(),不是love()呢?
3. 你寫linux應(yīng)用程序,也會用write()函數(shù)。這個write函數(shù),我們代碼里并沒有實現(xiàn)它,那是誰實現(xiàn)了它?是c庫嗎?有可能。但是如果我是寫磁盤呢?c庫能做到嗎?
顯然不能!還是需要linux內(nèi)核的功能。
4. 我們知道,在linux里,不同的應(yīng)用程序可以共享一個動態(tài)鏈接庫,這又是怎么做到的?不是說進程是隔離的嗎?為什么對動態(tài)鏈接庫就不做隔離了?
5. linux應(yīng)用層調(diào)用malloc是直接調(diào)用到內(nèi)核嗎?
很顯然不是! c庫里也有內(nèi)存管理,c庫里的內(nèi)存管理單元會向內(nèi)核批發(fā)內(nèi)存(以page為單位),然后向應(yīng)用程序零售內(nèi)存(更小的粒度,可以是int大小,char大小等)
6. linux里進程和線程的共同點和差別究竟是什么?不要拿教科書里那一套來說教,從代碼里得到的才是真知。
….
問題太多了,難道你不好奇嗎?
如果你不好奇,那很顯然你不太適合做技術(shù),在技術(shù)這條路上可能走不遠,應(yīng)該早日轉(zhuǎn)行;如果你很好奇,那就從現(xiàn)在開始,研究linux內(nèi)核吧。
歡迎關(guān)注”技術(shù)簡說”,帶你由淺入深、一步一步學(xué)習(xí)linux內(nèi)核源碼。
對于這個問題作為一個在linux下開發(fā)代碼十幾年的人,忍不住說幾句
任何一門技能的學(xué)習(xí),想要學(xué)精學(xué)透,都要付出巨大的努力,尤其是一些專業(yè)性比較強的技能,更需要持之以恒長期不斷的投入大量的精力去學(xué)習(xí)和實踐,比如linux的學(xué)習(xí),就是一門專業(yè)性非常強的技能,如何能學(xué)好這項技能。
如何才能學(xué)好那?
思想上的重視
首先要明白自己為什么要學(xué)習(xí)linux,學(xué)習(xí)linux能給自己帶來什么,也就是說要知道學(xué)好linux對自己的重要性。當(dāng)從思想上認(rèn)識到一件事對自己的重要性有多大的時候,就會投入多大的精力去做這件事。
行動上的具體
有了思想上的重視,下面就需要具體的行動
(1)從基礎(chǔ)知識學(xué)習(xí),打好基本功;任何一門新知識的學(xué)習(xí),都要了解它的一些基本內(nèi)容,基本概念等等,這樣就需要找一本介紹linux的專業(yè)書籍,先大致了解一下linux的相關(guān)內(nèi)容,不至于后期學(xué)習(xí)linux的時候,連一些最基本的專業(yè)名稱都搞不懂。
(2)勤學(xué)多練,多多思考;linux是一門實用性非常強的技術(shù),基礎(chǔ)理論的學(xué)習(xí)就是為了應(yīng)用的更好實現(xiàn),應(yīng)用的實現(xiàn)反過來也會使理論的知識更加鞏固;找一套功能比較齊全的開發(fā)板,在開發(fā)板上實現(xiàn)各種功能,不斷地去實踐,帶著問題去尋找答案,當(dāng)看著自己設(shè)計的功能在開發(fā)板上實現(xiàn),會樂此不彼。
(3)拓展知識面,不斷強化練習(xí);linux的應(yīng)用非常廣泛,所有想要學(xué)好linux,需要學(xué)習(xí)拓展的內(nèi)容也非常多,平長就需要關(guān)注一些專業(yè)的社區(qū)或論壇。理論知識學(xué)得再多,最終還得讓其變?yōu)楝F(xiàn)實,所以不斷的強化練習(xí)是少不了的,只有不斷地強化練習(xí),才能做到“熟能生巧”,
總之,學(xué)好 Linux 絕非一朝一夕之事,時間、知識的積累是必不可少的
覺得有收獲就點個贊
Linux是一個很大的概念,建議先從簡單的入手,結(jié)合你的興趣、工作內(nèi)容,在某一方面深挖,來張圖介紹Linux的學(xué)習(xí)升級。
Linux畢竟只是個操作系統(tǒng),只要掌握了正確的學(xué)習(xí)方法,不會有多難。今天咱們就好好看看,Linux到底怎么學(xué)才是正確的學(xué)習(xí)方法。轉(zhuǎn)自——馬哥linux運維
一、從命令開始從基礎(chǔ)開始
常常有些朋友一接觸Linux 就是希望構(gòu)架網(wǎng)站,根本沒有想到要先了解一下Linux 的基礎(chǔ)。這是相當(dāng)困難的。雖然Linux桌面應(yīng)用發(fā)展很快,但是命令在Linux中依然有很強的生命力。Linux是一個命令行組成的操作系統(tǒng),精髓在命令行,無論圖形界面發(fā)展到什么水平這個原理是不會變的,Linux命令有許多強大的功能:從簡單的磁盤操作、文件存取、到進行復(fù)雜的多媒體圖象和流媒體文件的制作。這里筆者把它們中比較重要的和使用頻率最多的命令,按照它們在系統(tǒng)中的作用分成幾個部分介紹給大家,通過這些基礎(chǔ)命令的學(xué)習(xí)我們可以進一步理解 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書籍
在各個Linux論壇中,我們看到最多的問題往往是某個新手,在安裝或使用linux的過程中遇到一個具體的問題就開始提問,很多都是重復(fù)性的問題,甚至有不少人連基本的問題描述都不是很清楚。這說明很多初學(xué)linux的人還沒有掌握基本功。怎樣才能快速提高掌握linux的基本功呢? 最有效的方法莫過于學(xué)習(xí)權(quán)威的linux工具書,工具書對于學(xué)習(xí)者而言是相當(dāng)重要的。一本錯誤觀念的工具書卻會讓新手整個誤入歧途。目前國內(nèi)關(guān)于 linux的書籍有很多不過精品的不多,筆者強烈建議閱讀《鳥哥的Linux私房菜 基礎(chǔ)篇》,現(xiàn)在出到了第三版。新手最好能夠買一本紙版書來仔細研讀,并認(rèn)真做好學(xué)習(xí)筆記。當(dāng)然,如果習(xí)慣看電子書,也可以從這里 下載 PDF電子書。
三 、養(yǎng)成在命令行下工作的習(xí)慣
一定要養(yǎng)成在命令行下工作的習(xí)慣,要知道X-window只是運行在命令行模式下的一個應(yīng)用程序。在命令行下學(xué)習(xí)雖然一開始進度較慢,但是熟悉后,您未來的學(xué)習(xí)之路將是以指數(shù)增加的方式增長的。從網(wǎng)管員來說,命令行實際上就是規(guī)則,它總是有效的,同時也是靈活的。即使是通過一條緩慢的調(diào)制解調(diào)器線路,它也能操縱幾千公里以外地遠程系統(tǒng)。
四、用Unix思維思考Linux
由于Linux是參照Unix的思想來設(shè)計的,理解和掌握它就必須以Unix的思維來進行,而不能以Windows思維。不可否認(rèn),windows 在市場上的成功很大一部分在于技術(shù)思想的獨到之處。可是這個創(chuàng)新是在面對個人用戶的前提下進行的,而面對著企業(yè)級的服務(wù)應(yīng)用,它還是有些力不從心。多年來在計算機操作系統(tǒng)領(lǐng)域一直是二者獨大:unix在服務(wù)器領(lǐng)域,Windows在個人用戶領(lǐng)域。由此可見,用戶需求決定了所采用的操作系統(tǒng)。不管什么原因,如果要學(xué)習(xí)Linux,那么首先要將思維從Windows的“這個小河” 中拖出來,放入Unix的海洋。
五、學(xué)習(xí)shell
對于Shell(中文名稱殼),習(xí)慣Windows的讀者肯定是非常陌生的,因為Windows只有一個“Shell”(如果可以說是Shell的話),那就是Windows自己。用一句話容易理解的解釋就是,shell是用戶輸入命令與系統(tǒng)解釋命令之間的中介。最直觀的說法,一種Shell有一套自己的命令。舉一個容易理解的例子,Linux的標(biāo)準(zhǔn)Shel是Bash Shel;Solaris的shell是B shell;Linux的Shell是以命令行的方式表現(xiàn)出來的。讀者可能會不理解,Windows從命令行“進化”到了圖形界面,那么Linux現(xiàn)在還使用命令行豈不是一種倒退?
當(dāng)初我剛剛接觸Linux時就曾有過這種想法。可是后來發(fā)現(xiàn),如果使用圖形界面,那么分配給應(yīng)用軟件的資源就少了,在價格昂貴的服務(wù)器上,能夠以較低的硬件配置實現(xiàn)同樣的功能是非常重要的。
下面舉例說明,一臺服務(wù)器有1GB內(nèi)存,假設(shè)其中512MB用于處理圖形界面,若要安裝一個需要784MB內(nèi)存的數(shù)據(jù)庫軟件,惟一的辦法就是擴大內(nèi)存。但是如果使用命令行,系統(tǒng)可能只需要64MB內(nèi)存,其它的內(nèi)存就可以供數(shù)據(jù)庫軟件使用了。使用命令行,不僅是內(nèi)存,而且CPU及硬盤等資源的占用都要節(jié)省很多。所以,作為服務(wù)器使用命令行是優(yōu)點而不是缺點。既然Shell有這么多優(yōu)點,就必須要學(xué)習(xí)它。
簡單來說就是:興趣,堅持,方法。
興趣第一
對于任何事情,興趣在很大程度上會影響你做這件事的結(jié)果。去做一件自己很感興趣的事情,和做一件自己本來毫無興趣卻由于某種原因而不得不做的事情,其結(jié)果往往是天地之別。究其緣由,無非是對于自己感興趣的事情,是以一種享受其中樂趣的心態(tài)去做,在不自覺中就會投入更多的心思在上面,也會更加專注,更容易一直堅持下去。而對于毫無興趣的事情,往往是迫于某種壓力才不得不做,心里或多或少會有一定排斥拒絕,甚至?xí)屑灏镜母杏X,其結(jié)果也可想而知。
對于程序開發(fā),也是一樣的。工作中,同樣是程序員,卻經(jīng)常會有兩種不同的人。一種對程序開發(fā)真的是很感興趣,一天不寫代碼不看代碼就如坐針氈,感覺這一天總?cè)鄙冱c什么,往往這種人才能成為技術(shù)人口中的大神。另外一種人,則是相反,看代碼寫代碼完全是因為完成任務(wù)而不得不做,處理問題時能靠嘴忽悠過去的,絕不會看一眼代碼,所以這種人往往技術(shù)平庸。當(dāng)然,這只是從技術(shù)角度說,如果單純看收入的話,第一種人卻不見得比第二種人收入高。
所以,首先要確定自己是否對程序開發(fā)感興趣,如果沒有興趣,那就自然不必繼續(xù)下去了,完全可以換一個職業(yè)選擇。然后再選擇一個自己最感興趣的方向,如內(nèi)核開發(fā),驅(qū)動開發(fā),應(yīng)用開發(fā)等等,選定方向后由淺入深,循序漸進。
持之以恒
在互聯(lián)網(wǎng)迅猛發(fā)展的今天,我們處在一個知識迅速爆發(fā)和更新更新時代,每一天都有各種各樣的新事物層出不窮,當(dāng)然也會伴隨著各種老的舊的東西消失。計算機技術(shù)更是如此,從編程語言到開發(fā)工具,從設(shè)計模式到系統(tǒng)框架,每一天每個領(lǐng)域都會有新的技術(shù)出現(xiàn),從也會有舊的技術(shù)被淘汰被丟棄被遺忘。
這就意味著,從成為程序員的那一天開始,就不可能停止學(xué)習(xí)的腳步,不得不面對各種技術(shù)的更新?lián)Q代,因此,必須要持續(xù)學(xué)習(xí),及時更新自己的知識結(jié)構(gòu),以適應(yīng)各種業(yè)務(wù)需求的變化,否則,可能就不得不面對被淘汰的結(jié)果。
找到適合自己的學(xué)習(xí)方法
就像看電影一樣,同一部電影,有的人覺得精彩,有的人覺得無趣。每個人的習(xí)慣、個性、思維、背景、基礎(chǔ)不同,學(xué)習(xí)的方法也不同,沒有什么放之皆準(zhǔn)的方法,適合自己的才是最好的。
對于入門,找到一本自己能看得懂適合自己的書。很多別人推薦的堪稱圣經(jīng)的經(jīng)典書籍,不妨嘗試一下,看自己是否能夠很容易的理解和消化。如果實在看不懂,果斷換一本,切忌過于勉強。剛?cè)腴T時,如果長時間處于一種云里霧里的感覺,往往會對自己信心造成打擊,繼而一點點消耗掉繼續(xù)學(xué)下去的興趣。很多圣經(jīng)級的書籍往往適合在有一定基礎(chǔ)之后再細細品讀的,卻并非入門首選。
入門之后就是逐步深入了。一般來說,在實際項目中進行學(xué)習(xí)是效果最好的。做項目過程中往往能夠鞏固已經(jīng)學(xué)到的技能,同時發(fā)現(xiàn)自己的知識盲點,進而消滅盲點。
此外,多讀代碼,多寫代碼。
最后的最后,珍惜你現(xiàn)在的每一根頭發(fā)。
linux系列有兩種發(fā)行版本
1).Red
Hat系,包括RHEL、fedora、centos等
2).Debian系,包括Debian、Ubuntu、Mint等
想要學(xué)習(xí)的話如果個人學(xué)習(xí),推薦使用Ubuntu。如果是工作的話,則使用centos學(xué)習(xí)
1.學(xué)習(xí)Linux,首先就是安裝Linux系統(tǒng),通過鏡像安裝,這個過程可以先大概的了解一下linux的啟動過程,對一些概念有個大致的印象
2.在安裝好的系統(tǒng)之上,學(xué)習(xí)一些基本命令的操作,比如ls . 列出當(dāng)前文件夾下的子文件和子目錄,cd /root 切換到root的目錄下,top命令查看一些進程的cpu,內(nèi)存等資源的使用情況,ps命令同樣也可以查看進程的內(nèi)存等資源使用情況,pwd查看當(dāng)前所在的路徑等等,將這一些命令熟練的掌握
3.在掌握了linux的一些基本命令之后,那么可以進行一些服務(wù)的安裝搭建練習(xí),比如在Linux下安裝搭建DNS服務(wù)器,搭建nginx服務(wù)器等等
4.進階階段的話,可以嘗試進行內(nèi)核參數(shù)的調(diào)優(yōu),比如tcp關(guān)閉連接之后保持高速通道,擴大linux系統(tǒng)的最大句柄打開數(shù)之類的內(nèi)核參數(shù)的優(yōu)化,sysctl -a可以查看目前已經(jīng)加載的內(nèi)核參數(shù)
5.學(xué)會了造句子,那么之后就可以寫作文了。同理學(xué)會了linux的命令之后,那么可以學(xué)習(xí)一下shell的基本語句,awk sed的學(xué)習(xí),用shell實現(xiàn)一些特定功能的腳本,比如可以通過cat /proc/cpuinfo加上awk命令來實現(xiàn)對cpu相關(guān)信息的統(tǒng)計等
如果你在Linux上是一個小白請看下面的回答~
想學(xué)好Linux,先問自己幾個問題。
1. 你對計算機感興趣嗎?
2. 為什么學(xué)習(xí)Linux(他能給你帶來什么價值,這個價值點是否可以支持你一直堅持下去)
3.你每天可以在工作生活之余或者大學(xué)課余抽出多少時間去學(xué)習(xí)(任何的技能都是需要時間去練習(xí)+時間才能掌握的)
如果這三個問題的答案都是肯定的,那么請看下文:
我也是一個從0技術(shù)基礎(chǔ)的小白開始學(xué)習(xí)的
推薦你一個教程:【菜鳥教程】
http://www.runoob.com/linux/linux-tutorial.html
一定要有耐心、有恒心的堅持學(xué)完,這樣你對Linux才能有一定的理解
學(xué)習(xí)的中間需要您自己不斷的實操,自己去敲命令,去安裝,去驗證
Linux其實并不難,不要一想到Linux就想到那一行行的命令,然后就望而卻步。
不要以上來看什么書,除了打消你的積極性毫無用處
干!先把Linxu當(dāng)成一個普通的操作系統(tǒng)來使用
安裝系統(tǒng),安裝軟件,一步步來。遇到問題解決問題,再查度娘或者相關(guān)書籍。
面對命令行頭疼,那就先學(xué)著用圖形化桌面。當(dāng)你開始漸漸習(xí)慣它的時候,自然就想深入一些。而這個過程會自然的多。不要緊張,放松心情。享受整個過程。你才會保持激情。隨著你對Linux的了解越來越多,你會熟悉它的一切,融為一體。
不要強迫!不要強迫!不要強迫!
強迫自己,很多人事無法堅持下來的。必須自愿,才能永遠。
可以看下我的的Linux學(xué)習(xí)視頻,一起搞起來。