回覆列表
  • 1 # Maal先生

    如果你已經確定對 Linux 產生了興趣,那麼接下來我們介紹一下如何學習 Linux 。

    如何去學習:

    學習大多類似庖丁解牛,對事物的認識一般都是由淺入深、由表及裡的過程,循序才能漸進。學習 Linux 同樣要有一定的順序和方法,當然這也是你學習本教程的意義。如果你是初學者,那麼建議按照本教程的順序閱讀,不要跳躍,欲速則不達,揠苗也不見得能助長。

    另外,強烈建議做好讀書筆記,邊看邊記,邊練習邊思考,“學而不思則罔,思而不學則殆”,比勤奮更重要的是思考的能力,不要傻學、死學。養成看書的好習慣,學習類的圖書如果沒能看成自己知識的積累,就是白讀。一本書,可能看一遍是不夠的,多次閱讀,反覆實踐,才能印象深刻。筆者曾翻爛 8 本《戀愛寶典》,但是從沒向任何人表白,結果不言自明。實踐是檢驗真理的唯一標準,實踐出真知。

    方法有了,貴在堅持。制定好自己的學習目標,設定獎懲,確定詳細的時間進度表,開始行動!保持熱情,堅定目標,做好計劃,希望你、不會讓本教程變成你的收藏品,而是成為一套可能會改變你職場命運的技術指導教程,那將是我們最大的榮幸。

    碰到問題怎麼辦:

    任何人學習和使用 Linux 或多或少會遇到問題,很多人遇到問題的第一個念頭就是問人。沒錯!這可以快速解決問題。但是我們建議你,先嚐試自己解決問題,詢問別人獲得答案固然好,但是對於知識的積累和提升解決問題的能力並沒有幫助,不要做依賴別人幫助的懶蟲。

    Linux 系統的一個非常大的好處是,當命令執行錯誤或系統設定錯誤時,通常會清楚地顯示錯誤資訊,告訴你哪裡出錯了,只要認真觀察報錯資訊,大概就知道問題出現在哪裡,應該如何解決了。有的操作步驟複雜,出現狀況時,回頭檢査一下,是不是前面步驟的命令敲錯或配置檔案改錯。

    Linux 的幫助文件是很好的工具,命令的選項、配置檔案的設定都可以從這裡找到答案;我們在提問前,一定要先在網路上尋找答案,借用一句廣告語"百度一下,你就知道",沒有人願意回答網上一搜就可以找到答案的問題。

    提問時,確認你已經做了上述事情,這有助於樹立你不是寄生蟲與浪費別人時間的形象。輕率的提問只能得到輕率的回答,或者壓根兒沒人理你。

    有的被詢問者常常不是很清楚初學者要問什麼,因為初學者沒有完整、清楚地描述問題。在求助他人時,說明要做什麼、做了什麼,列出完整的操作步驟、錯誤資訊或錯誤截圖,描述清晰,讓別人能看懂你的問題,否則筆者就算變成超人也幫不了你。

    另外,千萬不要問那種令人頭疼的問題,如 Linux 怎麼備份、Linux 許可權有明陛、xx 服務怎麼配置、oo 指令碼幫寫一個……你問餃子皮為什麼這麼擀會破,我可以告訴你;你問怎麼包餃子,這就是你找茬兒了,先在網上找找,人生苦短,快用百度,然後照貓畫虎時哪個步驟有問題你再問……

    提問,也是一種智慧。

    英文讀不懂怎麼辦:

    每次在教授 Linux 課程時,筆者都要給讀者介紹兩個英文短語,一個是 "No such file or directory",另一個是 "command not found"。初學者在學習命令時問得最多的就是這兩個問題:輸入的檔案或目錄名稱錯誤、命令沒有被發現(命令敲錯了)。

    能看懂 Linux 的英文提示及英文文件非常重要。其實計算機英語很簡單,只要熟記了計算機專業英語單詞,高中畢業的英文水平就可以輕鬆閱讀英文文件了。即便你的英文水平實在太差了,連最簡單的計算機英文文件都看不懂,那麼在學習 Linux 的同時學學英語,每天從背一定量的單詞開始吧!

    筆者給各位讀者的建議是每天背 30 個在電腦上看到的不認識的單詞,30 個單詞不需要你會讀、會寫、會念,看到單詞知道意思即可,一般 3~5 個月,常見的計算機英語都能看厪。

    忘記Windows的思維方式

    思想的轉變比暫時性的技術提高更重要,因為它能幫助你加快學習速度。很多人使用 Linux 時骨子裡卻還是 Windows 的思想,比如講 Linux 安裝都會有讀者問:“是把 Linux 裝在 C 盤嗎?”,可見被 Windows“毒害”之深。Windows 是一個優秀的系統,它的易用性非常好,不過也正是因為易用性好,使用者往往不瞭解自己所做操作的原理。

    大多數初學者已經習慣了使用 Windows 的圖形介面來完戚喿作,可是我們在學習和日後使用 Linux 時基本上在命令列模式下,這讓很多初學者很頭疼也很困惑。這裡的問題是"如何有效利用系統資源",X Window 本身相當消耗系統資源,這也就是在架設 Linux 伺服器時不啟動圖形介面的原因。如果你想深入瞭解 Linux,就必須學習命令列操作。

    所以,我們在開始學習 Linux 之前,要不被 Windows 的思想所束縛。這其實是一個使用習慣的問題,筆者常常想,如果我們第一個接觸的作業系統就是 Linux,那麼之後我們再學習 Windows,可能我們也會感慨"這個系統為什麼必須啟動圖形介面才能操作",說到底,是一個習慣問題吧。

    學無止境,不僅是學到的知識,還有學習的意識和方法。筆者有一句話,與諸位共勉:“讓學習成為一種習慣。”

    學習方法與步驟:

    1.

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

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

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

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

    2.

    選擇一個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的教程學習。

    3.

    學習Linux的前言:

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

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

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

    4.

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

    1.Linux讓一切都聯絡起來。

    《作業系統》、《計算機網路》、《計算機組成原理》......紙上得來終覺淺,

    但作為作業系統一個具象,在這個裡彙集,你可以閱讀原始碼一窺其中的玄機。

    你亦可以同世界人民一道,自己動手寫作業系統。

    2.Linux讓你學習。

    浸染一段時間後,你不禁會想要了解Linux的發展史,它跟Mac,跟Windows跟Unix是

    什麼關係?有沒有必要打嘴仗?請看《The Art Of Unix Programming》

    你可能還會想要了解Linux是在怎樣一種環境中冒出來的,你需要了解

    自由軟體運動和開源軟體運動。

    你可能閱讀過《軟體工程》中提到的《人月神話》,裡面提到的外科手術式的軟

    件開發方式,不妨讀讀《教堂與集市》裡描繪的另外一番景象,它所探討的正是

    Linux的開發方式。

    3.Linux讓你實踐自由。

    ArchLinux、Suse、Ubuntu、CentOS、Debian、Gentoo、Fedora、Linux Deepin......

    they are all free.

    4.Linux讓你思考。

    以為Unix能滿足所有人?請看詼諧的《The Unix-Haters HandBook》

    以為C主宰這個世界?看過上面那本書,你會想要了解Lisp的,相信我。

    5.Linux讓你與世界溝通。

    你想要添磚加瓦、溝通,郵件列表、個人部落格、同伴審查......

    6.Linux讓你......

    Linux承載的東西太多,它鼓勵大家透過程式碼分享智慧,

    它是一個開放的、自由的平臺的核心力量,Linux讓你參與進來。

    備註:萬事開頭難,尤其是剛接觸Linux的人,會感覺難以入手,如果大家需要的話,我後續會寫文章,從Linux安裝到簡單使用,以step by step的形式貼出來,讓大家少走彎路,增加學習Linux的信心。

  • 中秋節和大豐收的關聯?
  • 為什麼OPPO可以成為5G研發的主力軍?