新聞中心

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

基于linux的學(xué)習(xí)方法

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


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


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


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


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



關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