如何學習linux?

如何學習linux?技術的價值不在於這個技術有多麼高超,而在於技術本身給我們帶來什麼價值,所以很多時候我們學習一個技術,不能盲目學,是爲了使用這個技術,知道這個技術的使用場景,知道這個技術帶來的便利性,我們才決定要深入學習。
那我們幹嘛要學習Linux?Linux能給我們帶來什麼價值呢,這樣我們的學習纔不會麻木。
有同學說他想學習 Linux,問我如何學習,我就問:爲什麼學習,有些說看別人學習,想玩玩;有些說 Linux 就業好,等等。想問問大家當初學習 Linux 的目的是什麼,學習過程是什麼樣的,現在什麼程度,還有就是學習 Linux 的過程應該是什麼樣的。
Linux給我的感覺就是穩定,免費,性能好。
穩定,體現在哪裏?我們使用PC機,安裝的操作系統一般是windows xp,windows 7等,這些操作系統,如果你開一個星期,你的機器就要重啓了,因爲電腦會變的很慢,但是如果你用Linux,一般可以撐一個月不用重啓,當前如果機器比較繁忙就例外了。這裏我說的是個人PC,而很多互聯網公司使用的是廉價的PC Server,目前價格是每臺2-3W,PC Server和個人PC本質上沒什麼區別,一樣的x86處理器架構,一樣都是複雜指令集,只是PC Server的穩定性比個人PC高很多,性能和內存也比較高,但是代價就是開機比較久,一般要5分鐘,聲音也特別吵,家用買PC Server簡直沒法用。一般PC Server安裝Linux可以維持一年不重啓。

操作方法

(01)免費,這個大家應該清楚,windows操作系統不是免費的,尤其是對企業來說,如果每臺服務器都安裝windows,那企業要交的操作系統的費用很可觀,尤其對互聯網公司來說,擁有衆多的PC Server,分佈全國各地,要交windows的保護費,簡直是要命。而在中國,一般企業都是象徵性買十幾個license,交點保護費也過關了(windows有後門,不找家用電腦麻煩,企業會被找麻煩),但是如果企業比較大,效益好,機器多,十幾個license也不夠保護費,所以使用免費的Linux是不錯的選擇。性能上,Linux做了很多優化,例如Linux會把空閒的內存緩存文件目錄,文件內容,能不用虛擬內存就不用,但是windows一定會用虛擬內存,即使內存足夠。軟件上,Linux有龐大的開源軟件支持,web服務器,緩存服務器,數據庫服務器,這些都是免費的選擇,都是穩定成熟的產品。然而本人覺得Linux在服務器領域確實很強大,但是在個人電腦上,我始終覺得不好用,目前還是windows好用,即使是目前個人桌面做的最好的Linux,Ubuntu也不如windows,windows擁有良好的用戶體驗,操作便利,個人軟件支持(例如網銀)。

如何學習linux?

(02)選擇一個Linux的發行版本學習Linux的第一件事情,就是要選擇一個Linux的發行版本,在虛擬機或者物理機安裝都可以了,初學者最好用虛擬機。初學Linux的第一件事情,就是看到衆多的Linux分支而頭暈,這到底有什麼區別呢,爲啥Linux不是隻有一個版本,而是有很多個版本呢?其實是這樣的,Linux其實是一個操作系統內核,但是一個操作系統除了內核,還有用戶操作界面,應用軟件,例如我們使用的windows,也有windows內核,出了windows內核,還有windows的圖形界面,windows的office等應用軟件。而Linux是一個免費開源的內核,每個廠家都可以去Linux內核官網下載內核,然後去訂製自己的圖形界面和應用軟件,所以會出現很多Linux分支,但是內核都是一樣的。目前Linux只要有幾個分支:redhat,ubuntu,debian,suse。很多其他linux發行版本是這幾個分支的衍生版本,例如國內的紅旗,centos都是redhat的衍生版本。在服務器領域,個人覺得redhat現在做的最好,桌面領域是ubuntu最好,而我們學習Linux的最大目的是學習Linux的服務器領域,所以我推薦redhat版本。學校裏的linux課本都比較陳舊,大部分是Redhat Linux 9的教程,但是Redhat Linux 9由於硬盤驅動關係,是無法在現在的物理機上安裝的,包括本人,也受過大學課本的誤導(坑爹的教科書)。Redhat Linux 9之後,redhat公司不在維護Redhat的開源版本,於是直接發行他的商業版本Redhat Enterprise Linux 2,目前已經有Redhat Enterprise Linux 6,但是6的穩定性還不清楚,個人推薦使用Redhat Enterprise Linux 5,請自行去網上下載Redhat Enterprise Linux 5。Redhat Enterprise Linux雖然說是商業版本,但是隻要你安裝的時候,確定你不輸入序列號,你還是可以正常使用,只是不能在redhat官網更新軟件而已,然後,這裏就要提下CentOS了,由於Redhat Enterprise Linux是商業版本,於是CentOS這個組織就和redhat公司買了源代碼,並重新編譯,免費開放出來,免費讓用戶可以在centos官網更新軟件,包括使用Redhat Enterprise Linux的系統也可以在centos的官網更新軟件。大家也可能有疑問,既然centos和redhat都是一模一樣,除了名字不一樣,爲啥不選擇centos。其實沒任何區別,Centos 5.5就和Redhat Enterprise Linux 5.5是一模一樣的,你可以選擇centos去安裝,去拿redhat的教程學習。

