Linux——我的新體驗

來源:互聯網
上載者:User

       離上一次用Linux已經有一段時間了。這主要是因為兩方面的原因:一方面是臨近大學畢業了,忙著寫論文找工作,無暇顧及我的愛好了;另一方面,也是最重要的方面,大學期間買的一台二手電腦(CTR顯示器的那種)壞了,害得我畢業論文只能在大學機房的電腦上完成。現在大學畢業了,找了個不算好也不算很差的工作,又開始玩起了Linux。主要是想給自己未來的電腦(我現在還沒有買電腦,現在用的是公司的)選一套合適的Linux作業系統,當然也是出於學習的目的。所以這一段時間,我又開始了學習Linux的路程。

       前一階段的學習是在大學期間,用的是redhat9.0的系統。那時主要是用了一下裡面的軟體,比如用一下gcc,編譯個小程式。用apach架設一個web伺服器;或者用samba架設一個檔案伺服器;再就是做路由實驗。總之這些就是一個用Linux的過程。在這個過程中,我體會到了什麼事真正的多任務多使用者的作業系統,特別是多使用者這一特性。也體會了為什麼bash指令碼和命令使Linux被稱為靈動的作業系統,如果說用圖形介面(所有作業系統的)是在利用作業系統的提供工具的話,那麼用bash或者其他命令直譯器(sh、tcsh、ssh等)則是使用語言,一門電腦能夠理解的語言。語言和工具是兩個概念。語言是由零散的語句組成,工具是利用語句組合成的一個具有一定功能的集合體。用Linux的文字模式,命令列模式就是使用語句與電腦交流的過程,用這些語言寫成的指令碼也叫做bash指令碼。這本身就有語言的特性,擁有變數,可以定址,可以從鍵盤讀取,有控制台輸出,還有邏輯判斷、數學運算、迴圈。雖然,這些特性比起C和C++的一些特性相差還很遠,但是作為一個指令碼來說這已經不錯了,這是因為他的這些特性已經能夠完全適應伺服器的日常管理需要。與此同時,我還體會到了什麼叫做用記事本打天下。Linux的文字模式下,要想讓程式具有可定製性,可互動性。只需使用設定檔,也只能使用設定檔。而且這些設定檔都是用人類可以讀懂的字元組成的。用電腦界的還說,這叫human-readable
simbles,其實也就是text文本,採用utf—8或者ansc編碼的那種字元。總之,這是一段不錯的體驗。

        這一段學習的過程的確給了我不一樣的感覺。現在我開始學著怎樣往這個系統中添加自己需要的程式。在windows中,這很容易:在網上下載一個安裝包,點擊“下一步“就可以完成。可是在Linux中,這並不容易。我想這其中的糾結過程只有真正安裝過的同學才有體會。也許,你可以說用安裝工具yum或者apt-get等自動化安裝工具,可是你絕的這可靠嗎?他能滿足你百分之百需要嗎?你得考慮怎樣定製yum原始伺服器。rpm安裝包更不容易,這意味著,你必須解決好檔案依賴性問題。你必須在提示下不斷下載各種支援包。沒有辦法,在開源世界中,安裝程式只能這樣靠自己解決。如果你恰好碰上了循環相依性那可就夠受了(反正我還沒有碰到過,如果碰到了,我的措施就是換一個rpm包,因為其實不是每一套安裝包都一樣的)。還有一種解決方案就是編譯源碼,然後安裝,這不需要解決源碼問題,但是不是每一套源碼都能順利安裝,所以很糾結。這次安裝mplayer就是這樣,我換了四五套源碼才編譯成功。這需要耐心和毅力,當然在好奇心的驅使下,這些困難都算不上什麼。只能讓人更好奇,同時這些也刺激了我解決問題的慾望。這意味著,當問題解決了以後,會很有成就感。是的,我編譯完mplayer並且安裝好了以後,開始試著播放音樂,音箱裡傳出了悅耳聲中。我停止了思考,開始享受這來之不易的歌聲,太美了。再看看時間已經1:30了,該回去休息了。但是我還是興奮了許久。

         後面還有就是在字元模式下,瀏覽圖片。其實這說簡單也簡單,說複雜也挺複雜。說起來也就是利用Linux提供的framebuffer來顯示圖片。在Linux下,這相當於DOS下的圖片緩衝區,但是在Linux下不能這樣操作。因為作為一個完整的現代作業系統,不應該把硬體直接暴露給使用者,讓使用者不受管理的使用。就像dos下面提供了dos中斷以後,IBM又公布了BIOS中斷一樣。其實這很危險,不利於發揮作業系統的管理作用,因為產生了容易產生越權行為,意味著任何一個應用程式都可以越過DOS操作介面,而可以不讓作業系統知道,這對於使用者和資料都是不安全的。所以,在Linux下顯示緩衝區變成了一個只有root使用者才可以讀寫的檔案/dev/fb0,這是一個裝置檔案。用過的人都知道,Linux的/dev目錄下有許多這樣的檔案。是不是想起了一句話:everthing
is file。是的,Linux是一種類Unix系統,但他不是Unix。所以,在Linux中也適用了這句話:everthing is file。既然是檔案,那麼就可以用讀、寫和可執行來規定許可權。比如root就可以寫/dev/fb0這個檔案,一般使用者只能讀。這就是為什麼我剛開始用普通使用者登入後在Linux下用fbv顯示圖片時出現permission  denied!提示,但是可以讀出並顯示出來一堆亂碼。當用root使用者登入時就可以正確顯示圖片。是的,知道這個並沒有什麼了不起。但是知道一件是和做到一件事的體會是完全不一樣的。因為其實這裡面還有很多細節需要注意。

       不過話說回來,我的這些學習離不開一個好夥伴,那就是google。我無意在這裡專門為google做廣告,google也不需要我給他們做廣告。但是在學過程中,常常是google告訴我別人是怎樣解決這些問題的。這給我提供了一個不錯的例子,這些對我的協助真的很大。百度雖然也有協助,但是沒那麼多,因為這些結果很雜。只有在google找不到的時候,我才去用百度。真的就像一個面試官說的那樣,你不知道這個東西,沒有關係,但是如果你不會在google上尋找就不行了。總之,感謝互連網,感謝google!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.