




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第一章簡介Unix/Linux發(fā)展歷程Unix/Linux的特點(diǎn)與發(fā)展趨勢Unix/Linux的廠家與版本Unix/Linux應(yīng)用簡介Unix的文化與哲學(xué)1.1Unix發(fā)展簡史1Unix的起源及歷史1969-1995Unix的祖輩是小而簡單的兼容分時(shí)系統(tǒng)(CTSS:CompatibleTime-SharingSystem),也算是曾經(jīng)實(shí)施過的分時(shí)系統(tǒng)的第一代或者第二代了。Unix的父輩是頗具開拓性的Multics項(xiàng)目,該項(xiàng)目試圖建立一個(gè)具備眾多功能的informationutility,能夠很漂亮地支持大群用戶對(duì)大型計(jì)算機(jī)的交互式分時(shí)使用??墒牵琈ultics設(shè)計(jì)得太完美了,最后因不堪自身重負(fù)而崩潰了。但Unix卻正是從它的廢墟中破殼而出的。最初的Unix就是一個(gè)第三系統(tǒng)。小型實(shí)驗(yàn)原型系統(tǒng)的后繼產(chǎn)品往往備受令人討厭的“第二版效應(yīng)”折磨。由于迫切希望把所有首次開發(fā)時(shí)遺漏的功能都添加進(jìn)去,往往導(dǎo)致設(shè)計(jì)十分龐大、過于復(fù)雜。其實(shí),還有一個(gè)因不常遇到而鮮為人知的“第三版效應(yīng)”:有時(shí)候,在第二系統(tǒng)不堪自身重負(fù)而崩潰之后,有可能返樸歸真,走上正道。2創(chuàng)世紀(jì):1969-1971Unix于1969年誕生于貝爾實(shí)驗(yàn)室的計(jì)算機(jī)科學(xué)家KenThompson的頭腦中。(Thompson曾經(jīng)是Multics項(xiàng)目的研究人員。)當(dāng)時(shí)代計(jì)算機(jī)硬件的原始程度:那時(shí)最強(qiáng)大的機(jī)器所擁有的計(jì)算能力和內(nèi)存還不如現(xiàn)在一個(gè)普通的手機(jī)。所謂的大硬盤容量也不超過1M。視頻顯示終端才剛剛起步,六年以后才得到廣泛應(yīng)用。最早分時(shí)系統(tǒng)的標(biāo)準(zhǔn)交互設(shè)備就是ASR-33電傳打字機(jī)。Unix命令簡潔、“少說多做”的傳統(tǒng)正是從這里開始的。創(chuàng)世紀(jì):1969-1971當(dāng)貝爾實(shí)驗(yàn)室(BellLabs)從Multics研究聯(lián)盟中退出時(shí),KenThompson帶著從Multics激發(fā)的靈感留了下來。他甚至沒能留下一臺(tái)機(jī)器來玩自己編寫的“星際旅行(SpaceTravel)”。Unix就在一臺(tái)廢棄的PDP-7小型機(jī)上問世了。這臺(tái)PDP-7成為了“星際旅行”的游戲平臺(tái)和Thompson關(guān)于操作系統(tǒng)設(shè)計(jì)思路的試驗(yàn)場。創(chuàng)世紀(jì):1969-1971DennisRitchie(Unix的合作發(fā)明者和C語言的發(fā)明者)、DougMcIlroy和其他一些同事,已經(jīng)習(xí)慣了Multics環(huán)境下的交互計(jì)算方式,不愿意放棄這一能力。Thompson的PDP-7操作系統(tǒng)給了他們一把救生稻草。Ritchie評(píng)述道:“我們希望保留的不僅僅是一個(gè)良好的編程環(huán)境,還包括一種能夠形成伙伴關(guān)系的系統(tǒng)。創(chuàng)世紀(jì):1969-1971Thompson和Ritchie“星際旅行”的實(shí)現(xiàn)引起了關(guān)注。Thompson和Ritchie為支持游戲開發(fā)而在PDP-7上編制的實(shí)用程序成了Unix的核心。直到1970年才產(chǎn)生Unix這個(gè)名字。最初的縮寫是“UNICS”(UniplexedInformationandComputingService),Ritchie后來稱之為“一個(gè)有點(diǎn)反叛Multics味道的雙關(guān)語”,因?yàn)樗那吧硎荕ultics(MULTiplexedInformationandComputingService)。創(chuàng)世紀(jì):1969-1971Unix的第一功,是1971年為貝爾實(shí)驗(yàn)室的專利部門進(jìn)行“文字處理”的支持工作。Unix在貝爾實(shí)驗(yàn)室計(jì)算群落中的重要而永久地位由此確立,并且開創(chuàng)了Unix歷史的下一個(gè)主旋律—與文檔格式化、排版和通訊工具的緊密結(jié)合。Unix的輕裝開發(fā)和方法上不拘一格的傳統(tǒng)與生俱來。既使在最早期,PDP-7Unix已經(jīng)擁有現(xiàn)今Unix的諸多共性,提供的編程環(huán)境也比當(dāng)時(shí)讀卡式批處理大型機(jī)的環(huán)境要舒服得多。Unix幾乎可以稱得上第一個(gè)能讓程序員直接坐在機(jī)器旁,一邊編程一邊測試的聯(lián)機(jī)系統(tǒng)。Unix的整個(gè)發(fā)展進(jìn)程中都能吸引那些不堪忍受其它操作系統(tǒng)局限性的程序員自愿為它進(jìn)行開發(fā),這也一直是Unix不斷拓展其能力的模式。3出埃及記:1971-1980最初的Unix用匯編語言寫成,應(yīng)用程序用匯編語言和解釋型語言B混合編寫。B語言的優(yōu)點(diǎn)在于小巧,能在PDP-7上運(yùn)行,但是作為系統(tǒng)編程語言還不夠強(qiáng)大,所以DennisRitchie給它增加了數(shù)據(jù)類型和結(jié)構(gòu)。1971年起從B語言進(jìn)化出了C語言。1973年,Thompson和Ritchie成功地用C語言重寫了整個(gè)Unix系統(tǒng)。這是一個(gè)大膽的舉措—那時(shí)為了最大程度地利用硬件性能,系統(tǒng)編程都通過匯編器來完成。與此同時(shí),可移植操作系統(tǒng)的概念幾乎鮮為人知。可是有了C之后,可移植操作系統(tǒng)“已經(jīng)”變成了現(xiàn)實(shí)。1979年,Ritchie這么寫:“Unix的成功很大程度上源自其以高級(jí)語言作為表述方式所帶來的可讀性、可改性和可移植性”。出埃及記:1971-19801974年在《美國計(jì)算機(jī)通信》(CommunicationsoftheACM)上發(fā)表的一篇論文中[Ritchie-Thompson]第一次公開展示了Unix。文中作者描述了Unix前所未有的簡潔設(shè)計(jì),并報(bào)告了600多例Unix應(yīng)用(這些都是安裝在即便按照那個(gè)年代的標(biāo)準(zhǔn),性能都算很低的機(jī)器上,但是(正如Ritchie和Thompson所寫)“性能的局限不僅成就了經(jīng)濟(jì)性,而且鼓勵(lì)了設(shè)計(jì)的簡約”。)CACM論文發(fā)表后,全球各個(gè)研究實(shí)驗(yàn)室和大學(xué)都嚷著要親身體驗(yàn)Unix。但根據(jù)1958年為解決反托拉斯案例達(dá)成的和解協(xié)議,AT&T(貝爾實(shí)驗(yàn)室的母公司)被禁止進(jìn)入計(jì)算機(jī)相關(guān)的商業(yè)領(lǐng)域。所以,Unix不能夠成為一種商品。實(shí)際上,根據(jù)和解協(xié)議的規(guī)定,貝爾實(shí)驗(yàn)室必須將非電話業(yè)務(wù)的技術(shù)許可給任何提出要求的人。于是,KenThompson開始默默回應(yīng)那些請(qǐng)求,將磁帶和磁盤一包包地寄送出去。Unix的發(fā)展迅速籠罩了一層反傳統(tǒng)文化的氛圍。Unix黑客們沉浸在同時(shí)編織未來和編寫系統(tǒng)的狂歡中。出埃及記:1971-1980那些日子的興奮從DouglasComer的話語中可見一斑:許多大學(xué)都對(duì)Unix作出過貢獻(xiàn):多倫多大學(xué)計(jì)算機(jī)系發(fā)明了200dpi的打印機(jī)/繪圖儀,并且開發(fā)了用打印機(jī)模擬照相排版機(jī)的軟件;耶魯大學(xué)的計(jì)算機(jī)專家和學(xué)生們改進(jìn)了Unix的shell;普渡大學(xué)的電子工程系對(duì)Unix的性能作了重要改進(jìn),推出了支持大量用戶的Unix版本,還推出了最早的Unix網(wǎng)絡(luò)之一;加州大學(xué)伯克利分校的學(xué)生開發(fā)了新shell和許多小型實(shí)用工具。1970年代后期貝爾實(shí)驗(yàn)室發(fā)布UnixV7版本時(shí),該系統(tǒng)解決了許多部門的運(yùn)算問題,也綜合了許多高校的創(chuàng)意,最終誕生了一個(gè)更強(qiáng)大的系統(tǒng)。思想潮流開始了新一輪循環(huán),從學(xué)術(shù)界流向工業(yè)實(shí)驗(yàn)室,然后又回到學(xué)術(shù)界,最后流向了不斷增加的商業(yè)用戶。
現(xiàn)代Unix程序員公認(rèn)的第一個(gè)完全意義上的Unix是1978年發(fā)布的V7版本。出埃及記:1971-1980第一代Unix用戶群一年前就已形成。此時(shí),Unix用于支撐貝爾系統(tǒng)(BellSystem)的所有操作,并且傳播到高校中,甚至遠(yuǎn)至澳大利亞—在那里,JohnLions對(duì)V6版源碼的注釋成了Unix內(nèi)核的第一個(gè)正式文檔《LionsUnix源代碼分析》。許多資深的Unix黑客仍然珍藏著一份拷貝。《LionsUnix源代碼分析》:Lions的書是地下出版界轟動(dòng)一時(shí)的大事。由于侵犯版權(quán)等諸如此類的問題,該書不能在美國出版,所以大家就你拷給我、我拷給你。在那個(gè)時(shí)代,若沒有Lions的書,你就當(dāng)不成內(nèi)核黑客。出埃及記:1971-1980Unix產(chǎn)業(yè)也初露端倪。1978年,第一個(gè)Unix公司(theSantaCruzOperation,SCO)成立,同年售出第一個(gè)商用C編譯器。1980年,西雅圖一家還不起眼的軟件公司—微軟也加入到Unix游戲中,他們把AT&T版本移植到微機(jī)上,取名為XENIX來銷售。但是微軟把Unix作為一個(gè)產(chǎn)品的熱情并沒有持續(xù)多久(盡管直到1990年左右,微軟的大部分內(nèi)部開發(fā)工作都用的是Unix)。4TCP/IP和Unix內(nèi)戰(zhàn):1980-1990在Unix的發(fā)展過程中,加州大學(xué)伯克利分校很早就成為唯一最重要的學(xué)術(shù)熱點(diǎn)。伯克利分校早在1974年就開始了對(duì)Unix的研究,而KenThompson利用1975-1976的年休在此教學(xué),更對(duì)Unix的研究注入了強(qiáng)勁活力。1977年,當(dāng)時(shí)還默默無聞的伯克利畢業(yè)生BillJoy管理的實(shí)驗(yàn)室發(fā)布了第一版BSD。到1980年,伯克利分校成了為這個(gè)Unix變種積極作貢獻(xiàn)的高校子網(wǎng)的核心。有關(guān)伯克利Unix(包括vi編輯器)的創(chuàng)意和代碼不斷從伯克利反饋到貝爾實(shí)驗(yàn)室。TCP/IP和Unix內(nèi)戰(zhàn):1980-19901980年,國防部高級(jí)研究計(jì)劃局(DARPA,DefenseAdvancedResearchProjectsAgency)需要請(qǐng)人在Unix環(huán)境下的VAX機(jī)上實(shí)現(xiàn)全新的TCP/IP協(xié)議棧。DARPA選擇了伯克利Unix作為平臺(tái)—顯然是因?yàn)榭梢院翢o阻礙地拿到它的源碼。伯克利計(jì)算機(jī)科學(xué)研究組當(dāng)時(shí)擁有天時(shí)地利,還有最強(qiáng)大的開發(fā)工具;而DARPA的合作無疑成為Unix歷史上自誕生以來最關(guān)鍵的轉(zhuǎn)折點(diǎn)。TCP/IP和Unix內(nèi)戰(zhàn):1980-1990在1983年TCP/IP實(shí)現(xiàn)隨Berkeley4.2版發(fā)布之前,Unix對(duì)網(wǎng)絡(luò)的支持一直是最薄弱的。早期的以太網(wǎng)實(shí)驗(yàn)不盡人意。貝爾實(shí)驗(yàn)室開發(fā)了一個(gè)難看但還能用的工具UUCP,可在普通電話線上通過調(diào)制解調(diào)器來傳送軟件。UUCP可以在分布很廣的機(jī)器之間轉(zhuǎn)發(fā)郵件,并且(在1981年Usenet發(fā)明后)支持Usenet。在TCP/IP誕生之前,Unix和Internet文化尚未融合。但有了TCP/IP,一切都變了。ARPANET和Unix文化自邊緣開始融合,這種發(fā)展最終使兩者都免遭滅亡。TCP/IP和Unix內(nèi)戰(zhàn):1980-1990不過,事情不問題一帆風(fēng)順的,起因是兩個(gè)毫不相干的災(zāi)難:微軟的興起和AT&T的拆分。1981年,微軟同IBM就新型IBMPC達(dá)成了歷史性交易。比爾.蓋茨從西雅圖計(jì)算機(jī)產(chǎn)品公司(SCP)買下了QDOS(QuickandDirtyOperatingSystem)。QDOS是SCP公司的TimPaterson花六個(gè)星期湊出來的CP/M翻版。蓋茨對(duì)Paterson和SCP公司隱瞞了同IBM的交易,以五萬美元的價(jià)格買下了所有版權(quán)。后來,蓋茨又說服了IBM公司允許微軟將MS-DOS從硬件中剝離出來單獨(dú)出售。接下來的十年中,蓋茨利用這個(gè)非他所寫的程序變成了超級(jí)億萬富翁,精明的商業(yè)策略更是讓微軟壟斷了桌面計(jì)算機(jī)市場。那時(shí),沒什么人能看出微軟會(huì)多么成功。因?yàn)镮BMPC-1硬件條件不足以來運(yùn)行Unix,所以Unix人群幾乎沒在乎這個(gè)產(chǎn)品。盡管,DOS2.0光芒能蓋過CP/M,主要因?yàn)槲④浀暮蟿?chuàng)者PaulAllen在DOS2.0中融入了一些Unix的特征,包括子目錄和管道等。作為產(chǎn)品的XENIX很快就棄而不用了,最終賣給了SCO公司。TCP/IP和Unix內(nèi)戰(zhàn):1980-1990還有一件事,那就是1982年SUN微系統(tǒng)公司的出世。SUN微系統(tǒng)公司的創(chuàng)立者BillJoy、AndreasBechtolsheim和VinodKhosla打算制造出一種內(nèi)置網(wǎng)絡(luò)功能的Unix夢幻機(jī)器。他們綜合了斯坦福大學(xué)設(shè)計(jì)的硬件和伯克利分校開發(fā)的Unix,取得了輝煌的成功,開創(chuàng)了工作站產(chǎn)業(yè)。隨著Sun公司越來越像傳統(tǒng)商家,Unix大樹上的這根分支源碼來源的樹枝逐漸枯萎。而當(dāng)時(shí)沒人在意這一點(diǎn),因?yàn)椴死中H匀浑S同源碼一起銷售BSD;各個(gè)高校也依然同貝爾實(shí)驗(yàn)室交換代碼,看起來Sun公司對(duì)Unix的商業(yè)化似乎再好不過了。此時(shí),C語言也有望被選為Unix世界外的系統(tǒng)編程語言。僅僅五年左右的時(shí)間,C語言就幾乎讓機(jī)器碼匯編語言完全失去了作用。到了九十年代早期,C和C++不僅統(tǒng)治了系統(tǒng)編程領(lǐng)域,而且成為了主流,到九十年代晚期,其他所有傳統(tǒng)編程語言實(shí)際上都已經(jīng)過時(shí)了。TCP/IP和Unix內(nèi)戰(zhàn):1980-19901983年,在DEC公司取消PDP-10的后繼機(jī)型的“木星”(Jupiter)開發(fā)計(jì)劃后,運(yùn)行Unix的VAX機(jī)器開始代之成為主流的互聯(lián)網(wǎng)機(jī)器,直到被Sun工作站取代。到1985年,已有25%左右的VAX用上了Unix。更主要的是,人工智能實(shí)驗(yàn)室以PDP-10為中心的黑客文化的消亡激發(fā)了RichardStallman開始編制GNU—一個(gè)完全自由的Unix克隆版本。到1983年,IBMPC可使用不下六種的Unix通用操作系統(tǒng):uNETix、Venix、Coherent、QNX、Idis和運(yùn)行在SritekPC子板上的移植版本,但是SystemV和BSD版本仍然沒有Unix移植。IBMPC上的這些Unix通用操作系統(tǒng)無一取得顯著的商業(yè)成功,但表明了市場迫切需求運(yùn)行Unix的低價(jià)硬件。TCP/IP和Unix內(nèi)戰(zhàn):1980-19901983年,美國司法部在針對(duì)AT&T的第二起反托拉斯訴訟中獲勝,并拆分了貝爾系統(tǒng),這時(shí)Sun公司己經(jīng)取得了成功。這次判決將AT&T從1958年的禁止將Unix產(chǎn)品化的和解協(xié)議中解脫了出來。AT&T馬上忙不迭地將UnixSystemV商業(yè)化(SCO)—這一舉措差點(diǎn)扼殺了Unix。很多人認(rèn)為這是一個(gè)好消息,沒有人意識(shí)到,Unix的產(chǎn)業(yè)化會(huì)破壞Unix源碼的自由交流。因?yàn)槲謱m司上身,非法交易的Unix源碼也越來越乏人問津。來自高校的貢獻(xiàn)隨之開始枯竭。更糟的是:剛剛進(jìn)入U(xiǎn)nix市場的幾家大公司立馬犯下了重大的戰(zhàn)略性錯(cuò)誤,其中之一就是試圖通過產(chǎn)品差異化來尋求有利地位。這個(gè)策略導(dǎo)致了各種Unix接口的分歧,抹殺了Unix的跨平臺(tái)兼容性,造成了Unix市場分割。TCP/IP和Unix內(nèi)戰(zhàn):1980-1990事實(shí)上,AT&T拆分后的數(shù)年內(nèi),Unix社區(qū)卻在忙著Unix大戰(zhàn)的第一階段—SystemVUnix和BSDUnix之間的內(nèi)部爭吵。爭吵分成不同的層面,有些屬于技術(shù)層面,也有文化層面。AT&T拆分當(dāng)年發(fā)生的另一件事對(duì)Unix產(chǎn)生了更深遠(yuǎn)的影響。程序員兼語言學(xué)家LarryWall發(fā)明了patch實(shí)用程序。這意味著Unix開發(fā)人員之間可通過傳送補(bǔ)丁進(jìn)行協(xié)作,而不必傳送整個(gè)代碼文件。這種方式在1990年后讓Unix獲得新生運(yùn)用這個(gè)工具,基于共有源碼庫的開發(fā)流可以分開、并行、最后合攏。patch程序比其它任何單一工具都更能促進(jìn)Internet上的協(xié)作開發(fā)?,F(xiàn)在的所有操作系統(tǒng)無一不支持patch實(shí)用程序。TCP/IP和Unix內(nèi)戰(zhàn):1980-19901985年,Intel第一枚386芯片下線了。它具有用平面地址空間尋址4G內(nèi)存的能力。這是條大新聞,因?yàn)檫@意味著占據(jù)主導(dǎo)地位的intel家族終于有了一款無需作出痛苦妥協(xié)就能運(yùn)行Unix的微處理器。對(duì)Sun公司和其它工作站廠商來說,這真是不祥之兆。同年,RichardStallman發(fā)表了GNU宣言(theGNUmanifesto),并發(fā)起了自由軟件基金會(huì)(FreeSoftwareFoundation)。同年,在一項(xiàng)與此不相干的開發(fā)行動(dòng)中,Xwindow系統(tǒng)的創(chuàng)始人發(fā)布了Xwindow的源碼,而無需版稅、約束和授權(quán)。這項(xiàng)決策的直接結(jié)果就是Xwindow成為不同Unix廠商之間合作的安全中立區(qū),并挫敗了專屬的競爭對(duì)手,成為了Unix的圖形引擎。TCP/IP和Unix內(nèi)戰(zhàn):1980-1990以調(diào)解SystemV和BerkeleyAPI為目標(biāo)的嚴(yán)肅的標(biāo)準(zhǔn)化工作始于1983年。隨之為1985年IEEE支持的POSIX標(biāo)準(zhǔn)。這些標(biāo)準(zhǔn)描述了BSD和SVR3(SystemVRelease3)調(diào)用的交集,綜合了伯克利出色的信號(hào)處理和作業(yè)控制,以及SVR3的終端控制。所有后續(xù)的Unix標(biāo)準(zhǔn)核心都加入了POSIX,后續(xù)開發(fā)的各種Unix版本也嚴(yán)格遵循這個(gè)標(biāo)準(zhǔn)。后來的現(xiàn)代Unix核心API唯一主要的補(bǔ)充就是BSD套接字。1986年,LarryWall開始開發(fā)Perl語言,現(xiàn)在最廣泛使用的開源腳本語言。1987年初,GNUC編譯器的第一版問世,到1987年底,GNU工具包的核心部分—編輯器、編譯器、調(diào)試器以及其它基本的開發(fā)工具等一一就位。同時(shí),Xwindow系統(tǒng)也開始在相對(duì)低廉的工作站上露面了。這些因素都為20世紀(jì)90年代的Unix開源發(fā)展提供了利器。TCP/IP和Unix內(nèi)戰(zhàn):1980-1990同樣是在1986年,PC技術(shù)掙脫了IBM的掌控。最積極進(jìn)取者康柏(Compaq),發(fā)布了第一款386機(jī)器,靠這張牌打敗了IBM。雖然主頻只有16MHz,但是跑起了Unix。這是第一款可以叫Unix機(jī)器的PC。這會(huì)兒已經(jīng)能夠想象Stallman的GNU項(xiàng)目可以和386機(jī)器配合而制造出Unix工作站,它比當(dāng)時(shí)任何方案都要便宜一個(gè)數(shù)量級(jí),但當(dāng)時(shí)沒人想到這步棋。AT&T和Sun的聯(lián)盟以及以POSIX為核心的技術(shù)標(biāo)準(zhǔn)的發(fā)展,最終彌合了SystemV和BSDUnix之間的裂痕。當(dāng)二線商家(IBM、DEC、HP等)創(chuàng)建開放軟件基金會(huì)(OpensoftwareFoundation)并結(jié)成盟友和以“Unix國際”為代表的“AT&T/Sun軸心”對(duì)抗時(shí),Unix內(nèi)戰(zhàn)的第二階段開始了。TCP/IP和Unix內(nèi)戰(zhàn):1980-1990這段時(shí)間中,微軟從家庭和小型商用市場賺了數(shù)十億美元的錢,而爭戰(zhàn)不休的Unix各方卻從未決意涉足這些市場。1990年,Windows3.0鞏固了微軟的統(tǒng)治地位,為微軟蕩平并最終壟斷桌面應(yīng)用市場創(chuàng)造了條件。1989年到1993年是Unix的中世紀(jì)。當(dāng)時(shí),似乎Unix社群所有的夢想都破滅了。相互爭斗的戰(zhàn)事已使專有Unix產(chǎn)業(yè)衰落得像個(gè)吵鬧的肉店,無力振起挑戰(zhàn)微軟的雄心。GNU項(xiàng)目沒能開發(fā)出自由的Unix內(nèi)核,盡管從1985年GNU就不斷作出此承諾。PC技術(shù)被無情地商業(yè)化了。1970年代的Unix黑客先鋒們?nèi)说街心?,步履開始蹣跚。硬件便宜了,但Unix還是太貴。人們幡然醒悟:過去的IBM壟斷讓位于現(xiàn)在的微軟壟斷,而微軟設(shè)計(jì)糟糕的軟件像濁流一樣,圍著我們?cè)綕q越高。5反擊帝國:1991-19951990年,WilliamJolitz把BSD移植到了386機(jī)器上,這是黑暗中的第一縷曙光。向386移植BSD之所以可能,是由于伯克利黑客KeithBostic一定程度上受Stallman影響。但是,Jolitz在1991年底退出386-BSD項(xiàng)目,并毀掉了自己的成果。公認(rèn)原因是他希望將其代碼以源碼形式無限制地發(fā)布,但當(dāng)項(xiàng)目的企業(yè)贊助商選擇了更專有的授權(quán)模式時(shí),他火了。1991年8月,當(dāng)時(shí)默默無聞的芬蘭大學(xué)生LinusTorvalds宣布了Linux項(xiàng)目。據(jù)稱Torvalds最主要的激勵(lì)是學(xué)校里用的SunUnix太貴了。但是386-BSD直到1992年早些時(shí)候才下線,而此時(shí)Linux第一版已經(jīng)發(fā)布好幾個(gè)月了。Torvalds還說,要是早知道有BSD項(xiàng)目,他就會(huì)加入BSD組而不是自己做一個(gè)。反擊帝國:1991-1995又過了兩年,經(jīng)歷了1993-1994年的互聯(lián)網(wǎng)大爆炸,Linux和開源BSD的重要性才為整個(gè)Unix世界所了解。與此前各種版本的Unix開發(fā)相比,Linux和BSD的開發(fā)相當(dāng)不同。它們植根于互聯(lián)網(wǎng),依賴分布式開發(fā)和patch工具,通過Email和Usenet新聞組招募開發(fā)者?;ヂ?lián)網(wǎng)的大規(guī)模市場推廣,既增加了潛在開發(fā)者的數(shù)量,又降低了分布式開發(fā)的處理成本,這些影響可從XFree86之類的項(xiàng)目上看出。1992年誕生的第一版XFree86賦予了Linux和BSD作為一直缺乏的圖形用戶界面引擎。XFree86利用Internet為中心的模式建立了一個(gè)比官方X聯(lián)盟更有效的開發(fā)組織。反擊帝國:1991-1995到1993年末,Linux已經(jīng)具備了Internet能力和X系統(tǒng)。整套GNU工具包從一開始就內(nèi)置其中,以提供高質(zhì)量的開發(fā)工具。除此之外,Linux好像一個(gè)魅力聚寶盆,囊括了二十年來分散在十幾種專有Unix平臺(tái)上的開源軟件之精華。盡管當(dāng)時(shí)Linux內(nèi)核還是測試版(0.99),但穩(wěn)定性已經(jīng)讓人刮目相看。Linux上軟件之多、質(zhì)量之高,已經(jīng)達(dá)到一個(gè)產(chǎn)品級(jí)操作系統(tǒng)的水準(zhǔn)。在舊學(xué)派的Unix開發(fā)者中,一部分腦筋活絡(luò)的人開始注意到,做了多年的平價(jià)Unix之夢從一個(gè)意想不到的方向悄然成真。它既不是來自AT&T,也不是來自Sun,或者任何一個(gè)傳統(tǒng)廠商,也不是出于學(xué)術(shù)界有組織的工作成果。它就這樣從Internet的石頭縫中跳了出來,渾然天成,以令人驚奇的方式重新規(guī)劃拼裝了Unix的傳統(tǒng)元素的Linux。反擊帝國:1991-1995另一方面,商業(yè)運(yùn)作繼續(xù)進(jìn)行。1992年AT&T拋售了其手中Sun公司的股份,然后在1993年把Unix系統(tǒng)實(shí)驗(yàn)室(UnixSystemsLaboratories)賣給了Novell;Novell又于1994年將Unix商標(biāo)轉(zhuǎn)手給X/Open標(biāo)準(zhǔn)組(X/openstandardsgroup);同年AT&T和Novell加入了OSF(開放軟件基金會(huì)),Unix之戰(zhàn)塵埃落定。1995年,SCO從Novell手中買下了UnixWare(以及最初Unix源碼的權(quán)利)。1996年,X/Open和OSF合并,創(chuàng)立了一個(gè)大型Unix標(biāo)準(zhǔn)組。2000年SCO把UnixWare和原創(chuàng)的Unix源碼包出售給了Caldera(一家Linux發(fā)行商)。整個(gè)產(chǎn)業(yè)變遷終告結(jié)束。但1995年后,Unix的故事就成了開源運(yùn)動(dòng)的故事。6黑客的起源和歷史:1961-1995與Unix傳統(tǒng)的歷史交織在一起的則是另一種隱性文化,一種更難歸類的文化。這種傳達(dá)著一個(gè)有關(guān)美和優(yōu)秀設(shè)計(jì)的價(jià)值體系:里面有它的江湖和俠客。這些人部分與Unix文化交迭,部分源于它處。人們把這種文化稱為“黑客文化”,從1998年起,這種文化已經(jīng)很大程度上和計(jì)算機(jī)行業(yè)出版界所稱的“開源運(yùn)動(dòng)”重合了。Unix傳統(tǒng)、黑客文化以及開源運(yùn)動(dòng)間的關(guān)系微妙而復(fù)雜。三種隱性文化背后往往是同一群人。但是,從1990年以來,Unix的故事很大程度上成了開源世界的黑客們改變規(guī)則、從保守的專有Unix廠商手中奪取主動(dòng)權(quán)的故事。因此,今天Unix身后的歷史,有一半就是黑客的歷史。游戲在校園的林間:1961-1980黑客文化的根源可以追溯到1961年,這一年MIT購買了第一臺(tái)PDP-10小型機(jī),吸引了一幫好奇的學(xué)生帶著一種好玩的心態(tài)擺弄這臺(tái)設(shè)備。他們最著名的成就是“太空大戰(zhàn)(SpaceWar)”1969年后,MITAI實(shí)驗(yàn)室和斯坦福、BBN公司、卡內(nèi)基.梅隆大學(xué)以及其它頂級(jí)計(jì)算機(jī)科學(xué)研究實(shí)驗(yàn)室通過早期的ARPANET聯(lián)上了網(wǎng)。研究人員和學(xué)生們第一次嘗到了快速網(wǎng)絡(luò)聯(lián)接消除了地域限制的甜頭,一種類似共享文化的東西開始成形。從技術(shù)性而言,早期的黑客文化大都基于PDP-10小型機(jī)。從社會(huì)性而言,他們年輕,天資過人,獻(xiàn)身編程達(dá)到癡迷的地步,決不墨守成規(guī)—后來被人們喚做“極客(geek)”。協(xié)作式開發(fā)和源碼共享是Unix程序員的法寶?;ヂ?lián)網(wǎng)大融合與自由軟件運(yùn)動(dòng):
1981-19911983年后,隨著BSD植入了TCP/IP,Unix文化和ARPANET文化開始融合。既然兩種文化都由同一類人構(gòu)成,一旦溝通環(huán)節(jié)到位,兩種文化的融合就水到渠成。ARPANET黑客學(xué)到了C語言,用起了管道、過濾器和shell之類的行話。Unix程序員學(xué)到了TCP/IP,也開始互稱“黑客”。1983年,木星項(xiàng)目的取消雖然葬送了PDP-10的前途,卻加速了兩種文化融合的進(jìn)程。到1987年,這兩種文化己經(jīng)完全融合在一起。RichardM.Stallman(RMS)RichardM.Stallman早在1970年代晚期就已經(jīng)證明他是當(dāng)時(shí)最有能力的程序員之一。Emacs編輯器就是他眾多發(fā)明中的一項(xiàng)。1983年木星項(xiàng)目的取消僅僅只是宣告了麻省理工學(xué)院人工智能實(shí)驗(yàn)室文化的最終解體。但RMS覺得自己被逐出了黑客的伊甸園,他把這一切都?xì)w咎于專有軟件。于是1983年,Stallman創(chuàng)建了GNU項(xiàng)目,致力于編一個(gè)完全自由的OS,實(shí)現(xiàn)一個(gè)仿Unix操作系統(tǒng)成了他追求的戰(zhàn)略目標(biāo)。RMS早期的捐助者大都是新踏入U(xiǎn)nix土地的老牌ARPANET黑客,他們對(duì)代碼共享的使命感甚至比那些有更多Unix背景的人更強(qiáng)烈。1985年,RMS發(fā)表了GNU宣言。在宣言中,他有意從1980年之前的ARPANET黑客文化價(jià)值中創(chuàng)造出一種意識(shí)形態(tài)—包括前所未見的政治倫理主張、自成體系而極具特色的論述以及激進(jìn)的改革計(jì)劃。RMS的目標(biāo)是將后1980的松散黑客社群變成一臺(tái)有組織的社會(huì)化機(jī)器以達(dá)到一個(gè)單純的革命目標(biāo)。RMS宣言引發(fā)的爭論至今仍存于黑客文化中。RMS這個(gè)魅力超凡又頗具爭議的人物本身已經(jīng)成為了一個(gè)文化英雄。通用公共許可證(GPL)為了追求這個(gè)目標(biāo),RMS將“自由軟件(freesoftware)”這一術(shù)語大眾化,這是將整個(gè)黑客文化的產(chǎn)品進(jìn)行標(biāo)識(shí)的首次嘗試。他撰寫了“通用公共許可證(GeneralPublicLicense,GPL)”?!癎PL”是一種描述,也是為黑客進(jìn)行文化標(biāo)識(shí)的一個(gè)嘗試。在RMS之前,黑客文化中的人們彼此當(dāng)作“同路人”,說著同樣的行話,但沒人費(fèi)神去爭辯“黑客”是什么或者應(yīng)該是什么。在他之后,黑客文化更加有自我意識(shí)。RMS的論點(diǎn)甚至影響了那些對(duì)其理論持懷疑態(tài)度的黑客的行為。然而,盡管他花了不下十五年的苦功夫,后1980黑客文化卻從未統(tǒng)一在他的理想之下。Linux和實(shí)用主義者的應(yīng)對(duì):1991-1998LinusTorvalds巧妙地跨越了GPL和反GPL的派別之爭。他利用GNU工具包搭起了自創(chuàng)的Linux內(nèi)核,用GPL的傳染性質(zhì)保護(hù)它,但拒絕認(rèn)同RMS許可協(xié)議反映的思想體系。Torvalds明確表示他認(rèn)為自由軟件通常更好,但他偶爾也用專有軟件。即使在他自己的事業(yè)中,他也拒絕成為狂熱分子。這一點(diǎn)極大地吸引了大多數(shù)黑客。Torvalds令人愉快的實(shí)用主義及靈活而低調(diào)的行事風(fēng)格,促使黑客文化在1993-1997年間取得了一連串令人驚奇的勝利,不僅僅在技術(shù)上的成功,還讓圍繞Linux操作系統(tǒng)的發(fā)行、服務(wù)和支持產(chǎn)業(yè)有了堅(jiān)實(shí)的開端。結(jié)果,他的名望和影響也一飛沖天,成了互聯(lián)網(wǎng)時(shí)代的英雄,Linux之父。到1995年為止,他只用了四年時(shí)間就在整個(gè)黑客文化界聲名顯赫,而RMS為此花了十五年。但Torvalds的成功離不開RMS的奠基工作。Linux和實(shí)用主義者的應(yīng)對(duì):1991-19981991至1995年間,Linux從概念型的0.1版本內(nèi)核原型,發(fā)展成為能夠在性能和特性上均堪媲美專有Unix的操作系統(tǒng),并且在連續(xù)正常工作時(shí)間等重要統(tǒng)計(jì)數(shù)據(jù)上打敗了這些Unix中的絕大部分。1995年,Linux找到了自己的殺手級(jí)應(yīng)用—開源的web服務(wù)器Apache。Apache出眾地穩(wěn)定和高效。很快,運(yùn)行Apache的Linux機(jī)器成了全球ISP平臺(tái)的首選。約60%多的網(wǎng)站選用Apache,輕松擊敗了其它專有型競爭對(duì)手。Torvalds未作的一件事就是提供新的思想體系—一套關(guān)于黑客行為的新理論基礎(chǔ)或繁衍神話,以及一套吸引黑客文化圈內(nèi)圈外人士的正面論述,以消弭RMS對(duì)知識(shí)產(chǎn)權(quán)的不友善。當(dāng)有人(1997年)試圖探尋為什么Linux開發(fā)沒有在幾年前崩潰時(shí),偶然地填補(bǔ)了這個(gè)空白:“如果有足夠多眼睛的關(guān)注,所有的bug都無處藏身”。這種新思潮在1998年初促使網(wǎng)景公司公布了其Mozilla瀏覽器的源碼。事實(shí)證明,此事無論對(duì)黑客文化的歷史還是對(duì)Unix的歷史都是一個(gè)轉(zhuǎn)折點(diǎn)。7開源運(yùn)動(dòng):1998年及之后到1998年Mozilla源碼公布的時(shí)候,黑客社區(qū)其實(shí)算是一個(gè)眾多派系或部落的松散集合,包括了Richardstallman的自由軟件運(yùn)動(dòng)、Linux社區(qū)、Perl社區(qū)、Apache社區(qū)、BSD社區(qū)、X開發(fā)者、互聯(lián)網(wǎng)工程工作組(IETF),還有很多其它組織。這些派系相互交疊,一個(gè)開發(fā)者很可能同時(shí)隸屬兩個(gè)或更多組織。一個(gè)部落的凝聚力可能來自他們維護(hù)的代碼庫,或是一個(gè)或多個(gè)有著超凡影響力的領(lǐng)導(dǎo)者,或是一門語言、一個(gè)開發(fā)工具,或是一個(gè)特定的軟件許可,或是一種技術(shù)標(biāo)準(zhǔn),或是基礎(chǔ)結(jié)構(gòu)某個(gè)部分的管理組織。1995年后,Linux扮演了一個(gè)特殊的角色:既是社區(qū)內(nèi)多數(shù)軟件的統(tǒng)一平臺(tái),又是黑客中最被認(rèn)可的品牌。Linux社區(qū)隨之顯現(xiàn)了兼并其它亞部落的傾向—甚至包括爭取并吸納一些專有Unix相關(guān)的黑客派系。整個(gè)黑客文化開始凝聚在一個(gè)共同目標(biāo)周圍:盡力推動(dòng)Linux和集市(bazaar)開發(fā)模式向前發(fā)展。這是因?yàn)楹?980黑客文化已經(jīng)深深植根于Unix,新目標(biāo)成了Unix傳統(tǒng)爭取勝利的不成文綱要。開源運(yùn)動(dòng):1998年及之后Netscape開放源碼的宣告和Linux的新近崛起產(chǎn)生的激勵(lì)效應(yīng)遠(yuǎn)遠(yuǎn)超越了Unix社區(qū)和黑客文化。許多其它(比如Java)開發(fā)者喜歡上了開源運(yùn)動(dòng)中的新生事物,于是就像此前跟隨Netscape加入Java一樣,又跟隨它加入了Linux和開源運(yùn)動(dòng)。開源行動(dòng)的積極分子熱烈歡迎來自各個(gè)領(lǐng)域的移民潮。老一輩Unix人也開始認(rèn)同新移民的夢想。唯一的例外是RichardStallman和自由軟件運(yùn)動(dòng)?!伴_源”明顯要用一個(gè)意識(shí)形態(tài)中性的公眾標(biāo)簽來取代Stallman鐘愛的“自由軟件”。新標(biāo)簽無論對(duì)于歷史上一貫反對(duì)“自由軟件”的BSD黑客之類的團(tuán)體,還是對(duì)于不愿在GPL是非之爭中表態(tài)的人均能接受。Stallman嘗試著接受這個(gè)術(shù)語,但隨后又以其未能代表其思想的核心為由而排斥它。從此,自由軟件運(yùn)動(dòng)堅(jiān)持同“開源”劃清界限,這也許成了2003年黑客文化中最重大的政治分歧。“開源”背后另一個(gè)(也是更重要的)意圖是希望將黑客社區(qū)的方法以一種更親和市場、更少對(duì)抗性的方式介紹給外部世界(尤其是主流商用市場)。幸運(yùn)的是,在這方面,它取得了絕對(duì)成功,這也重新激起了人們對(duì)其根源—Unix傳統(tǒng)—的興趣。8Unix的歷史教訓(xùn)在Unix歷史中,最大的規(guī)律是:距開源越近就越繁榮。任何將Unix專有化的企圖,只能陷入停滯和衰敗。對(duì)今后的教訓(xùn)就是:過度依賴任何一種技術(shù)或者商業(yè)模式都是錯(cuò)誤的。相反,保持軟件及其設(shè)計(jì)傳統(tǒng)的的靈活性才是長存之道。Unix要繁榮,就必須繼續(xù)采用吸納低價(jià)而靈活的方案的訣竅。借此,我們可以想想微軟,想想我們。9Unix系統(tǒng)的演變(綜述)自從1969年出生以來,至今,它已經(jīng)歷了一個(gè)從開發(fā)、發(fā)展、不斷演變和獲得廣泛應(yīng)用以致逐漸成為工作站等小型機(jī)以上系統(tǒng)的標(biāo)準(zhǔn)操作系統(tǒng)的演變過程。1972年開始,Unix系統(tǒng)已移植到PDP-10系列機(jī)上;1974年正式發(fā)表在美國計(jì)算機(jī)學(xué)會(huì)雜志ACM上;1975年發(fā)表的第6版中引入多道技術(shù);1979年,貝爾實(shí)驗(yàn)室將其移植到類似于IBM370的32位機(jī)Interdata8/32上。從而公布了得到西部電氣公司正式承認(rèn)的Unix第7版。1980年貝爾實(shí)驗(yàn)室公布了為VAX-11/780機(jī)編寫的操作系統(tǒng)Unix32V。1982年,AT&T又相繼公布了UnixSystemE的3.0,4.0和5.0等版本。從此,Unix系統(tǒng)的發(fā)展走上了以AT&T和伯克利分校二者為主開發(fā)的道路。1983年AT&T推出了UnixSystemV和幾種微處理機(jī)上的Unix。同年,伯克利分校公布了BSD4.2版。1984年,IBM公司公布了IBM/PC上的Unix。1985年微軟將Unix改造為用于16位PC機(jī)操作系統(tǒng)Xenix.1985年,cray公司公布了用于超大型機(jī)的Unix系統(tǒng)。1986年,UnixSystemV發(fā)展到了它的修訂版Res2.1和Res3.0;BSD4.2步升級(jí)到BSD4.3Sunmicro公司開發(fā)了基于BSD4.2/4.3的SUN工作站操作系統(tǒng)SUNOS,Solaris。MIT又在Unix的基礎(chǔ)上,開發(fā)出了近年來已成為工作站圖形界面標(biāo)準(zhǔn)的X-window系統(tǒng)。至此各大型廠家的小型機(jī)以上的系統(tǒng)大都配置Unix或類Unix的操作系統(tǒng)。且各不相同,互相攻擊。10Unix系統(tǒng)的標(biāo)準(zhǔn)化在Unix系統(tǒng)不斷發(fā)展的背景下,美國IEEE(美國電氣及電子工程師學(xué)會(huì)InstituteofElectricalandElectronicsEngineers)組織成立了POSIX(可移植操作系統(tǒng)接口標(biāo)準(zhǔn)PortableOperationSystemInterface)委員會(huì)專門從事Unix的標(biāo)準(zhǔn)化工作。POSIX委員會(huì)完成了Unix系統(tǒng)標(biāo)準(zhǔn)化,并按其定義重新實(shí)現(xiàn)Unix。標(biāo)準(zhǔn)Unix意味著一個(gè)可以運(yùn)行Unix應(yīng)用軟件的平臺(tái),它為用戶提供一個(gè)標(biāo)準(zhǔn)的用戶界面,而不在于系統(tǒng)內(nèi)部如何實(shí)現(xiàn)。11Unix操作系統(tǒng)進(jìn)一步發(fā)展在標(biāo)準(zhǔn)化基礎(chǔ)上,UnixSystemVRes4.0版以及BSD4.3版等統(tǒng)一了用戶界面的Unix操作系統(tǒng)相繼推出,使Unix系統(tǒng)的開發(fā)工作進(jìn)入了一個(gè)新的階段:面向?qū)ο笤O(shè)計(jì)思想的引入;商用系統(tǒng):IBMAIX、SUNSolaris、SCOUnixOpenServer、HPUX;Linux(百種以上):RedHat,F(xiàn)edera,Slackware,SuSE,Turbo,紅旗,…12Unix系統(tǒng)的特點(diǎn)(1)Unix系統(tǒng)是一個(gè)可供多用戶同時(shí)操作的會(huì)話式分時(shí)操作系統(tǒng)。(2)兩種用戶友好界面或接口:命令和系統(tǒng)調(diào)用。(3)Unix系統(tǒng)具有一個(gè)可裝卸的分層樹型結(jié)構(gòu)文件系統(tǒng)。該文件系統(tǒng)具有使用方便和搜索簡單等特點(diǎn)。(4)Unix系統(tǒng)把所有外部設(shè)備都當(dāng)作文件,并分別賦予它們對(duì)應(yīng)的文件名。(5)Unix系統(tǒng)核心程序的絕大部分源代碼和系統(tǒng)上的支持軟件都用C語言編寫。且Unix系統(tǒng)是一個(gè)開放式系統(tǒng)。(6)豐富的開發(fā)工具、強(qiáng)大的網(wǎng)絡(luò)功能和穩(wěn)定的系統(tǒng)性能。13Unix系統(tǒng)結(jié)構(gòu)Unix系統(tǒng)結(jié)構(gòu)可分為三層。最內(nèi)層為Unix核心(kernel)。最外層是用戶程序。中間層則是shell命令解釋層、實(shí)用程序、庫函數(shù)等。Unix系統(tǒng)結(jié)構(gòu)圖如下:14Unix的命令控制界面Unix具有豐富的操作命令,這些命令都通過shell提供給用戶使用。shell是Unix系統(tǒng)為用戶提供的鍵盤命令解釋程序的集合,是人機(jī)交互的橋梁;Unixshell命令每個(gè)都有返回值,輸入輸出可以重定向,輸出結(jié)果也直接賦給shell變量,為用戶提供了功能強(qiáng)大的shell編程功能;Unix通過shell向用戶提供豐富的命令。根據(jù)功能,可將命令劃分為基本類和特殊類兩種。Unix也提供有窗口圖形界面(X-Window)。15Unix的編程界面Unix系統(tǒng)的另一個(gè)用戶接口是編程接口—系統(tǒng)調(diào)用。Unix系統(tǒng)的系統(tǒng)調(diào)用以標(biāo)準(zhǔn)子程序形式給出供編程使用。系統(tǒng)調(diào)用的主要目的是使用戶可以使用操作系統(tǒng)提供的有關(guān)設(shè)備管理、輸入輸出系統(tǒng)、文件系統(tǒng)和進(jìn)程控制、通信以及存儲(chǔ)管理等多方面的功能和服務(wù),而不必了解系統(tǒng)程序的內(nèi)部結(jié)構(gòu)和有關(guān)硬件細(xì)節(jié),從而起到減輕用戶負(fù)擔(dān)和保護(hù)系統(tǒng)以及提高資源利用率的作用。Unix提供的系統(tǒng)調(diào)用有如下大類: 設(shè)備管理的系統(tǒng)調(diào)用 文件系統(tǒng)的系統(tǒng)調(diào)用 進(jìn)程控制的系統(tǒng)調(diào)用 進(jìn)程通信的系統(tǒng)調(diào)用 存儲(chǔ)管理的系統(tǒng)調(diào)用 管理用系統(tǒng)調(diào)用1.2Linux的發(fā)展簡史1Linux的發(fā)展簡史Linux是LinusTorvalds基于一種教學(xué)用Unix系統(tǒng)Minix上發(fā)展起來的。LinusTorvalds被稱為Linux之父。在學(xué)習(xí)和開發(fā)過程中,非常努力,借助網(wǎng)絡(luò)進(jìn)行交流、學(xué)習(xí)。終于1991年9月17日將自己成果發(fā)表在FTP服務(wù)器上,供大家下載測試。LinusTorvalds最初想將該系統(tǒng)命名為FreeX,但根據(jù)AriLemke的建議,將該系統(tǒng)命名為Linux。這也是對(duì)LinusTorvalds的紀(jì)念。當(dāng)時(shí)版本為0.012Linux的開放源代碼規(guī)則(1)任何人可以免費(fèi)使用該操作系統(tǒng),但不得將其作為商品出售;(2)任何人可以對(duì)該操作系統(tǒng)進(jìn)行修改,但必須將其修改以源代碼形式公開;(3)如不同意以上規(guī)定,任何人無權(quán)對(duì)其進(jìn)行復(fù)制或從事任何行為。3軟件發(fā)放的三種形式(1)商業(yè)軟件(CommercialSoftware)先購買后使用,典型代表是Microsoft的Windows;(2)共享軟件(ShareSoftware)先試用后付費(fèi),通常不提供源代碼,到期未購買仍在繼續(xù)使用者被認(rèn)為是侵權(quán);(3)自由軟件(FreeSoftware)在發(fā)布時(shí)向用戶提供源代碼。通常用戶通過網(wǎng)絡(luò)等多種渠道而得到發(fā)布版本。如果用戶付費(fèi)的話將得到完美的服務(wù)和文檔。4GNU,GPLRichardStallman于1983年9月27日公開發(fā)起的,它的目標(biāo)是創(chuàng)建一套完全自由的Unix-兼容的操作系統(tǒng)。為了保證GNU軟件可自由地“使用、復(fù)制、修復(fù)、修改和發(fā)布”,所有GNU軟件必須遵守GNU的通用許可證GPL(GNUGeneralPublicLicense,簡稱GNUGPL)。GNUGPL創(chuàng)造性的提出了“反版權(quán)”(Copyleft),這是一個(gè)不同于商業(yè)軟件“版權(quán)所有”(Copyright)的法律概念,它不否認(rèn)版權(quán),也不反對(duì)發(fā)布軟件時(shí)收取費(fèi)用或取得利益。它的核心是必須把發(fā)布者的一切權(quán)利給予接受者。必須保證接受者能同時(shí)或通過其它渠道得到源程序,并將GNUGPL條款附加到軟件的版權(quán)聲明中,使接受者知道自己的權(quán)利。GNUGPL本身也是受法律保護(hù)的版權(quán)聲明。5Linux的發(fā)展從0.12版始,Torvalds把Linux奉獻(xiàn)給了自由軟件,奉獻(xiàn)給了GNU。鑄造了自由軟件也包括Linux的輝煌?,F(xiàn)在,全球計(jì)算機(jī)廠商的巨頭們都紛紛感受到了Linux的魅力:IMB、HP、DELL、ORACLE、INTEL都提供了對(duì)Linux的支持,Linux走進(jìn)了很多大型公司和企業(yè)。6Linux操作系統(tǒng)的特點(diǎn)Linux是兼容絕大部分Unix標(biāo)準(zhǔn)、具有Unix風(fēng)格和特點(diǎn)的操作系統(tǒng);其最大的優(yōu)勢是遵循GNUGPL,是開放式源代碼的自由軟件,是計(jì)算機(jī)愛好者的自己的操作系統(tǒng)。Linux具有Xwindows桌面系統(tǒng),兼有Windows作風(fēng)格。7為什么需要Linux掌握核心技術(shù),促進(jìn)技術(shù)發(fā)展打破技術(shù)壟斷,保護(hù)國家安全降低使用成本,提高經(jīng)濟(jì)效益8Linux的技術(shù)特點(diǎn)自由開放的Linux代碼強(qiáng)大的圖形操作界面強(qiáng)大的網(wǎng)絡(luò)功能真正多用戶多任務(wù)的操作系統(tǒng)支持多種硬件平臺(tái)的操作系統(tǒng)完整的開發(fā)平臺(tái)9Linux的發(fā)行版本介紹Linux繼承了Unix版本的特點(diǎn),版本號(hào)有點(diǎn)長。Linux內(nèi)核版本號(hào)由3組數(shù)字構(gòu)成,以“.”分隔。第一組是主版本號(hào);第二組是次版本號(hào),說明主版本的第幾次重大更新,偶數(shù)代表穩(wěn)定版本,奇數(shù)表示測試版本。穩(wěn)定版本只修改錯(cuò)誤不增加功能。測試版本會(huì)不斷地增加功能,直到經(jīng)測試形成穩(wěn)定版本;第三組是當(dāng)前版本的錯(cuò)誤修訂次數(shù)。如Linux2.4.2410Linux系統(tǒng)結(jié)構(gòu)Linux是在Unix系統(tǒng)基礎(chǔ)上發(fā)展起來的;Linux系統(tǒng)結(jié)構(gòu)參見Unix系統(tǒng);多用戶,多任務(wù),支持多線程;動(dòng)態(tài)鏈接庫支持;嵌入式、組件開發(fā)。11Linux發(fā)行套件Linux的基礎(chǔ)是內(nèi)核,發(fā)行版內(nèi)容包括:安裝程序、內(nèi)核系統(tǒng)、管理工具、開發(fā)系統(tǒng)等。發(fā)布光盤上包括幾百個(gè)軟件包,按功能分有:系統(tǒng)安裝與系統(tǒng)引導(dǎo)管理程序用戶界面X-Windows系統(tǒng)管理網(wǎng)絡(luò)與網(wǎng)絡(luò)服務(wù)文件和打印服務(wù)應(yīng)用程序開發(fā)工具娛樂與多媒體等12目前常見的Linux發(fā)行版Linux版本在百種以上,常見的如下:RedHatLinuxMandarkeLinuxDebianLinuxSuSELinuxSlackwareLinux紅旗Linux沖浪XteamLinuxTurboLinux13Linux應(yīng)用簡介辦公系統(tǒng)互聯(lián)網(wǎng)多媒體、娛樂與游戲圖形和圖象處理網(wǎng)絡(luò)服務(wù)數(shù)據(jù)庫編程與開發(fā)1.3Unix文化與哲學(xué)1Unix的文化工程和設(shè)計(jì)的每個(gè)分支都有自己的技術(shù)文化。Unix確實(shí)有它自己的文化;有獨(dú)特的編程藝術(shù);有一套影響深遠(yuǎn)的設(shè)計(jì)哲學(xué)。理解這些傳統(tǒng),會(huì)使你寫出更好的軟件,即使你是在非Unix平臺(tái)上開發(fā)。2Unix的生命力Unix誕生于1969年,此后便一直應(yīng)用于生產(chǎn)領(lǐng)域。按照計(jì)算機(jī)工業(yè)的標(biāo)準(zhǔn),那已經(jīng)是好幾個(gè)地質(zhì)紀(jì)年前的事了。在現(xiàn)今所有分時(shí)系統(tǒng)中,也只有IBM的VM/CMS敢說它比Unix資格更老,但是Unix機(jī)器的服務(wù)時(shí)間卻是VM/CMS的幾十萬倍。事實(shí)上,在Unix平臺(tái)上完成的計(jì)算量可能比所有其它分時(shí)系統(tǒng)加起來的總和還要多。Unix比其它任何操作系統(tǒng)都更廣泛地應(yīng)用在各種機(jī)型上。從超級(jí)計(jì)算機(jī)到手持計(jì)算機(jī)到嵌入式網(wǎng)絡(luò)設(shè)備,從工作站到服務(wù)器到PC機(jī)到微型計(jì)算機(jī)。Unix所能支持的機(jī)器架構(gòu)和奇特硬件可能比你隨便抓取任何其它三種操作系統(tǒng)所能支持的總和還要多。Unix應(yīng)用范圍之廣簡直令人難以置信。沒有哪一種操作系統(tǒng)能像Unix那樣,能同時(shí)在作為研究工具、定制技術(shù)應(yīng)用的友好宿主機(jī)、商用成品軟件平臺(tái)和互聯(lián)網(wǎng)技術(shù)的重要部分等各個(gè)領(lǐng)域都大放異彩。從Unix誕生之日起,各種預(yù)言就伴隨著它,說Unix必將衰敗,或者被其它操作系統(tǒng)擠出市場??墒窃诮裉欤頌長inux、BSD、Solaris、MacOSX以及好幾個(gè)其它變種的Unix,卻顯得前所未有的強(qiáng)大。Unix的生命力和適應(yīng)力委實(shí)令人稱奇。盡管其它技術(shù)如蜉蝣般生生滅滅,計(jì)算機(jī)性能成千倍增長,語言歷經(jīng)嬗變,業(yè)界規(guī)范多次變革—然而Unix依然巍然屹立,仍在運(yùn)行,仍在創(chuàng)造價(jià)值,仍然能贏得無數(shù)最優(yōu)秀、最聰明的軟件技術(shù)人員的忠誠。Unix的穩(wěn)定和成功在很大程度上歸功于它與生俱來的內(nèi)在優(yōu)勢,歸功于KenThompson,DennisRitchie,BrianKernighan,DougMcIlroy,RobPike和其他早期Unix開發(fā)者一開始就作出的設(shè)計(jì)決策。這些決策,連同設(shè)計(jì)哲學(xué)、編程藝術(shù)、技術(shù)文化一起,從Unix的嬰兒期到今天的成長路程中,已經(jīng)被反復(fù)證明是健康可靠的,而Unix才得以有今天的成功。3Unix之得1、開源軟件2、跨平臺(tái)可移植性和開放標(biāo)準(zhǔn)3、Internet和萬維網(wǎng)4、開源社區(qū)5、徹頭徹尾的靈活性6、UnixHack之趣7、Unix的經(jīng)驗(yàn)到處可適用4Unix哲學(xué)基礎(chǔ)Unix哲學(xué)起源于KenThompson早期關(guān)于如何設(shè)計(jì)一個(gè)服務(wù)接口簡潔、小巧精干的操作系統(tǒng)的思考,隨著Unix文化在學(xué)習(xí)如何盡可能發(fā)掘Thompson設(shè)計(jì)思想的過程中不斷成長,同時(shí)一路上還從其它許多地方博采眾長。Unix哲學(xué)說來不算是一種正規(guī)設(shè)計(jì)方法。它并不打算從計(jì)算機(jī)科學(xué)的理論高度來產(chǎn)生理論上完美的軟件。Unix哲學(xué)(同其它工程領(lǐng)域的民間傳統(tǒng)一樣)是自下而上的,而不是自上而下的。Unix哲學(xué)注重實(shí)效,立足于豐富的經(jīng)驗(yàn)。DougMcIlroy如是說Unix管道的發(fā)明人、Unix傳統(tǒng)的奠基人之一DougMcIlroy曾經(jīng)說過:1、讓每個(gè)程序就做好一件事。如果有新任務(wù),就重新開始,不要往原程序中加入新功能而搞得復(fù)雜。2、假定每個(gè)程序的輸出都會(huì)成為另一個(gè)程序的輸入,哪怕那個(gè)程序還是未知的。輸出中不要有無關(guān)的信息。避免使用嚴(yán)格的分欄格式和二進(jìn)制格式輸入。不要堅(jiān)持使用交互式。3、盡可能早地將設(shè)計(jì)和編譯的軟件投入試用,哪怕是操作系統(tǒng)也不例外,理想情況下,應(yīng)該是在幾星期內(nèi)。對(duì)拙劣的代碼別猶豫,扔掉重寫。4、優(yōu)先使用工具而不是拙劣的幫助來減輕編程任務(wù)的負(fù)擔(dān)。工欲善其事,必先利其器。后來他這樣總結(jié)道:Unix哲學(xué)是這樣的:一個(gè)程序只做一件事,并做好。程序要能協(xié)作。程序要能處理文本流,因?yàn)檫@是最通用的接口。RobPike如是說RobPike,最偉大的C語言大師之一,在《NotesonCProgramming》中從另一個(gè)角度表述了Unix的哲學(xué):原則1:你無法斷定程序會(huì)在什么地方耗費(fèi)運(yùn)行時(shí)間。瓶頸經(jīng)常出現(xiàn)在想不到的地方,所以別急于胡亂找個(gè)地方改代碼,除非你已經(jīng)證實(shí)那兒就是瓶頸所在。原則2:估量。在你沒對(duì)代碼進(jìn)行估量,特別是沒找到最耗時(shí)的那部分之前,別去優(yōu)化速度。原則3:花哨的算法在n很小時(shí)通常很慢,而n通常很小?;ㄉ谒惴ǖ某?shù)復(fù)雜度很大。除非你確定n總是很大,否則不要用花哨算法(即使n很大,也優(yōu)先考慮原則2)。原則4:花哨的算法比簡單算法更容易出bug、更難實(shí)現(xiàn)。盡量使用簡單的算法配合簡單的數(shù)據(jù)結(jié)構(gòu)。原則5:數(shù)據(jù)壓倒一切。如果已經(jīng)選擇了正確的數(shù)據(jù)結(jié)構(gòu)并且把一切都組織得井井有條,正確的算法也就不言自明。編程的核心是數(shù)據(jù)結(jié)構(gòu),而不是算法。原則6:沒有原則6.拿不準(zhǔn)就窮舉KenThompson—Unix最初版本的設(shè)計(jì)者和實(shí)現(xiàn)者,對(duì)Pike的原則4作了強(qiáng)調(diào):拿不準(zhǔn)就窮舉。Unix哲學(xué)的概括1.模塊原則:使用簡潔的接口拼合簡單的部件。2.清晰原則:清晰勝于機(jī)巧。3.組合原則:設(shè)計(jì)時(shí)考慮拼接組合。4.分離原則:策略同機(jī)制分離,接口同引擎分離。5.簡潔原則:設(shè)計(jì)要簡潔,復(fù)雜度能低則低。6.吝嗇原則:除非確無它法,不要編寫龐大的程序。7.透明原則:設(shè)計(jì)要可見,以便審查和調(diào)試。8.健壯原則:健壯源于透明與簡潔。9.表示原則:把知識(shí)疊入數(shù)據(jù)以求邏輯質(zhì)樸而健壯。Unix哲學(xué)的概括(續(xù))10.通俗原則:接口設(shè)計(jì)避免標(biāo)新立異。11.緘默原則:如果一個(gè)程序沒什么好說的,就沉默。12.補(bǔ)救原則:出現(xiàn)異常時(shí)馬上退出并給出足夠信息。13.經(jīng)濟(jì)原則:寧花機(jī)器一分,不花程序員一秒。14.生成原則:避免手工hack,盡量編寫程序去生成程序。15.優(yōu)化原則:雕琢前先要有原型,跑之前先學(xué)會(huì)走。16.多樣原則:決不相信所謂“不二法門”的斷言。17.擴(kuò)展原則:設(shè)計(jì)著眼未來,未來總比預(yù)想來得快。Unix哲學(xué)之一言以蔽之所有的Unix哲學(xué)濃縮為一條鐵律,那就是各地編程大師們奉為圭臬的“KISS”原則:
K.I.S.S (——Keepitsimple,stupid!)或者
SimpleisBeautiful5應(yīng)用Unix哲學(xué)在Unix世界中,這些原則都直接來自于實(shí)踐。以下列舉的只是部分內(nèi)容:只要可行,一切都應(yīng)該做成與來源和目標(biāo)無關(guān)的過濾器。數(shù)據(jù)流應(yīng)盡可能文本化(便于使用標(biāo)準(zhǔn)工具來查看和過濾)。數(shù)據(jù)庫部署和應(yīng)用協(xié)議應(yīng)盡可能文本化(便于閱讀和編輯)。復(fù)雜的前端(用戶界面)和后端應(yīng)該涇渭分明。如果可能,用C編寫前,先用解釋性語言搭建原型。當(dāng)且僅當(dāng)只用一門語言編程會(huì)提高程序復(fù)雜度時(shí),混用語言編程才比單一語言編程來得好。寬收嚴(yán)發(fā)(對(duì)接收的東西要包容,對(duì)輸出的東西要嚴(yán)格)。過濾時(shí),不需要丟棄的信息決不丟。小就是美。在確保完成任務(wù)的基礎(chǔ)上,程序功能盡可能少。6反對(duì)學(xué)習(xí)Unix文化的理由Unix的耐用性及其技術(shù)文化對(duì)于喜愛Unix的人們、以及技術(shù)史家來說肯定頗為有趣。但是,Unix的本源用途—作為大中型計(jì)算機(jī)的通用分時(shí)系統(tǒng),由于受到個(gè)人機(jī)、工作站的圍剿,“正在退出舞臺(tái)”。因而Unix究竟能否在目前被Microsoft主宰的主流商務(wù)桌面市場上取得成功,人們自然也存在著一定的疑問。外行常常把Unix當(dāng)作是教學(xué)用的玩具或者是黑客的沙盒而不屑一顧。即使在Unix世界里,Unix的通用性也一直受到懷疑。在持懷疑態(tài)度的外行人眼中,Unix很有用,不會(huì)消亡,但只能是個(gè)小眾的操作系統(tǒng)。挫敗這些懷疑者的不是別的,正是Linux和其它開源Unix的崛起。Unix文化是如此的有生命力,即使十幾年的管理不善也絲毫未箝制它的勃勃生機(jī)?,F(xiàn)在Unix社區(qū)自身正快速而有效地解決著Unix的問題。7Unix之失對(duì)于一個(gè)始于1969年的設(shè)計(jì)來說,在Unix設(shè)計(jì)中居然很難找到硬傷,這著實(shí)令人稱奇。Unix的遺風(fēng):原本是為技術(shù)人員設(shè)計(jì)的操作系統(tǒng);最終用戶永遠(yuǎn)比操作系統(tǒng)設(shè)計(jì)人員更清楚他們究竟需要什么。Unix文件在字節(jié)層次以上再無結(jié)構(gòu)可言。文件刪除了就沒法恢復(fù)。Unix的安全模型公認(rèn)地太過原始。作業(yè)控制有欠精致。命名方式非?;靵y。多種shell及多種命令行參數(shù)Unix用戶可以在多種shell中進(jìn)行選擇。而Unix應(yīng)用程序通常會(huì)提供很多的行為選項(xiàng)和令人眼花繚亂的定制功能。非技術(shù)型的終端用戶常常會(huì)被Unix豐富的選項(xiàng)和接口風(fēng)格搞得暈頭轉(zhuǎn)向,于是轉(zhuǎn)而選擇那些偽稱能夠給他們提供簡潔性的操作系統(tǒng)。策略與機(jī)制如果只看眼前的話,Unix的這種自由放縱主義風(fēng)格會(huì)讓它失去很多非技術(shù)型用戶。但從長遠(yuǎn)考慮,最終你會(huì)發(fā)覺這個(gè)“錯(cuò)誤”換來至關(guān)重要的優(yōu)勢:策略相對(duì)短壽,而機(jī)制才會(huì)長存。只提供機(jī)制不提供方針的哲學(xué)能使Unix長久保鮮:而那些被束縛在一套方針或界面風(fēng)格內(nèi)的操作系統(tǒng),也許早就從人們的視線中消失了。貝爾實(shí)驗(yàn)室的DickHamming在1950年代使樹立了此信條:盡管計(jì)算機(jī)稀缺昂貴,但是開放式的計(jì)算模式,即客戶可以為系統(tǒng)寫出自己的應(yīng)用程序,這一點(diǎn)勢在必行,因?yàn)椤坝缅e(cuò)誤的方式解決正確的問題,總比用正確的方法解決錯(cuò)誤的問題好”。8態(tài)度也要緊要良好的運(yùn)用Unix哲學(xué),你就應(yīng)該不斷追求卓越。你必須相信,軟件設(shè)計(jì)是一門藝術(shù),值得你付出所有的智慧、創(chuàng)造力和激情。否則,你的視線就不會(huì)超越那些簡單、老套的設(shè)計(jì)和實(shí)現(xiàn)。要良好地運(yùn)用Unix哲學(xué),你應(yīng)該珍惜你的時(shí)間決不浪費(fèi)。一旦某人已經(jīng)解決了某個(gè)問題,就直接拿來利用。永遠(yuǎn)不要蠻干;要多用巧勁,省下力氣到需要的時(shí)候再用,好鋼用在刀刃上。軟件設(shè)計(jì)和實(shí)現(xiàn)應(yīng)該是一門充滿快樂的藝術(shù),一種高水平的游戲。如果只是為了賺錢或是打發(fā)時(shí)間,你為什么要搞軟件設(shè)計(jì)而不是別的什么呢?要良好地運(yùn)用Unix哲學(xué),你需要具備(或者找回)這種態(tài)度。你需要用心。你需要樂于探索。第二章Linux系統(tǒng)入門本章主要內(nèi)容:系統(tǒng)的開啟與關(guān)閉圖形和字符界面及其切換用戶登錄與注銷Linux系統(tǒng)的圖形界面介紹OpenO辦公套件Linux系統(tǒng)的在線幫助與資源2.1Linux系統(tǒng)的開機(jī)
2.1.1Linux系統(tǒng)的開機(jī)2.1.2Linux系統(tǒng)的兩種操作界面及切換2.1.1Linux系統(tǒng)的開機(jī)首先讀取硬盤的第一個(gè)Cylinder上的第一個(gè)Sector(即MBR),然后將它載入內(nèi)存并予以執(zhí)行,在它的控制下啟動(dòng)Grub。Grub(GrandUnifiedBootloader)是一個(gè)多重啟動(dòng)管理器,它可以引導(dǎo)很多PC上常用的操作系統(tǒng),其中就有Linux。在用戶選擇Linux后,進(jìn)入Linux系統(tǒng)真正引導(dǎo)過程,裝入系統(tǒng)內(nèi)核。內(nèi)核啟動(dòng)之后,啟動(dòng)名為init進(jìn)程,其進(jìn)程號(hào)為1,在此進(jìn)程的控制下系統(tǒng)繼續(xù)引導(dǎo)。啟動(dòng)完成后進(jìn)入用戶登錄界面。若系統(tǒng)安裝有自動(dòng)啟動(dòng)圖形界面,則系統(tǒng)啟動(dòng)完成后,停留在圖形登錄界面,否則停留在字符界面,等待用戶登錄。2.1.2Linux系統(tǒng)的兩種操作界面及切換Linux系統(tǒng)安裝過程中,為用戶準(zhǔn)備了1個(gè)圖形界面(X-Window)和6個(gè)字符界面。6個(gè)字符界面分別位于F1~F6上,而圖形界面位于F7上。不同Unix版本可能不同。從圖形界面向字符界面切換可以通過組合鍵Ctrl+Alt+Fn(n=1,2,…,6)。從字符界面向圖形界面切換可以通過組合鍵Ctrl+Alt+F7來實(shí)現(xiàn)。從字符界面切換到字符界面,可能通過Alt+Fn來實(shí)現(xiàn)。2.2Linux系統(tǒng)的登錄與注銷
登錄實(shí)際上是用戶向系統(tǒng)做自我介紹,又稱認(rèn)證。此時(shí)需要輸入系統(tǒng)已經(jīng)注冊(cè)過的用戶名和用戶密碼,如果用戶名或密碼不正確,將不允許進(jìn)入系統(tǒng)。用戶名也叫帳號(hào),密碼也稱為口令。
root用戶是系統(tǒng)的維護(hù)者和管理者,它具有至高無上的權(quán)力,可以做一切事情,因此在UNIX/Linux系統(tǒng)中root也叫作超級(jí)用戶或根用戶。root可以通過用戶管理命令創(chuàng)建新的用戶,并分配它適當(dāng)?shù)臋?quán)限。當(dāng)用戶使用完系統(tǒng)或暫離開操作位置時(shí),應(yīng)該即時(shí)注銷,需要時(shí)重新進(jìn)入,但是注銷不等于關(guān)機(jī)或關(guān)閉系統(tǒng)。系統(tǒng)注銷是安全的需要,可能防止別有用心的人見縫插針伏案,是制度需要。2.2.1Linux系統(tǒng)的登錄1.圖形界面登錄2.字符界面登錄2.2.2注銷1.圖形界面2.字符界面Ctrl+Dexitlogout
2.3Linux系統(tǒng)的關(guān)閉與重啟動(dòng)
UNIX/Linux采用了異步寫和延遲寫機(jī)制,大部分?jǐn)?shù)據(jù)操作都在緩沖區(qū)內(nèi)進(jìn)行,并沒有實(shí)時(shí)的寫入設(shè)備,如果強(qiáng)行關(guān)機(jī)會(huì)導(dǎo)致數(shù)據(jù)丟失,重者可引起系統(tǒng)癱瘓。在切斷計(jì)算機(jī)電源之前請(qǐng)首先關(guān)閉Linux系統(tǒng),決不能斷電了事。Linux系統(tǒng)關(guān)閉可以在字符或圖形界面下進(jìn)行。
2.3Linux系統(tǒng)的關(guān)閉與重啟動(dòng)2.3.1字符界面2.3.2圖形界面2.3.1字符界面1.halt命令2.reboot3.init/telinit4.shutdown1.halt命令功能:關(guān)機(jī)用法:halt[-n][-w][-d][-f][-i][-p]
參數(shù):-f:不調(diào)用shutdown而強(qiáng)制關(guān)機(jī)或重啟-p:關(guān)閉系統(tǒng)時(shí)關(guān)掉電源-i:關(guān)機(jī)(或重啟)前,關(guān)掉所有的網(wǎng)絡(luò)接口-n:用在fsck修補(bǔ)根分區(qū)之后,以阻止內(nèi)核用老版本的超級(jí)塊2.reboot命令功能:重啟系統(tǒng)用法:與halt同它參數(shù):與halt同說明:參數(shù)與halt也基本相同,由于需要重新啟動(dòng),故不能使用-p參數(shù)。3.init和telinit命令功能:系統(tǒng)初始化或運(yùn)行級(jí)切換用法:initrunleveltelinitrunlevel示例:init0#關(guān)機(jī)init6#重新啟動(dòng)
RedHatLinux9的運(yùn)行級(jí)
0:關(guān)閉系統(tǒng);1:單用戶模式;2:多用戶使用模式,但沒有NFS功能;3:完全多用戶模式;4:沒有使用(為用戶保留);5:完全多用戶模式,且支持X-Windows(默認(rèn)運(yùn)行級(jí));6:重新啟動(dòng)。
4.shutdown命令功能:系統(tǒng)關(guān)閉用法:shutdown[-krhfFc][-tsecs]time[warn_msg]示例:-tsec:發(fā)送通知信息時(shí)間間隔(單位為秒)-r:重啟計(jì)算機(jī) -h:關(guān)機(jī)后關(guān)閉電源-k:并不真正關(guān)機(jī),只是送警告信號(hào)給每位用戶-c:取消目前正在執(zhí)行的關(guān)機(jī)程序。此選項(xiàng)不需時(shí)間參數(shù),但是可以輸入一個(gè)信息,以送給每個(gè)用戶-f:在重啟系統(tǒng)時(shí)忽略fsck -F:在重啟系統(tǒng)時(shí)強(qiáng)迫fscktime:設(shè)定關(guān)機(jī)時(shí)間。絕對(duì)時(shí)間hh:mm,比如1:20相對(duì)時(shí)間(單位為分),比如+10表示10分鐘后,+0表示nowwarn_msg:通知信息??梢允褂靡?hào)將信息引起來shutdown示例shutdown-rnow
#立刻重新啟動(dòng)shutdown-hnow
#立刻關(guān)機(jī)shutdown-know”Hey!Let’sgonow.”
#發(fā)出警告訊息,但沒有真的關(guān)機(jī)shutdown-h10:42”10:42將關(guān)閉系統(tǒng),請(qǐng)屆時(shí)退出”
#10:42分關(guān)機(jī)shutdown-r+10’10分鐘后將重啟系統(tǒng),請(qǐng)屆時(shí)退出’
#10分鐘后重啟系統(tǒng)shutdown-c
#撤消已下達(dá)的shutdown命令。注:必須在其它終端才能使用此命令shutdownnow
#切換至單用戶模式(不加任何選項(xiàng)時(shí))
2.3.2圖形界面用戶可以通過“主菜單”→“注銷”→“注銷對(duì)話框”,選擇“關(guān)閉”或“重新啟動(dòng)”,然后點(diǎn)擊“確認(rèn)”按鈕來完成系統(tǒng)關(guān)閉或重新啟動(dòng)。
2.4Linux系統(tǒng)的圖形界面介紹
圖形界面(X-Window)就是在Linux操作系統(tǒng)中提供圖形化用戶界面(GUI),支持的視窗系統(tǒng)(WindowSystem),也被稱為X。
X-Window的工作方式跟MicrosoftWindows有著本質(zhì)的不同:MSWindows的圖形支持是內(nèi)核級(jí)的,而Linux的X-Window則是應(yīng)用程序級(jí)的。X-Window的一個(gè)主要的特性就是它采用了“客戶端-服務(wù)器”模式。其組成由X服務(wù)器(XServer,類似于一般C/S模式中的Server)、X客戶端(XClient,類似于一般C/S模式中的Client)和通訊通道(Comunicationchannel)三部分組成,Server和Client可位于同一臺(tái)主機(jī)上,也可獨(dú)立地位于同網(wǎng)絡(luò)上的不同主機(jī)上。
2.4.1桌面桌面環(huán)境就是包括窗口管理器、面板、桌面、以及一整套應(yīng)用程序和系統(tǒng)工具在內(nèi)的套件。
Linux環(huán)境下廣泛使用的桌面環(huán)境是GNOME和KDE。RedHatLinux使用的默認(rèn)桌面環(huán)境是GNOME。GNOME包括一個(gè)面板、桌面、一系列的桌面工具和應(yīng)用程序以及一系列的協(xié)議。
桌面組成1.GNOME的面板
2.GNOME的桌面
3.使用任務(wù)欄
4.使用通知區(qū)域5.在面板上添加圖標(biāo)或小程序6.配置桌面面板7.使用Nautilus8.從這里開始9.KDE桌面介紹2.4.2開始菜單用戶可以通過點(diǎn)擊GNOME/KDE上的“主菜單”按鈕來打開主菜單。通過該菜單允許用戶使用系統(tǒng)的應(yīng)用程序。除了當(dāng)前菜單推薦的應(yīng)用程序以外,還可以通過級(jí)聯(lián)菜單啟動(dòng)每個(gè)子菜單中的程序。從“主菜單”中,用戶還可以“注銷”、“行運(yùn)程序”、“查找文件”、“鎖住屏幕”(這會(huì)運(yùn)行用口令保護(hù)的屏幕保護(hù)程序),也可以獲得幫助。2.4.3終端仿真器可以通過“主菜單”→“系統(tǒng)工具”→“終端”來打開一個(gè)新的終端仿真器;也可以通過右擊桌面選擇“桌面菜單”的“新建終端”來打開一個(gè)新的終端仿真器。
2.5OpenO辦公套件
OpenO套件包含幾個(gè)用來創(chuàng)建和編輯文檔的應(yīng)用程序、電子表格、商業(yè)演示文稿和藝術(shù)作品。
應(yīng)用程序文件兼容性文檔類型OpenOWriter.sxw,.sdw,.doc,.rtf,.txt,.htm/.html正式公函、商業(yè)表格、學(xué)術(shù)論文、簡歷、新聞簡報(bào)、報(bào)告OpenOCalc.sxc,.dbf,.xls,.sdc,.slk,.csv,.htm/.html電子表格、圖表、表格、人事通訊錄、地址簿、收據(jù)和帳單、預(yù)算、簡單數(shù)據(jù)庫OpenOImpress.sxi,.ppt,.sxd,.sdd商業(yè)和學(xué)術(shù)演示文稿、萬維網(wǎng)演示、演講、幻燈片放映OpenODraw.sxd,.sda;文件可以被導(dǎo)出到好幾種圖像格式,包括:.jpg,.bmp,.gif,和
.png圖示、線條繪圖、剪貼圖片、機(jī)構(gòu)圖表2.6Linux系統(tǒng)的在線幫助與資源
man是傳統(tǒng)UNIX系統(tǒng)的在線手冊(cè)頁,通過它用戶可以獲得在線幫助。textinfoyelpLinux系統(tǒng)的其它幫助和資源
2.6.1man功能:man是傳統(tǒng)UNIX系統(tǒng)的在線
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基因組編輯技術(shù)順序
- 二零二五工程項(xiàng)目人工費(fèi)承包合同
- XX光纜施工安全協(xié)議書
- 街道職業(yè)健康管理制度
- 食堂指紋打卡管理制度
- 行吊使用安全管理制度
- 配餐公司企業(yè)管理制度
- 調(diào)試人員工作管理制度
- 離岸公司閉環(huán)管理制度
- 韭菜日常養(yǎng)護(hù)管理制度
- DB45-T 2228.1-2020公路養(yǎng)護(hù)預(yù)算編制辦法及定額 第1部分:公路養(yǎng)護(hù)工程預(yù)算編制辦法及定額-(高清可復(fù)制)
- 艾滋病感染HIV篩查檢測報(bào)告表
- 六年級(jí)下冊(cè)道德與法治第5課應(yīng)對(duì)自然災(zāi)害課件
- 黑龍江省第三次國土調(diào)查實(shí)施方案
- 中考語文復(fù)習(xí)指導(dǎo)PPT資料30頁課件
- 案例收球器盲板傷人事故
- 第3章-中子擴(kuò)散理論2014
- 銀行存款余額調(diào)節(jié)表正式版
- 2×100+2×200MW供熱式火力發(fā)電廠
- 模具驗(yàn)收檢查表(出口模具)
- bim畢業(yè)設(shè)計(jì)--精選文檔
評(píng)論
0/150
提交評(píng)論