如何學習linux? 第2張

(03)學習Linux的前言選擇了Linux發行版本,你就會想如何開始學習Linux了。1.當然是安裝Linux了,請上網自行搜狗,下載redhat linux 5的安裝光盤,然後再安裝vmware,自行安裝2.多動手,多敲命令。只看書,不實踐,一切都是浮雲。默認安裝redhat 5,啓動redhat 5是帶有圖形界面的,但是圖形界面最好少用,對學習Linux不利,一定要儘量用字符界面,慢慢習慣。而工作中,使用Linux,使用圖形界面的概率幾乎是0。所以你去學習圖形界面的技術價值,幾乎爲0,性價比不高。

(04)如何學習Linux1.學習Linux的第一件事情是學習Linux基礎,這方面我推薦鳥哥的私房菜的Linux 基礎文件,裏面講解了Linux的文件,磁盤,網絡,進程等,看懂了這本書,並且一個個命令去實踐,你就開始入門Linux了。2.學習Linux的第二事情就是用Linux。前面說過,Linux的最大用處是服務器領域,所以你要學的第二步是學會架設服務器,這方面我推一些博客的私房菜Linux 架站文件,這本書介紹了很多服務器的假設,沒有必要把全部服務器的架設步驟都看完。個人覺得可以先看完架設服務器的基礎,然後再看看如何搭建web服務器,ftp服務器,telnet服務器,ssh服務器。學會這幾個服務器的搭建,管理,再根據個人興趣和需要選擇其他服務器的搭建。3.進階——編程。到了這裏,你只是會用Linux而已,或許學會少許shell編程,能夠學會簡單的shell,編寫腳本。但是你要進一步熟悉Linux,就要學會Linux編程。例如,Linux的管道是怎麼做,Linux的deamon進程是如何實現的,爲什麼nohub可以讓一個進程可以以daemon形式運行,即使關閉了shell也不會讓這個進程也被關閉。這些,你學會了Linux環境編程,你就豁然開朗了。這裏我推薦 《UNIX環境高級編程》,此書是Linux/Unix編程的聖經,堪稱驚世之作。4.到了這裏,你就可以對Linux/Unix有所瞭解,已經有一定的基礎了,接下來你就要根據你的興趣去選擇你感興趣的方向去學習,或許要根據你的工作方向去學習(很多時候工作不是自己的興趣),師父領進門,修行在個人,以上的學習步驟是我能想到的最簡化的步驟,學習的東西越多,只會讓初學者更迷茫。x讓一切都聯繫起來。《操作系統》、《計算機網絡》、《計算機組成原理》......紙上得來終覺淺,但作爲操作系統一個具象,在這個裏彙集,你可以閱讀源代碼[1]一窺其中的玄機。你亦可以同世界人民一道,自己動手寫操作系統[2]。x讓你學習。浸染一段時間後,你不禁會想要了解Linux的發展史,它跟Mac,跟Windows跟Unix是什麼關係?有沒有必要打嘴仗?請看《The Art Of Unix Programming》[3]你可能還會想要了解Linux是在怎樣一種環境中冒出來的,你需要了解自由軟件運動和開源軟件運動[4]。你可能閱讀過《軟件工程》中提到的《人月神話》,裏面提到的外科手術式的軟件開發方式,不妨讀讀《教堂與集市》裏描繪的另外一番景象,它所探討的正是Linux的開發方式[5]。x讓你實踐自由。ArchLinux[6]、Suse、Ubuntu、CentOS、Debian、Gentoo、Fedora、Linux are all x讓你思考。以爲Unix能滿足所有人?請看詼諧的《The Unix-Haters HandBook》[7]以爲C主宰這個世界?看過上面那本書,你會想要了解Lisp[8]的,相信我。x讓你與世界溝通。你想要添磚加瓦、溝通,郵件列表、個人博客、同伴審查x讓你x承載的東西太多,它鼓勵大家通過代碼分享智慧,它是一個開放的、自由的平臺的核心力量,Linux讓你參與進來。備註:萬事開頭難,尤其是剛接觸Linux的人,會感覺難以入手,如果大家需要的話,我後續會寫文章,從Linux安裝到簡單使用,以step by step的形式貼出來,讓大家少走彎路,增加學習Linux的信心。