




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第1章Linux開發基礎
引言第一章Linux開發基礎第二章嵌入式Linux基礎第三章嵌入式Linux內核文件系統與存儲第四章嵌入式Linux接口設計與驅動程序第五章嵌入式Linux開源軟件移植與應用第六章嵌入式Linux圖形用戶接口第七章嵌入式Linux下的通信應用第八章嵌入式系統硬件設計基礎與標準第九章OMAP5910與LinuxGateway第十章嵌入式Linux綜合項目實例第一章Linux開發基礎主要內容
第一節Linux系統概述第二節Linux系統的使用第三節全屏幕編輯器與vi
第四節LinuxShell編程
學習方法與建議本章主要講述了linux開發基礎知識,包括linux系統介紹,linux系統常用命令,vi使用,Shell程序的設計,由于這四部分在日常程序設計中會頻繁使用。建議讀者熟練掌握。其中命令和vi的使用需要多練才能掌握,Shell程序的設計是本章的難點,建議讀者通過實例來學習,這樣可以達到事半功倍的效果。1一、Linux簡介
簡單介紹Linux系統的歷史。二、Linux系統的特點
Linux系統之所以受到極大歡迎,源于它所具有的良好特性。三、Linux系統的組成
Linux操作系統由內核、Shell、文件系統和應用程序四部分組成。第一節Linux系統概述2第一節Linux系統概述——一、Linux簡介
Linux是由芬蘭赫爾辛基大學一位名叫LinusTorvalds的學生編寫的,是一種類Unix系統。Linus最初編寫它的目的是替代Minix操作系統。Minix是由AndrewTannebaum教授所編寫的專門用于教學的操作系統。該系統具有操作系統的所有特征,并且能夠兼容Unix系統。因此,Linux具有Unix系統的許多功能和特點,甚至可以將一臺普通的個人電腦升級為功能強大的Unix工作站。Linux是一個免費的操作系統。用戶可以免費獲得其源代碼,并能夠隨意修改。它是在GNU的公用許可證GPL保護下發行的自由軟件。GNU是一個自由軟件計劃,其軟件可以自由使用和修改,不過用戶在發布GNU軟件時必須讓下一個用戶具有獲得其源代碼的權利。3第一節Linux系統概述——二、Linux系統的特點
(1)完全免費且開源由于用戶可以通過網絡或其他途徑免費獲得Linux,并可以任意修改其源代碼,因此全世界的程序員都能夠參與Linux的修改和編寫工作
Linux能夠兼容其他各種操作系統的書寫習慣和風格,因此習慣使用其他操作系統的用戶能夠快速適應Linux環境。(3)良好的可移植性所謂可移植性,是指能夠完成某個軟件在不同硬件體系結構之間的轉移。由于Linux軟件大部分是開源的,因此只要使用不同的編譯器進行編譯就可以完成相應的移植。所以說Linux是移植性很強的操作系統,這對于嵌入式開發來說尤其重要。(4)設備獨立性設備獨立性是指操作系統把所有外部設備描述成文件形式,只要安裝驅動程序,就可以像操作文件一樣來操作這些設備。具有設備獨立性的操作系統能夠容納任意種類和數量的設備,而且可以建立每個設備和內核之間的訪問連接。4(5)內核穩定Linux擁有一個多用戶、多任務且功能強大的內核,不僅能夠滿足各種應用需要,而且使用了多種安全機制來協助完成文件和用戶管理等工作。(6)豐富的應用軟件幾乎所有的Linux發行版都包含豐富的應用軟件,而且大部分軟件遵循GNU規則,因而能夠非常方便地完成移植工作。另外,在Linux發行版本中還包含大量的軟件開發工具,能夠開發出更多的應用程序。(7)兩種操作方式在Linux操作系統中,可以使用終端進行文本輸入,也可以使用X圖形界面進行操作。文本輸入對于命令、編譯等操作而言非常方便,而圖形界面則適合進行批量文件操作和圖形軟件開發。因此,這兩種操作方式可以互相彌補,從而提高操作系統的使用效率。第一節Linux系統概述——二、Linux系統的特點
5Linux操作系統由內核、Shell、文件系統和應用程序四部分組成。內容功能內核內核是一個操作系統最基本的組成部分,在應用程序訪問硬件時可用它來提供服務。ShellShell是系統的用戶界面,提供用戶與內核的交互接口。實際上,Shell是一個命令解釋器,它接收并解釋用戶命令并把它們送到內核。文件系統文件系統是文件存放在磁盤等存儲設備上的組織方法。應用程序標準Linux系統都有一套程序集,包括文本編輯器、編程語言、XWindow、辦公套件、Internet工具、數據庫等。第一節Linux系統概述——三、Linux系統的組成
6第二節Linux系統的使用一、常見命令Linux常用的一些命令二、文件和目錄命令Linux的文件和目錄命令7掌握Linux登錄的兩種方式1,圖形用戶界面登錄,在圖形界面上輸入用戶名和密碼即可登錄成功優點:操作界面美觀,方便用戶熟悉操作;缺點:圖形界面會占用系統一部分資源2,字符界面登錄:修改/etc/inittab文件,如下所示:把5改為3,保存設置,重啟系統之后會進入字符登錄界面,輸入用戶名和密碼即可登錄成功第二節Linux系統的使用——一、常見命令8關機命令用shutdown–help命令可以查看關機命令的幫助信息
shutdown-hnow 馬上注銷,之后停機
init0 馬上關機
ls
ls命令用于查看當前系統支持的Shell。
exit exit命令用來退出服務器或當前用戶命令
passwd
passwd用來修改用戶口令
who who命令用來查看當前用戶
echo echo命令用來在終端顯示字符串第二節Linux系統的使用——一、常見命令9第二節Linux系統的使用——二、文件和目錄命令
cat cat命令用來查看文件內容
cd
cd命令用來改變工作目錄 用法:cd[name] name:目錄名
cp cp命令用來復制文件 用法:cp[-r]源地址目的地址
-r參數表示復制內容包括文件夾
mv
mv命令用來移動或更改文件、目錄名稱 用法:mv
源地址目的地址
mkdir
mkdir命令用來建立新目錄 用法:mkdir
目錄名
rmdir
rmdir命令用來刪除目錄 用法:rmdir
目錄名或rm
目錄名
rm
rm命令用來刪除文件 用法:rm
文件名11
pwd
pwd命令用來列出當前所在的目錄位置
du
du命令用來查看目錄所占磁盤容量 用法:du[-s]目錄 舉例:
dudir1
顯示目錄dir1的總容量及其子目錄的容量(以KB為單位)。
du-sdir1
顯示目錄dir1的總容量
chmod/chown
chmod和chown命令用來改變文件權限的設定
chmod
chmod命令用來改變文件或目錄的讀、寫以及執行權限。 用法:chmod[-R]modename name:文件名或目錄名。
mode:3個8位數字或rwxugo的組合,它們的含義為:r-read(讀權限),w-write(寫權限),x-execute(執行權限)u-user(當前用戶),g-group(當前用戶所在組其他用戶),o-other(組外用戶)
chown
chown命令用來改變文件或目錄的所有權。
用法:chown[-R]用戶名name第二節Linux系統的使用——二、文件和目錄命令12
groups groups命令用于檢查自己所屬的工作組名稱
chgrp
chgrp命令用來改變文件或目錄工作組所有權 用法:chgrp[-R]工作組名name
name:文件名或目錄名
touch touch命令用來改變文件或目錄的最后修改時間 用法:touchname
name:文件名或目錄名。
ln
ln命令用來進行文件的鏈接。 用法:ln
老文件名新文件名
舉例:ln-s老文件名新文件名
grep
grep命令用來進行文件中字符串的查尋
用法:
grepstringfilediff diff命令用來比較文件或目錄的內容
用法:
diff[-r]name1name2name1,name2:文件名或者目錄名
file file命令用來查看文件屬性 用法:file文件名
第二節Linux系統的使用——二、文件和目錄命令13第三節全屏幕編輯器與vi——一、vi簡介
vi(visualedit),即可視化的全屏幕文本編輯器,是Linux常用的編輯器。如果掌握其基本命令并且能夠熟練運用,便可以大大提高編程效率。vi有三種方式,即編輯方式、插入方式和命令方式。在命令方式下,所有命令都要以:開始,所鍵入的字符系統均作為命令來處理;在命令方式下按下i就會進入插入方式,用戶輸入的可視字符都添加到文件中,按下ESC就可以回到命令狀態。這三種狀態的轉換下圖所示。
15第三節全屏幕編輯器與vi——二、基本命令解釋
1.光標命令?k、j、h、l——上、下、左、右移動光標。?nG——跳轉命令。n為行數,該命令使光標立即跳到指定行。?Ctrl+G——報告光標所在位置的行數和列數。?w、b——使光標向前或向后跳過一個單詞。2.編輯命令?i、a、r——在光標的前、后以及所在處插入字符(i=insert、a=append、r=replace)。?cw、dw——改變(置換)/刪除光標所在處的單詞(c=change、d=delete)。?x、d$、dd——刪除一個字符、刪除光標所在處到行尾的所有字符以及刪除整行。3.查找命令?----/string、?string——從光標所在處向后或向前查找相應的字符串。鍵入n則查找下一個相應字符串。4.拷貝復制命令?----yy、p——復制一行到剪貼板或取出剪貼板中內容。注意,在命令提示符(:)下鍵入y3,表示從當前光標處開始復制3行(可以根據需要修改要復制的行數),之后將光標移動到需要粘貼的地方,鍵入p即可粘貼剛剛復制的內容。
16第三節全屏幕編輯器與vi——三、常用操作
1)無論是創建新文檔或修改舊文件,都可以使用vi,所需命令為:$vifilename如果文件是新創建的,就會在屏幕底部看到用戶正在創建新文件的消息。如果文件已存在,則會顯示文件的開頭內容
,之后用戶可通過光標的上下移動來讀取文件內容。2)在插入方式下,如果要輸入命令,必須先按Esc鍵進入命令方式。之后在編輯模式下輸入命令時,需要先按冒號(:),改變為命令方式。具體命令如下所示:?:q! ——放棄任何改動而退出vi,也就是強行退出。?:w——存檔。?:w!——對于只讀文件強行存檔。?:wq——存檔并退出vi。?:x、:zz——與wq的工作一樣。17vi編輯器的插入命令指令功能i在光標處插入正文I在一行開始處插入正文a在光標后追加正文A在行尾追加正文o在光標下面新增一行O在光標上面新增一行第三節全屏幕編輯器與vi——三、常用操作
18第四節LinuxShell編程
一、Shell程序的編寫和執行
二、Shell的變量
三、Shell的測試命令
四、條件語句五、循環語句六、函數19第四節LinuxShell編程——一、Shell程序的編寫和執行
因為Shell腳本是以文本方式進行存儲的,所以可以用任何的文本編輯器來編輯。在文本中輸入要執行的Shell命令或Linux命令并保存為一個新的文件。當要運行這個腳本時,可調用這個腳本來執行其中的所有指令。在Linux環境下,任何對文件有執行權限的用戶都可以執行文件。對于Shell腳本而言,可以修改其權限來允許不同的用戶執行。我們可以通過如下命令來更改Shell腳本的權限:
chmod
u+xfilename
只有用戶自己可以執行,其他人不能執行。
chmod
ug+xfilename
只有用戶自己以及同一工作組的人可以執行,其他人不能執行。
chmod+xfilename
所有人都可以執行。20clear clear命令用來清除當前屏幕顯示內容創建一個函數的形式如下:u-user(當前用戶),g-group(當前用戶所在組其他用戶),o-other(組外用戶)int1–eqint2GNU是一個自由軟件計劃,其軟件可以自由使用和修改,不過用戶在發布GNU軟件時必須讓下一個用戶具有獲得其源代碼的權利。$vifilename第九章OMAP5910與LinuxGateway?x、d$、dd——刪除一個字符、刪除光標所在處到行尾的所有字符以及刪除整行。用法:mv源地址目的地址用法:du[-s]目錄Shell是系統的用戶界面,提供用戶與內核的交互接口。第一章Linux開發基礎內核是一個操作系統最基本的組成部分,在應用程序訪問硬件時可用它來提供服務。握,Shell程序的設計是本章的難點,建議讀-xfilename第四節LinuxShell編程——二、Shell的變量
1.給變量賦值在默認的情況下,所有變量都被認為是字符串。給變量賦值的方法:
count=5注意,在等號兩邊不能有空格,如果字符串中有空格的話,要用引號把它括起來。例如:
test=“HelloWorld!”。由于Shell語言是一種不需要類型檢查的解釋語言,因此在使用之前無須先定義。2.輸出變量的值可以使用$讀取變量的值。下面的命令可以將count變量的內容輸出到屏幕上:
echo$count當需要從鍵盤輸入數據賦值給一個變量的時候,可以使用read命令。如下所示: #readvar1var2var3 Hellomyfriends #echo$var1$var2$var3
Hellomyfriends21表達式說明int1–eqint2如果int1和int2相等,則返回真int1–geint2如果int1大于等于int2,則返回真int1–gtint2如果int1大于int2,則返回真int1–leint2如果int1小于等于int2,則返回真int1–ltint2如果int1小于int2,則返回真int1–neint2如果int1不等于int2,則返回真第四節LinuxShell編程——三、Shell的測試命令
test命令用于檢查某個條件是否成立,可以和系統運算符一起使用。系統運算符可以分為四類:整數運算符、字符串運算符、文件運算符和邏輯運算符。下表為整數運算符的表達式與說明22表達式說明str1=str2如果str1和str2相同,則返回真str1!=str2如果str1和str2不相同,則返回真str如果str不為空,則返回真-nstr如果str的長度大于零,則返回真-zstr如果str的長度等于零,則返回真下表為字符串運算符的表達式與說明第四節LinuxShell編程——三、Shell的測試命令
23下表為邏輯運算符的表達式與說明表達式說明!expr如果expr為假,則返回真expr1–aexpr2如果expr1和expr2同時為真,則返回真expr1–oexpr2如果expr1或expr2有一個為真,則返回真另外,Shell也能完成簡單的算術運算,例如:var1=2var2=$[$var1*10+1]第四節LinuxShell編程——三、Shell的測試命令
251.if語句Shell程序中的條件分支是通過if語句來實現的,其一般格式為:if expressionthencommandselsecommandsfi第四節LinuxShell編程——四、條件語句
262.case語句對同一個變量進行多次測試時,可以使用case條件語句實現。其格式如下:
casevarinvar1) commands;;var2) commands;;varn) commands;;*) commandsesac第四節LinuxShell編程——四、條件語句
271
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河南水利與環境職業學院《機械工程材料及其成形技術》2023-2024學年第二學期期末試卷
- 沈陽醫學院《機械工程基礎》2023-2024學年第二學期期末試卷
- 河北建材職業技術學院《化工原理理論》2023-2024學年第二學期期末試卷
- 畢節工業職業技術學院《中高考語文試題研究》2023-2024學年第二學期期末試卷
- 三亞城市職業學院《管理工程數學基礎1》2023-2024學年第二學期期末試卷
- 云南三鑫職業技術學院《媒介公關與危機管理》2023-2024學年第二學期期末試卷
- 遼寧大學《人工智能與機器學習課程設計》2023-2024學年第二學期期末試卷
- 安徽醫學高等專科學校《司法文書寫作與法律文獻檢索》2023-2024學年第二學期期末試卷
- 中國勞動關系學院《大氣污染控制技術》2023-2024學年第二學期期末試卷
- 蘇州高博軟件技術職業學院《護理學基礎實驗(1)》2023-2024學年第二學期期末試卷
- 冀教版五年級下冊美術第12課《寓言成語故事多》課件
- 英語演講Artificial intelligence人工智能課件共課件
- 建設工程防滲漏驗收檢查表
- 鐵皮石斛 組織培養 栽培 試驗 實驗
- 中國聯通cBSS系統使用培訓-第一部分
- 貨幣的起源與發展
- 森林防火PPT課件
- 建筑材料送檢統一規定
- 艏艉密封裝置安裝工藝規程
- 雨露計劃職業教育補助學籍證明四川
- 15MW雙饋風力發電機電氣原理圖
評論
0/150
提交評論