




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
嵌入式操作系統(tǒng)課程介紹:課程性質(zhì):選修課學(xué)分:1學(xué)分理論課時:32前導(dǎo)課程:操作系統(tǒng)原理、C程序設(shè)計(jì)、匯編、單片機(jī)成績評定:期末考試成績x50%+平時成績x50%
若期末考試成績不到60,期末總分為期末考試成績。教材及參考書介紹:嵌入式linux操作系統(tǒng)原理與應(yīng)用北京航空航天大學(xué)出版社出版主編:文全剛參考書:《嵌入式LINUX應(yīng)用開發(fā)完全手冊》韋東山《LINUXC編程從入門到精通》張繁《ARM嵌入式Linux開發(fā)詳解》教學(xué)內(nèi)容:教材的前四章嵌入式操作系統(tǒng)概述1.1嵌入式系統(tǒng)概述1.2嵌入式操作系統(tǒng)1.3嵌入式linux基礎(chǔ)1.4Linux目錄結(jié)構(gòu)及文件1.5Linux常用操作命令1.6Linux下shell編程1.7Linux啟動過程分析1.1嵌入式系統(tǒng)1.1.1嵌入式系統(tǒng)基本概念1.1.2嵌入式系統(tǒng)的應(yīng)用領(lǐng)域1.1.3嵌入式系統(tǒng)組成1.1.4嵌入式系統(tǒng)的特點(diǎn)1.1.5嵌入式系統(tǒng)的發(fā)展趨勢嵌入式系統(tǒng)1、利用命令窗口(不得使用文本編輯工具)建立一個命名為hello-everyone的可以顯示“helloeveryone!”的shell腳本,并壓縮成命名為ubuntu壓縮文件。1.答:echo-e'#!/bin/sh\necho"helloeveryone!"'>hello-everyone.sh&tar-zcvfubuntu.tar.gzhello-everyone.sh1.1.1嵌入式系統(tǒng)基本概念I(lǐng)EEE定義:嵌入式系統(tǒng)是“控制、監(jiān)視或者輔助操作機(jī)器和設(shè)備的裝置”(原文為devicesusedtocontrol,monitor,orassisttheoperationofequipment,machineryorplants)。這主要是從應(yīng)用上加以定義的,從中可以看出嵌入式系統(tǒng)是軟件和硬件的綜合體,還可以涵蓋機(jī)械等附屬裝置。國內(nèi)普遍被認(rèn)同的定義:以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。1.1.2嵌入式系統(tǒng)的應(yīng)用領(lǐng)域1.工業(yè)控制2.交通管理3.信息家電4.家庭智能管理系統(tǒng)5.POS網(wǎng)絡(luò)及電子商務(wù)6.環(huán)境工程與自然7.機(jī)器人1.1.2嵌入式系統(tǒng)的應(yīng)用領(lǐng)域嵌入式技術(shù)在電子通訊中的應(yīng)用手機(jī)、小靈通、智能手機(jī)、3C合一……1.1.2嵌入式系統(tǒng)的應(yīng)用領(lǐng)域信息家電——數(shù)字機(jī)頂盒1.1.2嵌入式系統(tǒng)的應(yīng)用領(lǐng)域信息家電的應(yīng)用1.1.2嵌入式系統(tǒng)的應(yīng)用領(lǐng)域信息家電——消費(fèi)電子1.1.2嵌入式系統(tǒng)的應(yīng)用領(lǐng)域SAN公司的信息家電產(chǎn)品1.1.2嵌入式系統(tǒng)的應(yīng)用領(lǐng)域嵌入式技術(shù)在汽車電子中的應(yīng)用VOLVOS80汽車的CAN總線網(wǎng)絡(luò)—(18個嵌入式控制模塊)—CAN總線網(wǎng)絡(luò)1.1.2嵌入式系統(tǒng)的應(yīng)用領(lǐng)域18嵌入式系統(tǒng)與機(jī)器人技術(shù)圖:卡耐基梅隆大學(xué)和瑞士EPFL研制的機(jī)器人控制器(采用卡西歐PDA和WindowsCE)
1.1.2嵌入式系統(tǒng)的應(yīng)用領(lǐng)域智能機(jī)器人1.1.3嵌入式系統(tǒng)組成1.1.4嵌入式系統(tǒng)的特點(diǎn)1.嵌入性,特定的環(huán)境2.專用性,針對性3.實(shí)時性,響應(yīng)速度快4.可靠性,穩(wěn)定性5.可裁剪性,6.功耗低1.1.5嵌入式系統(tǒng)的發(fā)展趨勢1.由8位處理向32位過渡2.由單核向多核過渡3.MCU、FPGA、ARM、DSP等齊頭并進(jìn)4.向網(wǎng)絡(luò)化功能發(fā)展5.嵌入式操作系統(tǒng)呈多元化趨勢1.2嵌入式操作系統(tǒng)1.2.1操作系統(tǒng)的基本功能1.2.2嵌入式操作系統(tǒng)1.2.3嵌入式操作系統(tǒng)體系結(jié)構(gòu)1.2.4嵌入式操作系統(tǒng)的選擇1.2.5幾種代表性嵌入式操作系統(tǒng)比較1.2.1操作系統(tǒng)的基本功能1.處理器的控制與管理2.存儲器的分配與管理3.外部設(shè)備的控制與管理4.文件的控制和管理5.作業(yè)的控制和管理1.2.1操作系統(tǒng)的基本功能1.處理器的控制與管理CPU速度比內(nèi)存和外部設(shè)備都快得多,但只有一個CPU。一個時段內(nèi)要處理多項(xiàng)任務(wù),該如何分配,才能提高效率?1.2.1操作系統(tǒng)的基本功能2.存儲器的分配與管理內(nèi)存空間畢竟有限,但是操作系統(tǒng)、編譯系統(tǒng)、用戶程序和數(shù)據(jù)等軟件資源何時調(diào)入內(nèi)存,如何調(diào)入?調(diào)入內(nèi)存什么位置?需要協(xié)調(diào)。1.2.1操作系統(tǒng)的基本功能3.外部設(shè)備的控制與管理外部設(shè)備和CPU之間,外部設(shè)備和內(nèi)存之間的控制信息和數(shù)據(jù)信息如何傳輸、調(diào)度和管理。1.2.1操作系統(tǒng)的基本功能3.文件的控制和管理操作系統(tǒng)進(jìn)行存儲文件、組織文件和打印文件等的控制1.2.1操作系統(tǒng)的基本功能3.作業(yè)的控制和管理作業(yè)包括程序、數(shù)據(jù)及解題的控制步驟。如計(jì)算問題、打印文件、播放音樂等。操作系統(tǒng)按作業(yè)說明書的要求或收到的命令控制用戶作業(yè)的執(zhí)行不同角度看到的操作系統(tǒng)不同角度看到的操作系統(tǒng)操作系統(tǒng)整體看操作系統(tǒng)設(shè)計(jì)者使用者普通開發(fā)者從使用者的角度看操作系統(tǒng)打開計(jì)算機(jī),首先跳入眼簾的是什么?要拷貝一個文件,具體的拷貝操作是誰完成的?需要知道文件存放在何處,在硬盤的那個柱面、磁道、扇區(qū)。數(shù)據(jù)的搬動過程怎樣進(jìn)行復(fù)雜的I/O操作。繁瑣留給自己,簡單留給用戶操作系統(tǒng)穿上華麗的外衣-圖形界面操作系統(tǒng)穿上樸素的外衣-字符界面從程序開發(fā)者的角度看操作系統(tǒng)拷貝命令的C語言實(shí)現(xiàn)片斷inf=open(“/mnt/usbdisk/test”,O_RDONLY,0);outf=open(“/mydir/test”,O_WRONLY,0600);do{read_size=read(inf,buf,4096);write(outf,buf,l);}while(read_size);close(outf);close(inf);從操作系統(tǒng)設(shè)計(jì)者的角度看操作系統(tǒng)操作系統(tǒng)的設(shè)計(jì)目標(biāo)是什么?讓各種軟件資源和硬件資源高效而協(xié)調(diào)地運(yùn)轉(zhuǎn)起來。盡可能地方便用戶使用計(jì)算機(jī)。假設(shè)在一臺計(jì)算機(jī)上有三道程序同時運(yùn)行,并試圖在一臺打印機(jī)上輸出運(yùn)算結(jié)果,必須考慮哪些問題?1.2.2嵌入式操作系統(tǒng)1.嵌入式操作系統(tǒng)的發(fā)展2.嵌入式操作系統(tǒng)特點(diǎn)1.嵌入式操作系統(tǒng)的發(fā)展第一階段:無操作系統(tǒng)的嵌入算法階段第二階段:以嵌人式CPU為基礎(chǔ)、簡單操作系統(tǒng)為核心的嵌入式系統(tǒng)。第三階段:通用的嵌人式實(shí)時操作系統(tǒng)階段,以嵌入式操作系統(tǒng)為核心的嵌入式系統(tǒng)。第四階段:以基于Internet為標(biāo)志的嵌入式系統(tǒng)。2.嵌入式操作系統(tǒng)特點(diǎn)可定制性:用戶可以根據(jù)需要來添加或裁剪操作系統(tǒng)的內(nèi)核。可移植性:可以支持在不同的處理器上運(yùn)行。實(shí)時性:嵌入式系統(tǒng)環(huán)境往往要求實(shí)時應(yīng)用,所以要求嵌入式操作系統(tǒng)提供實(shí)時支持。資源限制:出于成本、體積、能源等要求,嵌入式系統(tǒng)的資源相對通用操作系統(tǒng)來說非常有限,因此嵌入式操作系統(tǒng)的內(nèi)核往往會很小??煽啃裕河龅疆惓G闆r時系統(tǒng)能穩(wěn)定可靠地工作。應(yīng)用編程接口:為應(yīng)用程序的開發(fā)提供系統(tǒng)調(diào)用(應(yīng)用編程接口API)功能。1.2.3嵌入式操作系統(tǒng)體系結(jié)構(gòu)1.宏內(nèi)核結(jié)構(gòu)2.分層結(jié)構(gòu)3.微內(nèi)核結(jié)構(gòu)1.宏內(nèi)核結(jié)構(gòu)優(yōu)點(diǎn)是:模塊之間直接調(diào)用函數(shù),除了函數(shù)調(diào)用的開銷外,沒有額外開銷。代碼執(zhí)行效率高。缺點(diǎn)是:系統(tǒng)維護(hù)的困難,可移植性和擴(kuò)展性非常差。如基于單片機(jī)的應(yīng)用開發(fā)
2.分層結(jié)構(gòu)優(yōu)點(diǎn):有利于將復(fù)雜的功能簡化,“分而治之”,便于設(shè)計(jì)實(shí)現(xiàn)。每層的接口都是抽象的,支持標(biāo)準(zhǔn)化,因此很容易支持軟件的重用。可移植性、可替換性好。開發(fā)和維護(hù)簡單,當(dāng)我們要替換系統(tǒng)中的某一層時,只要接口不變,不會影響到其它層。缺點(diǎn):系統(tǒng)效率低,由于每個層次都要提供一組API接口函數(shù),從而影響系統(tǒng)的性能。底層修改時會產(chǎn)生連鎖反應(yīng)。3.微內(nèi)核結(jié)構(gòu)基本思想是:把操作系統(tǒng)的大部分功能剝離出去,只保留最核心的功能單元,微內(nèi)核中只提供幾種基本服務(wù):任務(wù)調(diào)度、任務(wù)間通信、底層的網(wǎng)絡(luò)通信和中斷處理接口、以及實(shí)時時鐘等。因此整個內(nèi)核非常?。赡苤挥袛?shù)十K),內(nèi)核任務(wù)在獨(dú)立的地址空間運(yùn)行,速度極快?;緝?nèi)核:嵌入式RTOS中最核心,最基礎(chǔ)的部分。在微內(nèi)核結(jié)構(gòu)中,必須擁有任務(wù)管理(進(jìn)程/線程)、中斷管理(包括時鐘中斷)、基本的通信管理和存儲管理。擴(kuò)展內(nèi)核:在微內(nèi)核的基礎(chǔ)上新的功能組件可以動態(tài)地添加進(jìn)來,提供GUI、TCP/IP、Browser、PowerManager、FileManager等應(yīng)用編程接口。設(shè)備驅(qū)動接口:應(yīng)用編程接口:微內(nèi)核的優(yōu)點(diǎn):內(nèi)核小,擴(kuò)展性好。安全性高:客戶單元和服務(wù)單元的內(nèi)存地址空間是相互獨(dú)立的,因此系統(tǒng)的安全性更高。各個服務(wù)器模塊的相對獨(dú)立性,便于移植和維護(hù)。微內(nèi)核的缺點(diǎn)是:內(nèi)核與各個服務(wù)器之間通過通信機(jī)制進(jìn)行交互,這使得微內(nèi)核結(jié)構(gòu)的效率大大折扣。由于它們的內(nèi)存地址空間是相互獨(dú)立的,所以切換時,也會增加額外的開銷。微內(nèi)核實(shí)例--Linux1.2.4嵌入式操作系統(tǒng)的選擇1.市場進(jìn)入時間2.可移植性3.可利用資源4.系統(tǒng)定制能力5.成本6.中文內(nèi)核支持1.2.5幾種代表性嵌入式操作系統(tǒng)比較1.VxWorks2.WindowsCE3.嵌入式Linux4.μC/OS一Ⅱ1.2.5幾種代表性嵌入式操作系統(tǒng)比較1.VxWorksVxWorks操作系統(tǒng)是美國WindRiver公司于1983年設(shè)計(jì)開發(fā)的一種嵌入式實(shí)時操作系統(tǒng)(RTOS),具有良好的持續(xù)發(fā)展能力、高性能的內(nèi)核以及友好的用戶開發(fā)環(huán)境,在嵌入式實(shí)時操作系統(tǒng)領(lǐng)域牢牢占據(jù)著一席之地。VxWorks所具有的顯著特點(diǎn)是: -可靠性、實(shí)時性和可裁減性。 -它支持多種處理器,如x86、i960、SunSparc、MotorolaMC68xxx、MIPS、POWERPC等等。大多數(shù)的VxWorksAPI是專有的,火星機(jī)器人。1.2.5幾種代表性嵌入式操作系統(tǒng)比較2.WindowsCEWindowsCE3.0:一種針對小容量、移動式、智能化、32位、連接設(shè)備的模塊化實(shí)時嵌入式操作系統(tǒng)。針對掌上設(shè)備、無線設(shè)備的動態(tài)應(yīng)用程序和服務(wù)提供了一種功能豐富的操作系統(tǒng)平臺,WindowsCE嵌入但不夠?qū)崟r,屬于軟實(shí)時操作系統(tǒng),由于其Windows背景,界面比較統(tǒng)一認(rèn)可。操作系統(tǒng)的基本內(nèi)核需要至少200K的ROM。1.2.5幾種代表性嵌入式操作系統(tǒng)比較3.嵌入式Linux嵌入式系統(tǒng)越來越追求數(shù)字化、網(wǎng)絡(luò)化和智能化。因此原來在某些設(shè)備或領(lǐng)域中占主導(dǎo)地位的軟件系統(tǒng)越來越難以為繼,整個系統(tǒng)必須是開放的、提供標(biāo)準(zhǔn)的API,并且能夠方便地與眾多第三方的軟硬件溝通。Linux是開放源碼的,不存在黑箱技術(shù),遍布全球的眾多Linux愛好者又是Linux開發(fā)的強(qiáng)大技術(shù)后盾。Linux的內(nèi)核小、功能強(qiáng)大、運(yùn)行穩(wěn)定、系統(tǒng)健壯、效率高,易于定制剪裁,在價格上極具競爭力。Linux不僅支持x86CPU,還可以支持其他數(shù)十種CPU芯片。1.2.5幾種代表性嵌入式操作系統(tǒng)比較3.嵌入式Linux嵌入式linux的缺點(diǎn):需要添加實(shí)時軟件模塊。這些模塊運(yùn)行的內(nèi)核空間正是操作系統(tǒng)調(diào)度策略、硬件中斷異常和執(zhí)行程序的部分。這些軟件模塊的錯誤會威脅整個系統(tǒng)的穩(wěn)定性。1.2.5幾種代表性嵌入式操作系統(tǒng)比較4.μC/OS一Ⅱ源代碼公開可移植可裁剪搶先式,誰運(yùn)行就緒誰就有最高優(yōu)先級;多任務(wù),可管理64個任務(wù)可確定性,實(shí)用性和可靠性但僅是一個實(shí)時內(nèi)核,不提供API函數(shù)接口,需開發(fā)者完成。作業(yè)1.什么是嵌入式系統(tǒng)?
2.嵌入式系統(tǒng)有什么特點(diǎn)?
3.操作系統(tǒng)的基本功能是什么?4.嵌入式操作系統(tǒng)有什么特點(diǎn)?5嵌入式操作系統(tǒng)有幾種體系結(jié)構(gòu)?嵌入式Linux系統(tǒng)屬于哪一種體系結(jié)構(gòu)?6有幾種具有代表性的嵌入式操作系統(tǒng)?1.3嵌入式linux基礎(chǔ)1.3.1linux簡介1.3.2嵌入式linux1.3.3linux的安裝基礎(chǔ)1.3.4基于虛擬機(jī)的linux的安裝1.3.5linux虛擬機(jī)的設(shè)置1.3.1linux簡介1.Linux的簡短歷史2.Linux介紹
3.Linux版本4.Linux功能特點(diǎn)這部分在<Linux操作系統(tǒng)>課程中講過,這部分內(nèi)容在本課程從略介紹。1.Linux的簡短歷史(一)
什么是Linux
當(dāng)設(shè)計(jì)的嵌入式系統(tǒng)要完成較復(fù)雜功能后,簡單控制邏輯就不夠用了,這時就需要應(yīng)用嵌入式操作系統(tǒng)了。隨著嵌入式系統(tǒng)的發(fā)展,從八十年代末開始相繼出現(xiàn)了一些嵌入式操作系統(tǒng)。如:Vxwork、pSOS、Neculeus和WindowsCE。1.Linux的簡短歷史
簡單地說,Linux是一套免費(fèi)使用和自由傳播的類Unix操作系統(tǒng)。這個系統(tǒng)是由世界各地的成千上萬的程序員設(shè)計(jì)和實(shí)現(xiàn)的。目的是建立不受任何商品化軟件的版權(quán)制約的、全世界都能自由使用的Unix兼容產(chǎn)品。嵌入式Linux是對Linux經(jīng)過小型化裁剪,能夠固化在容量相對較?。〝?shù)百K到數(shù)百M(fèi))的存儲器芯片中,應(yīng)用于特定的嵌入式場合Linux。1.Linux的簡短歷史Linux是一個網(wǎng)絡(luò)操作系統(tǒng)(NetworkOperatingSystem,NOS)。所謂網(wǎng)絡(luò)操作系統(tǒng)則在一般操作系統(tǒng)的功能上增加了網(wǎng)絡(luò)功能,具體包括:1)實(shí)現(xiàn)網(wǎng)絡(luò)中各計(jì)算機(jī)之間的通信和資源共享;2)提供多種網(wǎng)絡(luò)服務(wù)軟件;3)提供網(wǎng)絡(luò)用戶的應(yīng)用程序接口。1.Linux的簡短歷史Linux最早是LinusTorvalds(李納斯·托沃茲)于1991年在芬蘭赫爾辛基大學(xué)原創(chuàng)開發(fā)的,并在GNU(GNU‘sNotUnix)的GPL(GeneralPublicLicense,通用公共許可協(xié)議)原則下發(fā)行。
Linux繼承了Unix,他們相似和相同的東西好多,所以Linux還是類Unix的操作系統(tǒng)。有一種說法是Linux是Unix的一個變種版本。1.Linux的簡短歷史2.Linux介紹由于其低廉的成本和高度的可定制性,Linux被廣泛應(yīng)用于嵌入式系統(tǒng)。例如機(jī)頂盒、移動電話及行動裝置等。在移動電話上,Linux已經(jīng)成為與SymbianOS(塞班操作系統(tǒng))、WindowsMobile系統(tǒng)并列的三大智能手機(jī)操作系統(tǒng)之一;在移動裝置上,則成為WindowsCE之外另一個選擇。有不少硬件式的網(wǎng)絡(luò)防火墻及路由器,其內(nèi)部都是使用Linux,并采用了操作系統(tǒng)提供的防火墻及路由功能。
2.Linux介紹a、Linux內(nèi)核開發(fā)
1)PDA個人掌上電腦;
2)專用的網(wǎng)絡(luò)設(shè)備;防火墻設(shè)備,VPN(虛擬專用網(wǎng)絡(luò))設(shè)備等是用Linux編寫的,國產(chǎn)的,現(xiàn)在銷售的十分不錯;
3)硬件驅(qū)動程序。
在Linux應(yīng)用上,Linux確實(shí)跟它的競爭對手Windows相比還有一定的差距。不過在高端的應(yīng)用上,Linux的市場是越來越大,如:2.Linux介紹b、Linux網(wǎng)絡(luò)編程
1)php(服務(wù)端編程語言)編程,建立動態(tài)站點(diǎn);
2)jsp(Java服務(wù)端網(wǎng)頁)編程;
3)perl(實(shí)用報(bào)表提取言語),cgi(公共網(wǎng)關(guān)接口)編程。c、Linux系統(tǒng)下數(shù)據(jù)庫的開發(fā)
1)mysql中小型數(shù)據(jù)庫系統(tǒng);
2)oracle數(shù)據(jù)庫;
3)DB2數(shù)據(jù)庫,IBM數(shù)據(jù)庫系統(tǒng)。3.Linux版本:發(fā)行版本Linux內(nèi)核的命名機(jī)制:
num.num.num.nnn其中:
第一個數(shù)字是主版本號第二個數(shù)字是次版本號第三個數(shù)字是修訂版本號第四個數(shù)字是升級版本號如果次版本號是偶數(shù),那么該內(nèi)核就是穩(wěn)定版的;若是奇數(shù),則是開發(fā)版的。頭兩個數(shù)字合在一齊可以描述內(nèi)核系列。如穩(wěn)定版的2.6.0,它是2.6版內(nèi)核系列。3.Linux版本:內(nèi)核版本Linux內(nèi)核的版本號格式是:x.y.zz-www,Linux內(nèi)核的版本號分為主版本號、次版本號和擴(kuò)展版本號等。根據(jù)穩(wěn)定版本、測試版本和開發(fā)版本定義不同版本序列。穩(wěn)定版本的主版本號用偶數(shù)表示,例如:2.2、2.4、2.6。每隔2~3年啟動一個Linux穩(wěn)定主版本號。緊接著是次版本號,例如:2.6.13、2.6.14、2.6.15。次版本號不分奇偶數(shù),順序遞增。每隔1~2個月發(fā)布一個穩(wěn)定版本。然后是升級版本號,例如:、、。我們可以從Linux官方網(wǎng)站上:/下載最新的內(nèi)核代碼。3.Linux版本:發(fā)行版本一個典型的Linux發(fā)行版包括:
1)Linux內(nèi)核
2)一些GNU程序庫和工具
3)命令行shell4)圖形界面的XWindow系統(tǒng)
5)相應(yīng)的桌面環(huán)境,如KDE或GNOME6)并包含數(shù)千種從辦公套件,編譯器,文本編輯器到科學(xué)工具的應(yīng)用軟件。
3.Linux版本:發(fā)行版本確切地說,應(yīng)該叫做“以Linux為核心的操作系統(tǒng)軟件包”目前最流行的幾個正式版本有:SUSE、RedHat、Fedora、Ubuntu。SUSE是德國最著名的Linux發(fā)行版,在全世界范圍也享有較高的聲譽(yù)。SUSE于2003年年末被Novell收購。SUSE之后的發(fā)布顯得比較混亂,比如9.0版本是收費(fèi)的,而10.0版本(也許由于各種壓力)又免費(fèi)發(fā)布。這使得一部分用戶感到困惑,也轉(zhuǎn)而使用其它發(fā)行版本。RedHatlinux是國內(nèi),乃至是全世界的Linux用戶所最熟悉、最耳聞能詳?shù)陌l(fā)行版。RedHat最早由BobYoung和MarcEwing在1995年創(chuàng)建。目前RedHat分為兩個系列:由RedHat公司提供收費(fèi)技術(shù)支持和更新的RedHatEnterpriseLinux,以及由社區(qū)開發(fā)的免費(fèi)的FedoraCore。FC提供了最新的軟件包,同時,它的版本更新周期也非常短,僅六個月。目前最新版本為FC11。Ubuntu該詞來自于祖魯語和科薩語。Ubuntu(發(fā)音"oo-BOON-too"--“烏班圖”)被視為非洲人的傳統(tǒng)理念,Ubuntu精神的大意是“人道待人”(對他人仁慈)。另一種翻譯可以是:“天下共享的信念,連接起每個人”。作為一個基于GNU/Linux的平臺,Ubuntu操作系統(tǒng)將ubuntu精神帶到了軟件世界。3.Linux功能特點(diǎn)(1)開放性(2)多用戶、多任務(wù)(3)設(shè)備獨(dú)立性(4)強(qiáng)大的網(wǎng)絡(luò)功能(5)安全性(6)可移植性3.Linux功能特點(diǎn)Linux更具體的特點(diǎn)如下:
1)自由軟件,開放源代碼;
2)真正的多用戶、多任務(wù)操作系
3)可靈活裁剪配置;
4)支持多種硬件平臺;
5)提供強(qiáng)大的管理功能
6)完全符合POSIX標(biāo)準(zhǔn)
7)具有豐富的圖形用戶界面
8)具有強(qiáng)大的網(wǎng)絡(luò)功能POSIX
表示可移植操作系統(tǒng)接口(PortableOperatingSystemInterface,縮寫為
POSIX
3.Linux功能特點(diǎn)GNU與POSIX標(biāo)準(zhǔn)
Linux的發(fā)展離不開GNU(GNU在英文中原意為非洲牛羚,這里是GNUisNotUnix的遞歸縮寫),GNU計(jì)劃又稱革奴計(jì)劃,是由RichardStallman在1983年9月27日公開發(fā)起的,它的目標(biāo)是創(chuàng)建一套完全自由的操作系統(tǒng)。1991年10月5日LinusTorvalds(林納斯·托瓦茲)宣布Linux操作系統(tǒng)誕生。(初衷學(xué)習(xí)minimalUnix)1994年3月14日發(fā)布第一個正式版Linux1.0版。
3.Linux功能特點(diǎn)
GNU計(jì)劃開發(fā)出了許多高質(zhì)量的免費(fèi)軟件,如:GCC、GDB、BashShell等,這些軟件為Linux的開發(fā)創(chuàng)造了基本的環(huán)境,是Linux發(fā)展的重要基礎(chǔ),因此,嚴(yán)格來講,Linux應(yīng)該被稱為GNU/Linux。
為保證GNU軟件可以自由地“使用、復(fù)制、修改和發(fā)布”,所有GNU軟件都在一份在禁止其他人添加任何限制的情況下授權(quán)所有權(quán)利給任何人的協(xié)議條款,GNU通用公共許可證(GNUGeneralPublicLicense,GPL)。。這個就是被稱為“反版權(quán)”(或稱Copyleft)的概念
3.Linux功能特點(diǎn)
GNU包含3個協(xié)議條款,它們是:
GPL:GNU通用公共許可證(GNUGeneralPublicLicense)
LGPL:GNU較寬松公共許可證(GNULesserGeneralPublicLicense),舊稱GNULibraryGeneralPublicLicense(GNU庫通用公共許可證);
GFDL:GNU自由文檔許可證(GNUFreeDocumentationLicense)的縮寫形式。3.Linux功能特點(diǎn)POSIX表示可移植操作系統(tǒng)接口(PortableOperatingSystemInterface,POSIX)。電氣和電子工程師協(xié)會(InstituteofElectricalandElectronicsEngineers,IEEE)最初開發(fā)POSIX標(biāo)準(zhǔn),是為了提高UNIX環(huán)境下應(yīng)用程序的可移植性。3.Linux功能特點(diǎn)POSIX標(biāo)準(zhǔn)意在期望獲得源代碼級別的軟件可移植性。換句話說,為一個POSIX兼容的操作系統(tǒng)編寫的程序,應(yīng)該可以在任何其它的POSIX操作系統(tǒng)(即使是來自另一個廠商)上編譯執(zhí)行。
POSIX并不局限于UNIX。許多其它的操作系統(tǒng),例如DECOpenVMS支持POSIX標(biāo)準(zhǔn),尤其是IEEEStd.1003.1-1990(1995年修訂)或POSIX.1,POSIX.1提供了源代碼級別的C語言應(yīng)用編程接口(API)給操作系統(tǒng)的服務(wù)程序,例如讀寫文件。。1.3.2嵌入式linux1.linux作為嵌入式操作系統(tǒng)的優(yōu)勢2.如何學(xué)習(xí)嵌入式linux1.linux優(yōu)勢(1)低成本開發(fā)系統(tǒng)(2)可應(yīng)用于多種硬件平臺(3)可定制的內(nèi)核(4)性能優(yōu)異(5)良好的網(wǎng)絡(luò)支持2.如何學(xué)習(xí)嵌入式linux以需求為導(dǎo)向:需要最多的是應(yīng)用程序開發(fā)人才,越往下,需求越少,而且學(xué)習(xí)門檻越高。應(yīng)用層:GUI嵌入式Linux可選圖形界面很多,在網(wǎng)上找找,可以發(fā)現(xiàn)遠(yuǎn)非我們常說的QT、MiniGUI。還包括Tiny-X、Matchbox、OPIE、GPE等等。QT是一個不錯的選擇,由于QT有一個PC上的模擬器,可以在沒有實(shí)際液晶LCD的情況下,甚至在沒有任何硬件的情況下都可以在PC上進(jìn)行模擬開發(fā)。QT是收費(fèi)的,當(dāng)然,有免費(fèi)版可用。MiniGUI是國產(chǎn)的,支持國貨,可以考慮選擇MiniGUI。MiniGUI可以用于工業(yè)控制場合,QT在這方面的應(yīng)用目前用在手持設(shè)備中。GUI(GraphicalUserInterface)圖形用戶界面1.3.3linux的安裝基礎(chǔ)1.文件系統(tǒng)、分區(qū)和掛載2.主分區(qū)、擴(kuò)展分區(qū)和邏輯分區(qū)3.Linux的安裝1.文件系統(tǒng)、分區(qū)和掛載文件系統(tǒng)是指系統(tǒng)中與管理文件有關(guān)的軟件和數(shù)據(jù)。Linux文件系統(tǒng)和Windows文件系統(tǒng)是有很大區(qū)別。1.文件系統(tǒng)、分區(qū)和掛載在Linux中把每一個分區(qū)和某一個目錄對應(yīng),以后在對這個目錄的操作就是對這個分區(qū)的操作,這樣就實(shí)現(xiàn)了硬件管理手段和軟件目錄管理手段的統(tǒng)一。這個把分區(qū)和目錄對應(yīng)的過程叫做掛載(Mount),而這個掛載在文件樹中的位置就是掛載點(diǎn)。這種對應(yīng)關(guān)系可以由用戶隨時中斷和改變。linuxWindows2.主分區(qū)、擴(kuò)展分區(qū)和邏輯分區(qū)硬盤分區(qū)是針對一個硬盤進(jìn)行操作的,它可以分為:主分區(qū)、擴(kuò)展分區(qū)、邏輯分區(qū)。要在硬盤上安裝操作系統(tǒng),則該硬盤必須要有一個主分區(qū),PC機(jī)每個硬盤最多只能分成4個主分區(qū),主分區(qū)不利于應(yīng)用程序使用,在主分區(qū)的基礎(chǔ)上引入擴(kuò)展分區(qū)(Extendedpartion),因此可在硬盤4個主分區(qū)中的一個用作擴(kuò)展分區(qū),在擴(kuò)展分區(qū)中可以建立多個邏輯分區(qū)(Logicalpartion),一般而言,對于先安裝了Windows的用戶,則Windows的C盤是裝在主分區(qū)上的,可以把Linux安裝在另一個主分區(qū)或者擴(kuò)展分區(qū)上。通常為了安裝方便安全起見,一般采用把Linux裝在多余的邏輯分區(qū)上。Linux下,硬盤被視為一個設(shè)備,PC主板上由兩個IDE控制器,IDE0,IDE1可以接4個硬盤。所有這些設(shè)備統(tǒng)一采用/dev/hdN表示,IDE0接口連線上的主盤表示為/dev/hda,從盤就是/dev/hdb,而IDE1上的主盤表示為/dev/hdc,從盤就是/dev/hdd,依次類推,Linux的分區(qū)表示是通過在硬盤表示的基礎(chǔ)上追加數(shù)字來實(shí)現(xiàn)的,硬盤上的每個分區(qū)同樣也被視為一個設(shè)備,分區(qū)表示形如/dev/hdNx,以/dev/hdc為例,/dev/hdc1就是該硬盤上的第一個分區(qū),/dev/hdc4就是第一個分區(qū)的位置,邏輯分區(qū)全部從5開始編號,上述第一個邏輯分區(qū)就是/dev/hdc5。
如何分區(qū)?Linux系統(tǒng)必須至少包括兩種格式的分區(qū),swap分區(qū)(內(nèi)核運(yùn)行的需要)和根分區(qū)(Linuxnative格式,掛載作為根目錄使用)。鑒于Linux內(nèi)核啟動映像文件通常也使用單獨(dú)的分區(qū)(Linuxnative格式,掛載點(diǎn)/boot)存放,因此習(xí)慣上至少會劃分成3個分區(qū)來安裝系統(tǒng)。在硬件條件有限的情況下,為了運(yùn)行大型的程序,Linux在硬盤上劃出一個區(qū)域來當(dāng)作臨時的內(nèi)存,而Windows操作系統(tǒng)把這個區(qū)域叫做虛擬內(nèi)存,Linux把它叫做交換分區(qū)swap。在安裝Linux建立交換分區(qū)時,一般將其設(shè)為內(nèi)存大小的2倍,示例:7G的空間安裝Linux分區(qū)格式掛載點(diǎn)分區(qū)大小Linuxext3
/boot100Mswap512M設(shè)為內(nèi)存大小2倍Linuxext3/剩余磁盤空間3.Linux的安裝安裝之前需要收集相關(guān)的硬件信息,備份好有用的數(shù)據(jù)。設(shè)計(jì)好文件系統(tǒng)、分區(qū)和掛載。規(guī)劃好主分區(qū),擴(kuò)展分區(qū),邏輯分區(qū),SWAP交換區(qū)的大小。注意:(1)選擇文件系統(tǒng)的格式(2)設(shè)置引導(dǎo)程序GRUB(3)設(shè)置root權(quán)限1.3.4基于虛擬機(jī)的linux的安裝Linux的安裝有三種方式:純Linux雙操作系統(tǒng)基于虛擬機(jī)的安裝雙操作系統(tǒng)基于虛擬機(jī)的安裝安裝VMware建立虛擬機(jī)在虛擬機(jī)下安裝Linux配置系統(tǒng)及安裝VM工具已在Linux操作系統(tǒng)課程中學(xué)習(xí),本課程再講。1.4Linux目錄結(jié)構(gòu)及文件1.4.1Linux文件系統(tǒng)1.4.2linux目錄結(jié)構(gòu)1.4.3文件類型及文件屬性1.4.1Linux文件系統(tǒng)操作系統(tǒng)中負(fù)責(zé)管理和存儲文件信息的軟件機(jī)構(gòu)稱為文件管理系統(tǒng),簡稱文件系統(tǒng)。文件系統(tǒng)由三部分組成:與文件管理有關(guān)的軟件、被管理的文件以及實(shí)施文件管理所需的數(shù)據(jù)結(jié)構(gòu)。1.4.1Linux文件系統(tǒng)Linux的一個最重要特點(diǎn)就是它支持許多不同的文件系統(tǒng)。常用的文件系統(tǒng):1.FAT16和FAT32文件系統(tǒng)2.NTFS文件系統(tǒng)3.ext2和ext34.swap文件系統(tǒng)5.NFS文件系統(tǒng)6.ISO9660文件系統(tǒng)1.4.1Linux文件系統(tǒng)
Linux支持多種文件系統(tǒng),包括ext2、ext3、vfat、ntfs、iso9660、jffs、romfs和nfs等,為了對各類文件系統(tǒng)進(jìn)行統(tǒng)一管理,Linux引入了虛擬文件系統(tǒng)VFS(VirtualFileSystem),為各類文件系統(tǒng)提供一個統(tǒng)一的操作界面和應(yīng)用編程接口。1.4.1Linux文件系統(tǒng)Linux系統(tǒng)自身的文件系稱為ext2,它也是Linux默認(rèn)的文件系統(tǒng)。我們把ext2以及Linux支持的文件系統(tǒng)稱為邏輯文件系統(tǒng),通常每一種邏輯文件系統(tǒng)服務(wù)于一種特定的操作系統(tǒng),具有不同的組織結(jié)構(gòu)和文件操作函數(shù),相互之間差別很大。
Linux在傳統(tǒng)的邏輯文件系統(tǒng)的基礎(chǔ)上,增加了一個稱為虛擬文件系統(tǒng)(VFS)的接口層,如圖所示。
VFS固態(tài)存儲設(shè)備典型空間分配結(jié)構(gòu)圖1.4.1Linux文件系統(tǒng)
虛擬文件系統(tǒng)在最上層,管理各種邏輯文件系統(tǒng),屏蔽了它們之間的差異,為用戶命令、函數(shù)調(diào)用和內(nèi)核其他部分提供訪問文件和設(shè)備的統(tǒng)一接口,使得不同的邏輯文件系統(tǒng)按照同樣的模式呈現(xiàn)在使用者面前,對于普通用戶來講,覺察不到邏輯文件系統(tǒng)之間的差異,可以使用同樣的命令來操作不同邏輯文件系統(tǒng)所管理的文件,可以在它們之間自由地復(fù)制文件。
虛擬文件系統(tǒng)層屬于內(nèi)核的一部分,在操作系統(tǒng)啟動后在內(nèi)存中生成的,操作系統(tǒng)關(guān)閉后就消失。i節(jié)點(diǎn)的結(jié)構(gòu)常用的文件系統(tǒng)1.FAT16和FAT32文件系統(tǒng)2.NTFS文件系統(tǒng)3.ext2和ext34.swap文件系統(tǒng)5.NFS文件系統(tǒng)6.ISO9660文件系統(tǒng)虛擬文件系統(tǒng)VFS(VirtualFileSystem)虛擬文件系統(tǒng)在操作系統(tǒng)啟動后在內(nèi)存中生成的,操作系統(tǒng)關(guān)閉后就消失。1.4.2linux目錄結(jié)構(gòu)/bin:bin就是二進(jìn)制(binary)的英文縮寫。在這里存放前面Linux常用操作命令的執(zhí)行文件,如mv、ls、mkdir等。有時,這個目錄的內(nèi)容和/usr/bin里面的內(nèi)容一樣,它們都是放置一般用戶使用的執(zhí)行文件。/boot:這個目錄下存放操作系統(tǒng)啟動時所要用到的程序。如啟動grub就會用到其下的/boot/grub子目錄。/dev:該目錄中包含了所有Linux系統(tǒng)中使用的外部設(shè)備。要注意的是,這里并不是存放的外部設(shè)備的驅(qū)動程序,它實(shí)際上是一個訪問這些外部設(shè)備的端口。由于在Linux中,所有的設(shè)備都當(dāng)作文件一樣進(jìn)行操作,比如:/dev/cdrom代表光驅(qū),用戶可以非常方便地像訪問文件、目錄一樣對其進(jìn)行訪問。/etc:該目錄下存放了系統(tǒng)管理時要用到的各種配置文件和子目錄。如網(wǎng)絡(luò)配置文件、文件系統(tǒng)、x系統(tǒng)配置文件、設(shè)備配置信息、設(shè)置用戶信息等都在這個目錄下。系統(tǒng)在啟動過程中需要讀取其參數(shù)進(jìn)行相應(yīng)的配置。/etc/rc.d:該目錄主要存放Linux啟動和關(guān)閉時要用到的腳本,在后面的章節(jié)中還會進(jìn)一步地介紹。/etc/rc.d/init:該目錄存放所有Linux服務(wù)默認(rèn)的啟動腳本(在新版本的Linux中還用到的是/etc/xinetd.d目錄下的內(nèi)容)。/home:該目錄是Linux系統(tǒng)中默認(rèn)的用戶工具根目錄。執(zhí)行adduser命令后系統(tǒng)會在/home目錄下為對應(yīng)賬號建立一個名為同名的主目錄。/lib:該目錄是用來存放系統(tǒng)動態(tài)鏈接共享庫的。幾乎所有的應(yīng)用程序都會用到這個目錄下的共享庫。因此,千萬不要輕易對這個目錄進(jìn)行什么操作。/lost+found:該目錄在大多數(shù)情況下都是空的。只有當(dāng)系統(tǒng)產(chǎn)生異常時,會將一些遺失的片段放在此目錄下。/media:該目錄下是光驅(qū)和軟驅(qū)的掛載點(diǎn)。/misc:該目錄下存放從DOS下進(jìn)行安裝的實(shí)用工具,一般為空。/mnt:該目錄是軟驅(qū)、光驅(qū)、硬盤的掛載點(diǎn),也可以臨時將別的文件系統(tǒng)掛載到此目錄下。/proc:該目錄是用于放置系統(tǒng)核心與執(zhí)行程序所需的一些信息。而這些信息是在內(nèi)存中由系統(tǒng)產(chǎn)生的,故不占用硬盤空間。/root:該目錄是超級用戶登錄時的主目錄。/sbin:該目錄是用來存放系統(tǒng)管理員的常用的系統(tǒng)管理程序。/tmp:該目錄用來存放不同程序執(zhí)行時產(chǎn)生的臨時文件。一般Linux安裝軟件的默認(rèn)安裝路徑就是這里。/usr:這是一個非常重要的目錄,用戶的很多應(yīng)用程序和文件都存放在這個目錄下,類似與Windows下的ProgramFiles的目錄。/usr/bin:系統(tǒng)用戶使用的應(yīng)用程序。/usr/sbin:超級用戶使用的比較高級的管理程序和系統(tǒng)守護(hù)程序。/usr/src:內(nèi)核源代碼默認(rèn)的放置目錄。/srv:該目錄存放一些服務(wù)啟動之后需要提取的數(shù)據(jù)。/sys:這是Linux2.6內(nèi)核的一個很大的變化。該目錄下安裝了2.6內(nèi)核中新出現(xiàn)的一個文件系統(tǒng)sysfs。Sysfs文件系統(tǒng)集成了下面3種文件系統(tǒng)的信息:針對進(jìn)程信息的proc文件系統(tǒng)、針對設(shè)備的devfs文件系統(tǒng)以及針對偽終端的devpts文件系統(tǒng)。該文件系統(tǒng)是內(nèi)核設(shè)備樹的一個直觀反映。當(dāng)一個內(nèi)核對象被創(chuàng)建的時候,對應(yīng)的文件和目錄也在內(nèi)核對象子系統(tǒng)中被創(chuàng)建。/var:這也是一個非常重要的目錄,很多服務(wù)的日志信息都存放在這里。1.4.3文件類型及文件屬性1.文件類型2.文件屬性1.文件類型⑴普通文件⑵目錄文件⑶鏈接文件⑷設(shè)備文件⑴普通文件普通文件僅僅就是字節(jié)序列,Linux并沒有對其內(nèi)容規(guī)定任何的結(jié)構(gòu)。普通文件可以是程序源代碼(C、C++、Python、Perl等)、可執(zhí)行文件(文件編輯器、數(shù)據(jù)庫系統(tǒng)、出版工具、繪圖工具等)、圖片、聲音、圖像等。[book@book-desktoproot]#ls–linstall.log-rw-r--r--1rootroot234442006-04-20install.log[book@book-desktoproot]#⑵目錄文件目錄文件是Linux中存儲文件名的唯一地方,當(dāng)把文件和目錄相對應(yīng)起來時,也就是用指針將其鏈接起來之后,就構(gòu)成了目錄文件。[book@book-desktoproot]#ls–l總用量224-rw-r--r--1rootroot17712006-04-20anaconda-ks.cfgdrwxr-xr-x4rootroot40962008-01-20app-rw-r--r--1rootroot859432008-01-20app.tardrwxr-xr-x2rootroot409610月1505:41gdbtestdrwxr-xr-x2rootroot40962008-01-20hanoidrwxr-xr-x2rootroot409610月1505:05hellodrwxr-xr-x2rootroot40962008-01-21memtest[book@book-desktoproot]#⑶鏈接文件鏈接文件有些類似于Windows中的“快捷方式”,但是它的功能更為強(qiáng)大。它可以實(shí)現(xiàn)對不同的目錄、文件系統(tǒng)甚至是不同的機(jī)器上的文件直接訪問,并且不必重新占用磁盤空間。[book@book-desktoproot]#ls–linstall.log-rw-r--r--1rootroot234442006-04-20install.log[book@book-desktoproot]#ln–sinstall.logwen.txt[book@book-desktoproot]#ls–lwen.txtlrwxrwxrwx1rootroot1110月1506:24wen.txt->install.log[book@book-desktoproot]#⑷設(shè)備文件在linux下,為了屏蔽用戶對設(shè)備訪問的復(fù)雜性,采用了設(shè)備文件,即可以通過像訪問普通文件一樣的方式來對設(shè)備進(jìn)行訪問讀寫。[book@book-desktoproot]#ls–l/dev/ttycrw-rw-rw-1rootroot5,02003-01-20/dev/tty[book@book-desktoproot]#ls–l/dev/hda1brw-rw----1rootdisk3,12003-01-30/dev/hda1[book@book-desktoproot]#linux下文字顏色表示的文件類型如下:
藍(lán)色文件----------目錄
白色文件----------一般性文件,如文本文件,配置文件,源碼文件等
淺藍(lán)色文件----------鏈接文件,主要是使用ln命令建立的文件
綠色文件----------可執(zhí)行文件,可執(zhí)行的程序
紅色文件----------壓縮文件或者包文件黃色文件----------設(shè)備文件2.文件屬性第一個字符顯示文件的類型:“_”表示普通文件?!癲”表示目錄文件?!發(fā)”表示鏈接文件?!癱”表示字符設(shè)備?!癰”表示塊設(shè)備?!皃”表示命名管道比如FIFO文件(FirstInFirstOut,先進(jìn)先出)?!癴”表示堆棧文件比如LIFO文件(LastInFirstOut,后進(jìn)先出)。第一個字符之后有3個三位字符組:“r”表示可讀?!皐”表示可寫?!皒”表示可執(zhí)行。“-”表示該用戶組對此沒有權(quán)限。課堂練習(xí):指出文件的類型及屬性[book@book-desktoproot]#ls–l總用量248-rwxr-xr-x1rootroot115482008-04-20aaadrwxr-xr-x4rootroot40962008-01-20app-rw-r--r--1rootroot859432008-01-20app.tardrwxr-xr-x2rootroot409610月1505:41gdbtestdrwxr-xr-x2rootroot40962008-01-20hanoidrwxr-xr-x2rootroot409610月1505:05hellodrwxr-xr-x2rootroot40962008-01-21memtest[book@book-desktoproot]#1.5Linux常用操作命令1.5.1shell命令基礎(chǔ)1.5.2文件與目錄相關(guān)命令1.5.3磁盤管理與維護(hù)命令1.5.4系統(tǒng)管理與設(shè)置命令1.5.5網(wǎng)絡(luò)相關(guān)命令1.5.6壓縮備份命令1.5.1shell命令基礎(chǔ)什么是shellLinux系統(tǒng)的Shell作為操作系統(tǒng)的外殼,為用戶提供使用操作系統(tǒng)的接口。它是命令語言、命令解釋程序及程序設(shè)計(jì)語言的統(tǒng)稱。Shell是用戶和操作系統(tǒng)之間最主要接口。通過Shell,可以同時在后臺運(yùn)行多個應(yīng)用程序,并且在把需要與用戶交互的程序放在前臺運(yùn)行。 用戶、Shell以及與Linux操作系統(tǒng)內(nèi)核的關(guān)系如下圖所示。1.5.1shell命令基礎(chǔ)Linux中運(yùn)行的Shell的環(huán)境是“系統(tǒng)工具”下的“終端”,讀者可以單擊“終端”以啟動Shell環(huán)境。其中,第一個root用戶名;第二部分localhost表示機(jī)器名;第三部分root是指當(dāng)前所在的目錄。由于后面顯示的是#,所以root是指超級用戶,如果顯示的是$,則表示該用戶是普通用戶。Shell稱為命令解釋器
負(fù)責(zé)用戶和操作系統(tǒng)之間的溝通,把用戶下達(dá)的命令解釋給系統(tǒng)去執(zhí)行,并將系統(tǒng)傳回的信息再次解釋給用戶,所以,它擁有自己內(nèi)建的Shell命令集,也能被系統(tǒng)中其他應(yīng)用程序調(diào)用。Shell還是一種高級程序設(shè)計(jì)語言
它有變量、關(guān)鍵字,有各種控制語句,如if、case、while、for等語句,通過在多條命令的序列中使用變量和流程控制,有自己的語法結(jié)構(gòu)。利用Shell程序設(shè)計(jì)語言可以編寫出功能強(qiáng)大的代碼程序。Shell有很多種
Shell有很多種,如:csh,tcsh,pdksh,ash,sash,zsh,bash等。
Linux的缺省Shell為bash(BourneAgainShell)。其中最常見的是BourneShell(sh)、CShell(csh)和KornShell(ksh)。三種Shell各有優(yōu)缺點(diǎn)。
缺省的shell就是默認(rèn)的shell,你創(chuàng)建一個賬戶是系統(tǒng)默認(rèn)會給你分配一個shell,linux下是bash,bsd下是csh,這個就是缺省的shell,當(dāng)然你可以自己修改;
查看你的系統(tǒng)安裝的shell
$ls-l/bin/*sh
修改shell:
$chshshell
或者修改/etc/passwd的最后一項(xiàng)
cat/etc/passwd列舉用戶所對應(yīng)的shellcat/etc/shells查看那些目錄下有shell#bash之間切換#shBash是大多數(shù)Linux系統(tǒng)的默認(rèn)Shell。Bash有以下的優(yōu)點(diǎn):
1)補(bǔ)全命令
在Bash命令提示符下輸入命令或程序名時,若沒有輸全命令或程序名,按“Tab”鍵,Bash將自動補(bǔ)全命令或程序名。
2)通配符
在Bash下可以使用通配符“*”和“?”。“*”可以替代多個字符,而“?”則替代一個字符。
3)歷史命令
Bash能自動跟蹤用戶每次輸入的命令,并把輸入的命令保存在歷史列表緩沖區(qū)中。等還有很多快捷操作命令。Linux中的命令非常多,包括文件管理與傳輸、文檔編輯、磁盤管理與維護(hù)、網(wǎng)絡(luò)通訊、系統(tǒng)管理與設(shè)置、備份壓縮等成百上千個命令,而且每個命令都帶有很多參數(shù),要全部介紹幾乎不可能。因此,在本書只是介紹和本課程實(shí)驗(yàn)相關(guān)并且經(jīng)常用到的一些命令。1.5.2文件管理與傳輸1.ls命令2.cd命令3.pwd命令4.mkdir命令5.rmdir命令6.rm命令7.cp命令8.mv命令9.find命令10.ln命令11.cat命令12.chmod命令1.ls命令【功能說明】:列出目錄的內(nèi)容,執(zhí)行l(wèi)s指令可列出目錄的內(nèi)容,包括文件和子目錄的名稱。【命令格式】:ls[參數(shù)][<文件或目錄>…]。其中文件選項(xiàng)為指定查看指定文件的相關(guān)內(nèi)容,若為指定文件,默認(rèn)查看當(dāng)前目錄下的所有文件。【常用參數(shù)】:ls主要選項(xiàng)參數(shù)如下:-a不隱藏任何以“.”字符開始的條目。-R遞歸列出所有子目錄。-d當(dāng)遇到目錄時,列出目錄本身而非目錄內(nèi)的文件,并且不跟隨符號鏈接。-l使用較長格式列出信息。-x逐行列出項(xiàng)目而不是逐欄列出。Ls命令示例1
[book@book-desktop~]#lsanaconda-ks.cfginstall.log.sysloginstall.log[book@book-desktop~]#lsi*.loginstall.log[book@book-desktop~]#lsi*.*install.loginstall.log.syslog[book@book-desktop~]#lsi*.*>a.txt[book@book-desktop~]#lsanaconda-ks.cfginstall.loga.txtinstall.log.syslog[book@book-desktop~]#cata.txtinstall.loginstall.log.syslog[book@book-desktop~]#lsa*.*>>a.txt[book@book-desktop~]#cata.txtinstall.loginstall.log.sysloganaconda-ks.cfga.txt[book@book-desktop~]#Ls命令示例2[book@book-desktop~]#ls-l總計(jì)
104-rw-------.1rootroot149611-0323:37anaconda-ks.cfg-rw-r--r--.1rootroot5311-0416:06a.txt-rw-r--r--.1rootroot5203711-0323:37install.log-rw-r--r--.1rootroot552311-0323:35install.log.syslogdrwxr-xr-x.2rootroot409611-0320:50公共的drwxr-xr-x.2rootroot409611-0320:50模板drwxr-xr-x.2rootroot409611-0320:50視頻drwxr-xr-x.2rootroot409611-0320:50圖片drwxr-xr-x.2rootroot409611-0320:50文檔drwxr-xr-x.3rootroot409611-0410:01下載drwxr-xr-x.2rootroot409611-0320:50音樂drwxr-xr-x.2rootroot409611-0415:59桌面[book@book-desktop~]#ls-a..cshrc.ICEauthority.recently-used視頻...dbus.icedteaplugin.recently-used.xbel圖片anaconda-ks.cfg.esd_authinstall.log.tcshrc文檔a.txt.gconfinstall.log.syslog.tencent下載.bash_history.gconfd2.cd命令【功能說明】:改變工作目錄。該命令將當(dāng)前目錄改變至指定的目錄。若沒有指定directory,則回到用戶的主目錄。為了改變到指定目錄,用戶必須擁有對指定目錄的執(zhí)行和讀權(quán)限?!久罡袷健浚篶d[路徑],其中的路徑為要改變的工作目錄,可為相對路徑或絕對路徑。cd命令示例[book@book-desktop/]#cd[book@book-desktop~]#cd..[book@book-desktop/]#cd!$cd..[book@book-desktop/]#cdroot[book@book-desktop~]#cd~[book@book-desktop~]#cd/root[book@book-desktop~]#cd/[book@book-desktop/]#cd-/root[book@book-desktop~]#3.pwd命令【功能說明】:此命令顯示出當(dāng)前工作目錄的絕對路徑?!久罡袷健浚簆wd【使用實(shí)例】:顯示當(dāng)前工作目錄:[book@book-desktopbin]#pwd/usr/bin4.mkdir命令【功能說明】:創(chuàng)建一個目錄?!久罡袷健浚簃kdir[參數(shù)][路徑/目錄名稱]【常用參數(shù)】:mkdir主要參數(shù)如下:-mMode設(shè)置新創(chuàng)建的目錄的許可位,其值由變量Mode指定。-p創(chuàng)建丟失中間路徑名稱目錄。mkdir示例[book@book-desktoptest]#ls[book@book-desktoptest]#mkdirtest1[book@book-desktoptest]#lstest1[book@book-desktoptest]#mkdir-m111test2[book@book-desktoptest]#ls-l總計(jì)8drwxr-xr-x.2rootroot409611-0416:27test1d--x--x--x.2rootroot409611-0416:28test2[book@book-desktoptest]#mkdir/test/test3[book@book-desktoptest]#mkdir/test/newTest/testmkdir:無法創(chuàng)建目錄“/test/newTest/test”:沒有那個文件或目錄[book@book-desktoptest]#mkdir-p/test/newTest/test[book@book-desktoptest]#lsnewTesttest1test2test3[book@book-desktoptest]#cdnewTest/[book@book-desktopnewTest]#lstest[book@book-desktopnewTest]#5.rmdir命令【功能說明】:刪除空的目錄?!久罡袷健浚簉mdir[參數(shù)][路徑/目錄名稱]【常用參數(shù)】:rmdir命令的常用參數(shù)如下:-p是當(dāng)子目錄被刪除后使它也成為空目錄的話,則該目錄一并刪除。rmdir命令示例:[book@book-desktoptest]#lstest1test2test3test4[book@book-desktoptest]#lstest1[book@book-desktoptest]#lstest2[book@book-desktoptest]#lstest3test[book@book-desktoptest]#lstest4test[book@book-desktoptest]#rmdir/test/test1[book@book-desktoptest]#rmdirtest2[book@book-desktoptest]#lstest3test4[book@book-desktoptest]#rmdirtest3/test[book@book-desktoptest]#rmdir-ptest4/test[book@book-desktoptest]#lstest3[book@book-desktoptest]#lstest3[book@book-desktoptest]#6.rm命令【功能說明】:刪除文件或目錄【命令格式】:rm[參數(shù)][文件或目錄]【常用參數(shù)】:rm命令的常用參數(shù)如下:-f強(qiáng)制刪除文件或目錄。-i刪除既有文件或目錄之前先詢問用戶。-r刪除目錄,如果目錄不為空,則遞歸處理將該目錄下的所有文件及子目錄一并處理。-v顯示指令執(zhí)行過程。rm命令示例:[book@book-desktoptest]#lstest1test2test3[book@book-desktoptest]#lstest1a.cb.c[book@book-desktoptest]#rm-itest1/*.crm:是否刪除普通文件“test1/a.c”?nrm:是否刪除普通文件“test1/b.c”?n[book@book-desktoptest]#rm-vftest1/*.c已刪除“test1/a.c”已刪除“test1/b.c”[book@book-desktoptest]#rm示例:[book@book-desktoptest]#lstest1test2test3[book@book-desktoptest]#lstest1a.cb.c[book@book-desktoptest]#rm-itest1/*.crm:是否刪除普通文件“test1/a.c”?nrm:是否刪除普通文件“test1/b.c”?n[book@book-desktoptest]#rm-vftest1/*.c已刪除“test1/a.c”已刪除“test1/b.c”[book@book-desktoptest]#rm-rvftest3已刪除目錄:“test3/test/test”已刪除目錄:“test3/test”已刪除目錄:“test3”[book@book-desktoptest]#7.cp命令【功能說明】:復(fù)制文件或目錄【命令格式】:cp[參數(shù)]源文件或目錄目標(biāo)文件或目錄【常用參數(shù)】:cp的常用參數(shù)如下:-a保留鏈接、文件屬性,并遞歸地拷貝目錄,其作用等于dpr選項(xiàng)的組合-d拷貝時保留鏈接-f刪除已經(jīng)存在的目標(biāo)文件而不提示-i在覆蓋目標(biāo)文件之前將給出提示要求用戶確認(rèn)-p除復(fù)制源文件的內(nèi)容外,還將把其修改時間和訪問權(quán)限也復(fù)制到新文件中-r若給出的源文件是一目錄文件,此時cp將遞歸復(fù)制該目錄下所有的子目錄和文件。此時目標(biāo)文件必須為一個目錄名cp命令示例:[book@book-desktoptestbak]#lsdistinationsource[book@book-desktoptestbak]#cd..[book@book-desktop/]#cdtest[book@book-desktoptest]#lsdistinationsource[book@book-desktoptest]#lsdistination/[book@book-desktoptest]#lssource/test[book@book-desktoptest]#lssource/test/a.cdirlink[book@book-desktoptest]#cp-asource/test/distination/[book@book-desktoptest]#lsdistination/test[book@book-desktoptest]#lsdistination/test/a.cdirlink[book@book-desktoptest]#8.mv命令【功能說明】:移動或更名現(xiàn)有的文件或目錄【命令格式】:mv[參數(shù)]源文件或目錄目標(biāo)文件或目錄【常用參數(shù)】:mv的常用參數(shù)如下:-b為每個已存在的目的地文件創(chuàng)建備份文件-f覆蓋文件或目錄前不會進(jìn)行確認(rèn),直接覆蓋現(xiàn)有的文件或目錄-i覆蓋前先行詢問用戶-u在移動或更改文件名時,若目標(biāo)文件已存在,且其文件日期比源文件新,則不覆蓋目標(biāo)文件-v執(zhí)行時顯示詳細(xì)的信息mv命令示例:[book@book-desktoptest]#lsdistinationsource[book@book-desktoptest]#lsdistination/a.c[book@book-desktoptest]#lssource/a.cb.c[book@book-desktoptest]#mv-bsource/*distination/[book@book-desktoptest]#lsdistination/a.ca.c~b.c9.find命令【功能說明】:查找文件【命令格式】:find[路徑][參數(shù)]信息[選項(xiàng)]【常用選項(xiàng)】:-print將匹配的文件輸出到標(biāo)準(zhǔn)輸出。-exec對匹配的文件執(zhí)行該參數(shù)所給出的shell命令-ok和-exec的作用相同find命令示例:[book@book-desktoptest]#find.-name"a*"-execls-l{}\;總計(jì)0總計(jì)0-rw-r--r--.1rootroot1711-0911:05./a.c[book@book-desktoptest]#find.-name"a*"-okls-l{}\;<ls..../a.c>?y-rw-r--r--.1rootroot1711-0911:05./a.c[book@book-desktoptest]#find.-name"a*"-print./a.c10.ln命令【功能說明】:鏈接目錄或文件【命令格式】:ln[參數(shù)]源文件目標(biāo)鏈接【常用參數(shù)】:ln常用參數(shù)如下:-b刪除,覆蓋目標(biāo)文件之前的備份。-d建立硬鏈接-s建立符號鏈接(軟鏈接)-f強(qiáng)行建立文件或目錄的鏈接,不論文件或目錄是否存在-i覆蓋既有文件之前先詢問用戶-n把符號鏈接的目的目錄視為一般文件ln命令示例:[book@book-desktoptest]#ln-da.ca[book@book-desktoptest]#ln-sb.cb[book@book-desktoptest]#ls-l總計(jì)28-rw-r--r--.2rootroot1711-0911:05a-rw-r--r--.2rootroot1711-0911:05a.clrwxrwxrwx.1rootroot311-0912:04b->b.c-rw-r--r--.1rootroot3111-0912:03b.c11.cat命令【功能說明】:連接并顯示指定的一個和多個文件的有關(guān)信息。【命令格式】:cat[選項(xiàng)]文件1文件2…,其中的文件1、文件2為要顯示的多個文件?!境S脜?shù)】:cat命令的常見參數(shù)如下:-n:由第一行開始對所有輸出的行數(shù)編號cat命令示例:[book@book-desktoproot]#cat-nhello.c1 #include<stdio.h>2 intmain()3 {4 printf("Hello!Thisisourenbededworld!\n");5 return0;6 }12.chmod命令【功能說明】:改變文件的訪問權(quán)限?!久罡袷健浚篶hmod[選項(xiàng)][權(quán)限]文件。【常用參數(shù)】:命令的常見參數(shù)如下:-c:若該文件權(quán)限確定已經(jīng)更改,才顯示其更改動作。-f:若該文件權(quán)限無法被更改也不要顯示錯誤信息。-v:顯示權(quán)限變更的詳細(xì)資料。chmod命令實(shí)例[book@book-desktoproot]#llhello-rwxr--r--1rootroot115509月2414:40hello[book
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 發(fā)廊招收學(xué)徒合同范本
- 代加工合作合同范本
- 印刷制作度合同范本
- 合伙合同范本盈利分配
- 上海市戶外廣告合同范本
- 攝影作品使用授權(quán)合同范本
- epc o模式合同范本
- 口罩采購居間合同范本
- 刷單合同范本
- 店鋪的轉(zhuǎn)讓合同范本
- 2024年環(huán)北部灣廣西水資源配置有限公司招聘考試真題
- 2025年黑龍江建筑職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫完美版
- 上海市建設(shè)工程施工圖設(shè)計(jì)文件勘察設(shè)計(jì)質(zhì)量疑難問題匯編(2024 版)
- 第一單元時、分、秒(說課稿)-2024-2025學(xué)年三年級上冊數(shù)學(xué)人教版
- 地理-浙江省杭州八縣市2024學(xué)年高二第一學(xué)期期末學(xué)業(yè)水平測試試題和答案
- 《康復(fù)工程學(xué)》課件-第一講 康復(fù)工程概論
- DeepSeek:從入門到精通
- 天津2025年天津中德應(yīng)用技術(shù)大學(xué)輔導(dǎo)員崗位招聘7人筆試歷年參考題庫附帶答案詳解
- 2025年無錫職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試近5年常考版參考題庫含答案解析
- 2025年銅材拉絲項(xiàng)目可行性研究報(bào)告
- 2025四川宜賓市高縣縣屬國企業(yè)第一次招聘3人易考易錯模擬試題(共500題)試卷后附參考答案
評論
0/150
提交評論