1. 程式人生 > >我們為什麼要學習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可以維持一年不重啟。

免費,這個大家應該清楚,windows作業系統不是免費的,尤其是對企業來說,如果每臺伺服器都安裝windows,那企業要交的作業系統的費用很可觀,尤其對網際網路公司來說,擁有眾多的PC Server,分佈全國各地,要交windows的保護費,簡直是要命。而在中國,一般企業都是象徵性買十幾個license,交點保護費也過關了(windows有後門,不找家用電腦麻煩,企業會被找麻煩),但是如果企業比較大,效益好,機器多,十幾個license也不夠保護費,所以使用免費的Linux是不錯的選擇。

效能上,Linux做了很多優化,例如Linux會把空閒的記憶體快取檔案目錄,檔案內容,能不用虛擬記憶體就不用,但是windows一定會用虛擬記憶體,即使記憶體足夠。

軟體上,Linux有龐大的開源軟體支援,web伺服器,快取伺服器,資料庫伺服器,這些都是免費的選擇,都是穩定成熟的產品。

然而本人覺得Linux在伺服器領域確實很強大,但是在個人電腦上,我始終覺得不好用,目前還是windows好用,即使是目前個人桌面做的最好的Linux,Ubuntu也不如windows,windows擁有良好的使用者體驗,操作便利,個人軟體支援(例如網銀)。

選擇一個Linux的發行版本

學習Linux的第一件事情,就是要選擇一個Linux的發行版本,在虛擬機器或者物理機安裝都可以了,初學者最好用虛擬機器。初學Linux的第一件事情,就是看到眾多的Linux分支而頭暈,這到底有什麼區別呢,為啥Linux不是隻有一個版本,而是有很多個版本呢?其實是這樣的,Linux其實是一個作業系統核心,但是一個作業系統除了核心,還有使用者操作介面,應用軟體,例如我們使用的windows,也有windows核心,出了windows核心,還有windows的圖形介面,windows的office等應用軟體。而Linux是一個免費開源的核心,每個廠家都可以去Linux核心官網

http://www.kernel.org/下載核心,然後去訂製自己的圖形介面和應用軟體,所以會出現很多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的前言

選擇了Linux發行版本,你就會想如何開始學習Linux了。

1.當然是安裝Linux了,請上網自行google或者百度,下載redhat linux 5的安裝光碟,然後再安裝vmware,自行安裝

2.多動手,多敲命令。只看書,不實踐,一切都是浮雲。預設安裝redhat 5,啟動redhat 5是帶有圖形介面的,但是圖形介面最好少用,對學習Linux不利,一定要儘量用字元介面,慢慢習慣。而工作中,使用Linux,使用圖形介面的概率幾乎是0。所以你去學習圖形介面的技術價值,幾乎為0,價效比不高。

如何學習Linux

1.學習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有所瞭解,已經有一定的基礎了,接下來你就要根據你的興趣去選擇你感興趣的方向去學習,或許要根據你的工作方向去學習(很多時候工作不是自己的興趣),師父領進門,修行在個人,以上的學習步驟是我能想到的最簡化的步驟,學習的東西越多,只會讓初學者更迷茫。