新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 基于linux的學習方法

基于linux的學習方法

——
作者: 時間:2006-03-25 來源: 收藏
     GNU/Linux的學習實際上是一個不斷實踐的過程,根據(jù)自己的需要
不斷地選擇系統(tǒng)中的軟件根據(jù)其相關文檔在系統(tǒng)中付諸實施的過程,制定一個自己
滿意的目標可能效果更好。參考的目標可能以學習為主更好,倘若你有一定的基礎
制定一個基于GNU/Linux系統(tǒng)解決方案也不錯;參考的應用范圍開始以作為服務器運
行更好,而不是作為和Windows 95一樣的作桌面系統(tǒng),比較理想的環(huán)境就是有一臺
Windows95的機器作為客戶端而把Linux作為服務器,我接觸Linux很偶然完全是想看
一看免費的UNIX的樣子,學習Linux是的目標開始很簡單,就是實現(xiàn)類似于Windo
ws NT中的IIS的功能。
   我把GNU/Linux的學習分為以下三個部分,并根據(jù)自己的經(jīng)驗提出的事項。
 
1. 系統(tǒng)安裝
 
    對于熟悉Windows環(huán)境的人來說GNU/Linux的安裝是一個非常痛苦
的過程,對于安裝過程中遇到的問題足以讓許多聞風而動的人放棄了GNU/Linux的使
用。安裝過程中比較典型的問題是硬件不支持,如聲卡和顯示卡,其中顯示卡的問
題一般是希望安裝X-WINDOW環(huán)境而引起的,并且常常引起系統(tǒng)重啟或安裝失敗。所
以,我給大家的第一個提示就是可以考慮不安裝X-WINDOW軟件包;:( 其次如果你不是


使用的Sound Blast系列的聲卡,可以考慮不安裝聲卡 ;also :( 如果你的網(wǎng)絡卡
不識別可以
考慮更換一塊廉價的NE2000兼容網(wǎng)絡卡,保證網(wǎng)絡的正常工作對于調試客戶/服務器
方式的應用程序是必須的,網(wǎng)絡服務啟動成功但不能正常訪問多是由于缺省的路由(
default  route)沒有指定為網(wǎng)卡的地址引起。由于現(xiàn)在的硬件制造商還沒有普
遍提供Linux下的驅動程序,所以希望提供象Windows環(huán)境一樣的硬件兼容的確有些
困難。另外, 建議做好可能要數(shù)次格式化硬盤的準備,實際上當你使用Linux系統(tǒng)一
段時間后,就會發(fā)現(xiàn)以前頻繁格式化硬盤實際上是錯誤的。當然,由一個具有Linux
使用經(jīng)驗的人進行指導安裝是最好的選擇。同樣,有一本關于Linux系統(tǒng)指南的手冊
是入門時不錯的參考,不過不用太厚的著作因為許多的著作涉及的軟件介紹實際多
是對軟件文檔的復制,最好的文檔實際就在你的/usr/doc目錄下,當然其文檔主要是
英文不過都不是太深奧,畢竟很多軟件的作者并不是用英文作為母語,并且開始是可
以從/usr/doc/HOWTO開始,如可讀性極強的《DOS-TO-Linux HOWTO》《NET-3-HOWTO》
等文檔。在不熟悉UNIX命令的情況下,可以使用一個類似pctools的軟件mc,
通過他你可以完成許多的文件操作,如文件的瀏覽、編輯、刪除等,當然熟悉
UNIX的基本命令可能是開始時的主要工作,UNIX的命令有一個比較特殊的地方就是
有太多的選擇項,其實開始只要會它的基本功能就行。系統(tǒng)的安裝和配置是一個不
斷積累經(jīng)驗的過程,急于求成可能效果不好,和Windows入門容易深造難剛好相反L
inux是入門困難而深造容易。
 
2、系統(tǒng)管理
   由于Linux是一個多用戶多任務的操作系統(tǒng),系統(tǒng)管理對于在Windows 95環(huán)境


下的用戶可能是一個陌生的事情,在熟悉了基本的文件操作命令之后就可以考慮進行
系統(tǒng)管理,系統(tǒng)管理的工作主要分為用戶管理、資源管理、軟件安裝、
服務配置和網(wǎng)絡。當你使用linuxconf進行系統(tǒng)管理時,你會發(fā)現(xiàn)他許多真正優(yōu)秀
的地方。系統(tǒng)管理是相通的,只要是多用戶的系統(tǒng)都存在這樣的問題,實現(xiàn)的方法
也是大同小異,通過linuxconf進行管理實際是調用了許多的UNIX命令,就象mc一
樣。Linux的通常使用的命令一般放在/usr/sbin、/usr/bin、/sbin、/bin目錄下,
可以抽點時間看看到底他們都包含了些什么東西,并且使用man 看一下他該怎么
使用。資源管理的一個特色是文件系統(tǒng)的限額功能,這是UNIX系統(tǒng)普遍具有的功能
而在微軟的Windows NT 4沒有實現(xiàn)的功能。軟件安裝實際就是使用RPM軟件或是直
接使用tar,其中RPM包格式的軟件更容易安裝和使用。我對服務的理解是系統(tǒng)的駐
留程序,要配置Linux的各種服務需要了解涉及的程序和多半在/etc目錄下配置文件
的作用,/etc目錄和Windows的注冊表文件類似,包含了系統(tǒng)啟動和相關軟件的配置
信息,在集中管理方面應該說Windows做得更好,不過/etc的文件多半是文本文件,
你可以使用編輯器打開他們,其中很多文件里包含了詳細的配置幫助,配置服務的
過程有時可能就是去掉它的注釋符號,實際上Linux下的服務和商用UNIX提供的服務
很相似。和在Windows環(huán)境相比,最好的是一般修改一個服務后不需要重新啟動系統(tǒng)
,而只是重新啟動該服務。網(wǎng)絡是Linux給我最多收獲的部分,由于Linux是一個互
聯(lián)網(wǎng)上誕生的系統(tǒng),支持完整的TCP/IP網(wǎng)絡協(xié)議族,其網(wǎng)絡應用軟件非常豐富,并
且很多網(wǎng)絡應用軟件都系出名門且廣泛使用,如BIND、apache、wu-ftp、sendmail
、telnetd、NFS、NIS等,并且有非常完備的文檔和例子支持,通過配置其網(wǎng)絡服
務你可以深入了解TCP/IP協(xié)議,構造一個非常不錯的內部網(wǎng)環(huán)境,相關的文章比較
多,在此便不再贅述。同樣,支持Linux的大型關系數(shù)據(jù)庫也不少,目前各大數(shù)據(jù)庫


廠商Oracle、Sybase、Informix)為了對抗微軟的操作系統(tǒng)壟斷,均將產(chǎn)
品向Linux移,主要的目的是為大家提供使用和學習的機會,他們對一般對產(chǎn)品
的限制是不能應用于商業(yè)領域,同時支持Linux的免費數(shù)據(jù)庫系統(tǒng)也不少如PostgreSQL、
MySQL等,由于SQL數(shù)據(jù)庫涉及數(shù)據(jù)的并發(fā)控制、安全管理、備份等問題,掌
握它能夠讓你在管理員的角度思考你的數(shù)據(jù)共享的問題,并且SQL作為一個標準其通
用性較強,所以把Linux作為一個數(shù)據(jù)庫服務器平臺是很理想的。同時,將數(shù)據(jù)庫和
Web服務器結合起來,利用PHP3或是其他的CGI工具便能夠實現(xiàn)一個基于Web的數(shù)據(jù)
庫環(huán)境,并且是能夠被你自由控制的環(huán)境。
 
3、程序設計
        目前GNU/Linux系統(tǒng)是一個為程序員提供的操作系統(tǒng)和編程環(huán)境,
因為其操作系統(tǒng)核心源代碼和應用軟件的源代碼都是公開的,并且你可以根據(jù)你的
愛好選擇編程語言,你可以通過大量的應用軟件源代碼理解進程、線程、文件、設
備、網(wǎng)絡、RPC、IPC等原來比較抽象的概念。和Windows環(huán)境下的可視開發(fā)環(huán)境相
比,Linux下的編程可能會困難一些,但是如果只是完成特定的服務端應用,就比
較簡單和高效,你開了集成環(huán)境可能需要的是多開幾個虛擬控制臺,方便對庫函
數(shù)的參考。由于應用軟件主要是C語言程序,有C語言基礎是比較好的,并且應用軟
件的注釋都比較好,可以比較方便地修改。當然,用JAVA也比較好,可以充分享受
其跨平臺的優(yōu)勢,還有就是可以使用以前只是聽過而沒有用過的Ada、Lisp等語言。
基于GNU/Linux的程序設計可以讓你充分感受選擇的自由,沒有必要大家都
去研究核心程序,畢竟計算機是工具,能夠為具體應用服務才是計算機軟件人員的
職責,僅有系統(tǒng)核心也是不夠的。不過,在Linux下編寫驅動程序不是象想象的那么


困難,原因主要是我們的設計者為我們提供了詳細的指南,感受最深刻的是在
/usr/src/linux/drivers/net/skeleton.c程序,它描述了網(wǎng)卡驅動程
序的框架,并且相關的文檔非常多如KHG等,相比Windows就更為開放和容易。我不
是程序設計的高手,通過GNU/Linux的使用知道一些有用的方法,學會了欣賞別人的
程序,如果讓我做一個程序我的第一步可能就是找到相關的程序并查看他們的編程
方法。同樣,如果能夠真正使用互聯(lián)網(wǎng),你可以發(fā)現(xiàn)更多的程序設計的參考。
        兩年的實踐給了我一種駕馭系統(tǒng)的輕松,因為我知道很多東西沒
有想象的那么難以接受,最重要的是"try again"。實際上,你能夠真切地感受到各
種系統(tǒng)是相通的,如同水是相通的一樣;學習不應該是一種負擔,而是根據(jù)自己的
實際情況去解決實際的問題,興趣是一種不可忽視的因素。我想象不出如果能夠根
據(jù)大學計算機專業(yè)的課程設置,同步提供Linux的實踐,那么我們的大學生在畢業(yè)時
會有怎樣的技術水平?同樣,我們的高??赡軙懈嘁恍┑目梢詾槠胀ㄈ私邮艿?
軟件,而不是只是培養(yǎng)專家的科研成果,或是寥寥千套的獲獎操作系統(tǒng)。沒有理論
的實踐是盲目的,沒有實踐的理論是空洞的,而計算機軟件是需要理論和實踐緊密
結合的。



關鍵詞:

評論


相關推薦

技術專區(qū)

關閉