為啥我們要學習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只要有幾個分支:redhat,ubuntu,debian,suse。很多其他linux發行版本是這幾個分支的衍生版本,例如國內的紅旗,centos都是redhat的衍生版本。
在伺服器領域,個人覺得redhat現在做的最好,桌面領域是ubuntu最好,而我們學習linux的最大目的是學習linux的伺服器領域,所以我推薦redhat版本。
學校裡的linux課本都比較陳舊,大部分是redhat linux 9的教程,但是redhat linux 9由於硬碟驅動關係,是無法在現在的物理機上安裝的,包括本人,也受過大學課本的誤導(坑爹的教科書)。
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了。
2.多動手,多敲命令。只看書,不實踐,一切都是浮雲。預設安裝redhat 5,啟動redhat 5是帶有圖形介面的,但是圖形介面最好少用,對學習linux不利,一定要盡量用字元介面,慢慢習慣。而工作中,使用linux,使用圖形介面的概率幾乎是0。所以你去學習圖形介面的技術價值,幾乎為0,價效比不高。
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有所了解,已經有一定的基礎了,接下來你就要根據你的興趣去選擇你感興趣的方向去學習,或許要根據你的工作方向去學習(很多時候工作不是自己的興趣),**領進門,修行在個人,以上的學習步驟是我能想到的最簡化的步驟,學習的東西越多,只會讓初學者更迷茫。
備註:萬事開頭難,尤其是剛接觸linux的人,會感覺難以入手,如果大家需要的話,我後續會寫文章,從linux安裝到簡單使用,以step by step的形式貼出來,讓大家少走彎路,增加學習linux的信心,以後大家開始學習鳥哥的私房菜——基礎檔案篇,就事半功倍了。
如何學習Linux
隨著linux應用的擴充套件許多朋友開始接觸linux,根據學習windwos的經驗往往有一些茫然的感覺 不知從何處開始學起。這裡介紹學習linux的一些建議。一 從基礎開始 常常有些朋友在linux論壇問一些問題,不過,其中大多數的問題都是很基礎的。例如 為什麼我使用乙個命令的時候,系統告訴我找不...
如何學習linux?
做為中國人的特殊情況,學習linux對中國人來說要做的事情相對多了一些 1 以linux為榮耀,以幫助他人了解和學習linux為己任。3 了解unix的歷史,linux的歷史和hacker的歷史及文化。4 盡可能聯絡所以可以聯絡到linux的愛好者,盡可能多的了解你能接觸到的最了解linux的人對l...
如何學習linux
首先先學學編輯器,vim,emacs 什麼的都行。然後學makefile 檔案,只要知道一點就行,這樣就可以準備程式設計序了。然後看看 c 程式語言 k r 這樣呢,基本上就可以進行一般的程式設計了,順便找本資料結構的書來看。如果想學習unix linux 的程式設計,apue 絕對經典的教材,加深...