版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Linux系統(tǒng)及開發(fā)工具簡介,李剛 2011.3.21,主要內(nèi)容,Linux系統(tǒng)簡介 Linux常用命令 嵌入式Linux編輯器Vi的使用 嵌入式Linux編譯器gcc的使用 嵌入式Linux調(diào)試器gdb的使用 make工程管理器,Linux系統(tǒng)簡介,熟悉與了解Linux的一些基礎(chǔ)知識(shí) 了解Linux內(nèi)核的基本概念和Linux文件結(jié)構(gòu) 掌握和熟練運(yùn)用Linux常用命令以及Linux文本編輯。,Linux基礎(chǔ)知識(shí),什么是操作系統(tǒng)? 嵌入式操作系統(tǒng)的發(fā)展 隨著嵌入式系統(tǒng)的發(fā)展,從八十年代末開始相繼出現(xiàn)了一些嵌入式操作系統(tǒng)。如:Vxwork、pSOS、Neculeus和Windows CE。,Lin
2、ux基礎(chǔ)知識(shí),簡單地說,Linux是一套免費(fèi)使用和自由傳播的類Unix操作系統(tǒng),這個(gè)系統(tǒng)是由世界各地的成千上萬的程序員設(shè)計(jì)和實(shí)現(xiàn)的,目的是建立不受任何商品化軟件的版權(quán)制約的、全世界都能自由使用的Unix兼容產(chǎn)品。 嵌入式Linux是對(duì)Liinux經(jīng)過小型化裁剪,能夠固化在容量相對(duì)較?。〝?shù)百K到數(shù)百M(fèi))的存儲(chǔ)器芯片中,應(yīng)用于特定的嵌入式場合Linux。,Linux基礎(chǔ)知識(shí),Linux是一個(gè)網(wǎng)絡(luò)操作系統(tǒng) (Network Operating System,NOS)。 所謂網(wǎng)絡(luò)操作系統(tǒng)則在一般操作系統(tǒng)的功能上增加了網(wǎng)絡(luò)功能,具體包括: 實(shí)現(xiàn)網(wǎng)絡(luò)中各計(jì)算機(jī)之間的通信和資源共享; 提供多種網(wǎng)絡(luò)服務(wù)軟件;
3、 提供網(wǎng)絡(luò)用戶的應(yīng)用程序接口。,Linux基礎(chǔ)知識(shí),Linux的由來 Linux最早是Linus Torvalds于1991年在芬蘭赫爾辛基大學(xué)原創(chuàng)開發(fā)的,并在GNU (GNUs Not Unix) 的GPL(General Public License)原則下發(fā)行。 Linux繼承了Unix,他們相似和相同的東西好多,所以 Linux還是類Unix的操作系統(tǒng)。有一種說法是Linux是Unix的一個(gè)變種版本。,Linux基礎(chǔ)知識(shí),Linux內(nèi)核版本有兩種: 穩(wěn)定版和開發(fā)版 Linux內(nèi)核的命名機(jī)制: num.num.num 其中: 第一個(gè)數(shù)字是主版本號(hào) 第二個(gè)數(shù)字是次版本號(hào) 第三個(gè)數(shù)字是修訂版
4、本號(hào) 如果次版本號(hào)是偶數(shù),那么該內(nèi)核就是穩(wěn)定版的;若是奇數(shù),則是開發(fā)版的。頭兩個(gè)數(shù)字合在一齊可以描述內(nèi)核系列。如穩(wěn)定版的2.6.0,它是2.6版內(nèi)核系列。,Linux基礎(chǔ)知識(shí),一個(gè)典型的Linux發(fā)行版包括: Linux內(nèi)核 一些GNU程序庫和工具 命令行shell 圖形界面的X Window系統(tǒng) 相應(yīng)的桌面環(huán)境,如KDE或GNOME 并包含數(shù)千種從辦公套件,編譯器,文本編輯器到科學(xué)工具的應(yīng)用軟件。,Linux基礎(chǔ)知識(shí),Linux發(fā)行版有 : Debian; 紅帽(Redhat); Ubuntu; Suse; Fedora。,Linux開發(fā)應(yīng)用,1、Linux內(nèi)核開發(fā) PDA個(gè)人掌上電腦; 專
5、用的網(wǎng)絡(luò)設(shè)備;防火墻設(shè)備,VPN(虛擬專用網(wǎng)絡(luò))設(shè)備等是用Linux編寫的,國產(chǎn)的,現(xiàn)在銷售的十分不錯(cuò); 硬件驅(qū)動(dòng)程序。,Linux開發(fā)應(yīng)用,2、Linux網(wǎng)絡(luò)編程 php編程,建立動(dòng)態(tài)站點(diǎn); jsp編程; perl,cgi編程。,Linux開發(fā)應(yīng)用,3、Linux系統(tǒng)下數(shù)據(jù)庫的開發(fā) my sql中小型數(shù)據(jù)庫系統(tǒng); oracle數(shù)據(jù)庫; DB2數(shù)據(jù)庫,IBM數(shù)據(jù)庫系統(tǒng)。,Linux特點(diǎn),Linux特點(diǎn)如下: 1)自由軟件,開放源代碼; 2)真正的多用戶、多任務(wù)操作系 3)可靈活裁剪配置; 4)支持多種硬件平臺(tái); 5)提供強(qiáng)大的管理功能 6)完全符合POSIX標(biāo)準(zhǔn) 7)具有豐富的圖形用戶界面 8
6、)具有強(qiáng)大的網(wǎng)絡(luò)功能,GNU 與POSIX標(biāo)準(zhǔn),Linux的發(fā)展離不開GNU(GNU在英文中原意為非洲牛羚,這里是GNU is Not Unix的遞歸縮寫),GNU計(jì)劃又稱革奴計(jì)劃,是由Richard Stallman在1983年9月27日公開發(fā)起的,它的目標(biāo)是創(chuàng)建一套完全自由的操作系統(tǒng)。,GNU 與POSIX標(biāo)準(zhǔn),為保證GNU軟件可以自由地“使用、復(fù)制、修改和發(fā)布”,所有GNU軟件都在一份在禁止其他人添加任何限制的情況下授權(quán)所有權(quán)利給任何人的協(xié)議條款,GNU通用公共許可證(GNU General Public License,GPL)。這個(gè)就是被稱為“反版權(quán)”(或稱Copyleft)的概念。
7、,GNU 與POSIX標(biāo)準(zhǔn),GNU 包含3個(gè)協(xié)議條款,它們是: GPL:GNU通用公共許可證(GNU General Public License) LGPL:GNU較寬松公共許可證 (GNU Lesser General Public License),舊稱 GNU Library General Public License (GNU 庫通用公共許可證); GFDL:GNU自由文檔許可證(GNU Free Documentation License )的縮寫形式。,GNU 與POSIX標(biāo)準(zhǔn),GNU計(jì)劃開發(fā)出了許多高質(zhì)量的免費(fèi)軟件,如:GCC、GDB、Bash Shell等,這些軟件為Lin
8、ux的開發(fā)創(chuàng)造了基本的環(huán)境,是Linux發(fā)展的重要基礎(chǔ),因此,嚴(yán)格來講,Linux應(yīng)該被稱為GNU/Linux。,GNU 與POSIX標(biāo)準(zhǔn),POSIX 表示可移植操作系統(tǒng)接口(Portable Operating System Interface ,POSIX )。 電氣和電子工程師協(xié)會(huì)(Institute of Electrical and Electronics Engineers,IEEE)最初開發(fā) POSIX 標(biāo)準(zhǔn),是為了提高 UNIX 環(huán)境下應(yīng)用程序的可移植性。然而,POSIX 并不局限于 UNIX。,Linux介紹,Linux操作系統(tǒng)主要包含哪幾部分? 內(nèi)核 shell工具 文件結(jié)
9、構(gòu) 實(shí)用工具,Linux內(nèi)核,內(nèi)核是Linux系統(tǒng)的靈魂,負(fù)責(zé)整個(gè)系統(tǒng)的內(nèi)存管理,進(jìn)程調(diào)度和文件管理。 它從用戶那里接受命令并把命令送給內(nèi)核去執(zhí)行。 Linux內(nèi)核的容量并不大,并且大小可以裁減 。 一般一個(gè)功能比較全面的內(nèi)核也不會(huì)超過1M。 合理的配置Linux內(nèi)核是嵌入式開發(fā)中很重要的一步,對(duì)內(nèi)核的充分了解是嵌入式Linux開發(fā)的基本功。,Linux內(nèi)核進(jìn)程管理,進(jìn)程管理功能負(fù)責(zé)創(chuàng)建和撤銷進(jìn)程以及處理他們和外部世界的連接。不同進(jìn)程之間的通信是整個(gè)系統(tǒng)的基本功能,因此也由內(nèi)核處理。除此之外,控制進(jìn)程如何共享CPU資源的調(diào)度程序也是進(jìn)程管理的一部分。概括的說,內(nèi)核的進(jìn)程管理活動(dòng)就是在單個(gè)或多個(gè)
10、CPU上實(shí)現(xiàn)多進(jìn)程的抽象。,Linux內(nèi)核內(nèi)存管理,內(nèi)存是計(jì)算機(jī)的主要資源之一,用來管理內(nèi)存的策略是決定系統(tǒng)性能的一個(gè)關(guān)鍵因素。內(nèi)核在有限的可用資源上為每個(gè)進(jìn)程都創(chuàng)建了一個(gè)虛擬尋址空間。內(nèi)核的不同部分在和內(nèi)存管理子系統(tǒng)交互時(shí)使用一套相同的系統(tǒng)調(diào)用,包括從簡單的malloc/ free到其他一些不常用的系統(tǒng)調(diào)用。,Linux內(nèi)核文件系統(tǒng),Linux在很大程度上依賴于文件系統(tǒng)的概念,Linux中的每個(gè)對(duì)象幾乎都是可以被視為文件的。內(nèi)核在沒有結(jié)構(gòu)硬件上構(gòu)造結(jié)構(gòu)化的文件系統(tǒng)。所構(gòu)造的文件系通在整個(gè)系統(tǒng)中廣泛使用。另外,Linux支持多種文件系統(tǒng)類型,即在物理介質(zhì)上組織的結(jié)構(gòu)不同。,Linux內(nèi)核設(shè)備控
11、制,幾乎每個(gè)系統(tǒng)操作最終都會(huì)映射到物理設(shè)備上。除了處理器,內(nèi)存以及其他很有限的的幾個(gè)實(shí)體外,所有的設(shè)備控制操作都由與被控制設(shè)備相關(guān)的代碼完成。這段代碼叫做設(shè)備驅(qū)動(dòng)程序,內(nèi)核必須為系統(tǒng)中的每件外設(shè)嵌入相應(yīng)的驅(qū)動(dòng)程序。,Linux內(nèi)核網(wǎng)絡(luò)功能,網(wǎng)絡(luò)功能也必須有操作系統(tǒng)來管理,因?yàn)榇蟛糠志W(wǎng)絡(luò)操作都和具體的進(jìn)程無關(guān)。在每個(gè)進(jìn)程處理這些數(shù)據(jù)之前,數(shù)據(jù)報(bào)必須已經(jīng)被收集、標(biāo)識(shí)、和分發(fā)。系統(tǒng)負(fù)責(zé)在應(yīng)用程序和網(wǎng)絡(luò)之間傳遞數(shù)據(jù)。另外,所有的路由和地址解析問題都由內(nèi)核處理。,Linux Shell,Shell是系統(tǒng)的用戶界面,提供了用戶與內(nèi)核進(jìn)行交互操作的一種接口。它接收用戶輸入的命令并把它送入內(nèi)核去執(zhí)行。 She
12、ll是一個(gè)命令解釋器,它解釋由用戶輸入的命令并且把它們送到內(nèi)核。 Shell編程語言具有普通編程語言的很多特點(diǎn),比如它也有循環(huán)結(jié)構(gòu)和分支控制結(jié)構(gòu)等,用這種編程語言編寫的Shell程序與其他應(yīng)用程序具有同樣的效果。,Linux Shell,Linux系統(tǒng)提供多種不同的Shell以供選擇。常用的有: Bourne Shell(簡稱sh) 在編程方面非常優(yōu)秀。 C-Shelll(簡稱csh) 提供很好的用戶交互特征。 Korn Shell(簡稱ksh)結(jié)合以上二者有點(diǎn),具有很好的命令交互界面和編程交互界面。 Bourne Again Shell (簡稱bash)。GNU開發(fā),Linux中默認(rèn)的一個(gè)S
13、hell。,Linux文件結(jié)構(gòu),內(nèi)核,Shell和文件結(jié)構(gòu)一起形成了基本的操作系統(tǒng)結(jié)構(gòu)。它們使得用戶可以運(yùn)行程序,管理文件以及使用系統(tǒng)。此外,Linux操作系統(tǒng)還有許多被稱為實(shí)用工具的程序,輔助用戶完成一些特定的任務(wù)。,Linux文件結(jié)構(gòu),文件結(jié)構(gòu)是文件存放在磁盤等存儲(chǔ)設(shè)備上的組織方法。主要體現(xiàn)在對(duì)文件和目錄的組織上。目錄提供了管理文件的一個(gè)方便而有效的途徑。 使用Linux,用戶可以設(shè)置目錄和文件的權(quán)限,以便允許或拒絕其他人對(duì)其進(jìn)行訪問。Linux目錄采用多級(jí)樹形結(jié)構(gòu),用戶可以瀏覽整個(gè)系統(tǒng),可以進(jìn)入任何一個(gè)已授權(quán)進(jìn)入的目錄,訪問那里的文件。,Linux是一個(gè)多用戶系統(tǒng),操作系統(tǒng)本身的駐留程序
14、存放在以根目錄開始的專用目錄中,有時(shí)被指定為系統(tǒng)目錄。 Linux文件結(jié)構(gòu)目錄如下:,Linux文件結(jié)構(gòu),Linux文件結(jié)構(gòu),在Linux中,無論操作系統(tǒng)管理幾個(gè)磁盤分區(qū),這樣的目錄樹只有一個(gè)。從結(jié)構(gòu)上講,各個(gè)磁盤分區(qū)上的樹型目錄不一定是并列的。,Linux文件目錄含義,1) /bin bin是binary的縮寫。這個(gè)目錄沿襲了UNIX系統(tǒng)的結(jié)構(gòu),存放著使用者最經(jīng)常使用的命令。例如cp、ls、cat,等等。 2) /boot 這里存放的是啟動(dòng)Linux時(shí)使用的一些核心文件。 3)/home 用戶的主目錄,比如說有個(gè)用戶叫wang,那他的主目錄就是/home/wang也可以用wang表示。 4)
15、/dev dev是device(設(shè)備)的縮寫。這個(gè)目錄下是所有Linux的外部設(shè)備,其功能類似DOS下的.sys和Win下的.vxd。在Linux中設(shè)備和文件是用同種方法訪問的。例如:/dev/hda代表第一個(gè)物理IDE硬盤。,Linux文件目錄含義,5)/etc 這個(gè)目錄用來存放系統(tǒng)管理所需要的配置文件和子目錄。 6)/lib 這個(gè)目錄里存放著系統(tǒng)最基本的動(dòng)態(tài)鏈接共享庫,其作用類似于Windows里的.dll文件。幾乎所有的應(yīng)用程序都須要用到這些共享庫。 7)/sbin 這里存放的是系統(tǒng)管理員使用的管理程序。 8)/tmp 用來存放一些臨時(shí)文件的地方了。,Linux文件目錄含義,9)/los
16、t+found 這個(gè)目錄平時(shí)是空的,當(dāng)系統(tǒng)不正常關(guān)機(jī)后,這里就成了一些無家可歸的文件的避難所。對(duì)了,有點(diǎn)類似于DOS下的.chk文件。 10)/mnt 這個(gè)目錄是空的,系統(tǒng)提供這個(gè)目錄是讓用戶臨時(shí)掛載別的文件系統(tǒng)。 11)/proc 這個(gè)目錄是一個(gè)虛擬的目錄,它是系統(tǒng)內(nèi)存的映射,我們可以通過直接訪問這個(gè)目錄來獲取系統(tǒng)信息。也就是說,這個(gè)目錄的內(nèi)容不在硬盤上而是在內(nèi)存里。,Linux文件目錄含義,12)/root 系統(tǒng)管理員(也叫超級(jí)用戶)的主目錄。作為系統(tǒng)的擁有者,總要有些特權(quán),比如單獨(dú)擁有一個(gè)目錄。 13) /var 這個(gè)目錄中存放著那些不斷在擴(kuò)充著的東西,為了保持usr的相對(duì)穩(wěn)定,那些經(jīng)常
17、被修改的目錄可以放在這個(gè)目錄下,實(shí)際上許多系統(tǒng)管理員都是這樣干的。順帶說一下系統(tǒng)的日志文件就在/var/log目錄中。,Linux文件目錄含義,14)/usr 這是最龐大的目錄,我們要用到的應(yīng)用程序和文件幾乎都存放在這個(gè)目錄下。其中包含以下子目錄; (1)/usr/X11R6 存放X-Window的目錄; (2)/usr/bin 存放著許多應(yīng)用程序; (3)/usr/sbin 給超級(jí)用戶使用的一些管理程序就放在這里;,Linux文件目錄含義,(4)/usr/doc 這是Linux文檔的大本營; (5)/usr/include Linux下開發(fā)和編譯應(yīng)用程序需要的頭文件,在這里查找; (6)/u
18、sr/lib 存放一些常用的動(dòng)態(tài)鏈接共享庫和靜態(tài)檔案庫; (7)/usr/local 這是提供給一般用戶的/usr目錄,在這里安裝軟件最適合;,Linux文件目錄含義,(8)/usr/man man在Linux中是幫助的同義詞,這里就是幫助文檔的存放目錄; (10)/usr/src Linux開放的源代碼就存在這個(gè)目錄 !,Linux實(shí)用工具,標(biāo)準(zhǔn)的Linux系統(tǒng)都有一套叫做實(shí)用工具的程序,它們是專門的程序,例如編輯器、執(zhí)行標(biāo)準(zhǔn)的計(jì)算操作等。用戶也可以產(chǎn)生自己的工具。 實(shí)用工具可分三類: 1)編輯器:用于編輯文件。 2)過濾器:用于接收數(shù)據(jù)并過濾數(shù)據(jù)。 3)交互程序:允許用戶發(fā)送信息或接收來自其他用戶的信息。,Linux下有兩種用戶,1) root用戶 超級(jí)權(quán)限者,系統(tǒng)的擁有者,在Linux系統(tǒng)中有且只有一個(gè)root用戶,它可以在系統(tǒng)中任何操作。在系統(tǒng)安裝時(shí)所設(shè)定的密碼就是 root用戶的密碼。命令提示符為#。 2) 普通用戶 Linux系統(tǒng)可以創(chuàng)建許多普通用戶,并為其指定相應(yīng)的權(quán)限,使其有限地使用Linux系統(tǒng)。命令提示符為$。,切換用戶,如果不指定用戶名,則默認(rèn)將用戶身份換至root。從root身份切換到其他任何身份都不需要口令。 su username (從root身份切換到默認(rèn)用戶) su root(切換到root用戶,并將root的
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 家長教育方面的培訓(xùn)課件
- 2026年新能源電池技術(shù)研發(fā)合同協(xié)議
- 2026年投資理財(cái)咨詢合同書格式大全
- 2026年陸運(yùn)提單質(zhì)押合同
- 2026年農(nóng)資產(chǎn)品采購合同
- 2026年貨物運(yùn)輸合同標(biāo)準(zhǔn)模板
- 2026年遺囑見證合同協(xié)議
- 2026年虛擬主機(jī)SSL證書合同
- 2026年動(dòng)漫制作合作合同
- 2026年長途大件貨物運(yùn)輸合同
- DB61-T 1843-2024 酸棗種植技術(shù)規(guī)范
- 古建筑修繕加固施工方案
- DG-TJ08-19-2023園林綠化養(yǎng)護(hù)標(biāo)準(zhǔn)
- 上海市2024-2025學(xué)年高二上學(xué)期期末考試英語試題(含答案無聽力原文及音頻)
- 實(shí)驗(yàn)室評(píng)審不符合項(xiàng)原因及整改機(jī)制分析
- 農(nóng)貿(mào)市場攤位布局措施
- 企業(yè)春季校園招聘會(huì)職等你來課件模板
- 【MOOC】線性代數(shù)-同濟(jì)大學(xué) 中國大學(xué)慕課MOOC答案
- 沖壓設(shè)備精度檢測調(diào)整作業(yè)SOP指導(dǎo)書
- 鄉(xiāng)村道路片石擋土墻施工合同
- 2022年內(nèi)蒙古高等職業(yè)院校對(duì)口招收中等職業(yè)學(xué)校畢業(yè)生單獨(dú)考試語文試卷答案
評(píng)論
0/150
提交評(píng)論