《基于ARM9的嵌入式Linux系統(tǒng)開發(fā)原理與實踐》課件第2章_第1頁
《基于ARM9的嵌入式Linux系統(tǒng)開發(fā)原理與實踐》課件第2章_第2頁
《基于ARM9的嵌入式Linux系統(tǒng)開發(fā)原理與實踐》課件第2章_第3頁
《基于ARM9的嵌入式Linux系統(tǒng)開發(fā)原理與實踐》課件第2章_第4頁
《基于ARM9的嵌入式Linux系統(tǒng)開發(fā)原理與實踐》課件第2章_第5頁
已閱讀5頁,還剩82頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第2章初識Linux2.1安裝發(fā)行版Linux操作系統(tǒng)2.2Linux的目錄結(jié)構(gòu)2.3Linux的文件屬性2.4Linux的文件類型2.5Shell2.6Shell編程基礎(chǔ)本章小結(jié)

2.1安裝發(fā)行版Linux操作系統(tǒng)

宿主機(jī)(PC)安裝發(fā)行版Linux操作系統(tǒng)有以下三個方案:

①基于PC機(jī)Windows操作系統(tǒng)下的CYGWIN。

②在Windows下安裝虛擬機(jī)后,再在虛擬機(jī)中安裝Linux操作系統(tǒng)。

③直接安裝Linux操作系統(tǒng)。2.1.1安裝虛擬機(jī)VMware

安裝虛擬機(jī)VMware步驟如下:

①雙擊安裝程序后來到VMware-Workstation-6.5安裝向?qū)Ы缑?,如圖2-1所示。圖2-1VMware安裝向?qū)Ы缑姊诎惭b類型選擇(選中“Typical”典型安裝)。

③安裝路徑選擇(如選擇將VMwareWorkstation安裝在默認(rèn)的路徑下)。

④啟動捷徑選擇(可全選),如圖2-2所示。

⑤確定無誤后單擊“Install”按鈕,完成安裝。

⑥重新啟動VMwareWorkstation,在如圖2-3出現(xiàn)的窗口內(nèi)填寫序列號和注冊信息。圖2-2啟動捷徑選擇圖2-3填寫序列號和注冊信息2.1.2在虛擬機(jī)VMware中安裝RedHatLinux9.0操作系統(tǒng)

在虛擬機(jī)VMware中安裝RedHatLinux9.0操作系統(tǒng)步驟如下。圖2-4新建虛擬機(jī)圖2-5虛擬平臺選擇圖2-6處理器配置圖2-7虛擬機(jī)配置圖2-8光盤安裝設(shè)置圖2-9測試光盤選擇圖2-10系統(tǒng)登錄界面2.1.3安裝VMwareTools

1.?VMwareTools的軟件包的安裝過程

(1)以root身份登錄Linux。

(2)按下Ctrl?+?Alt組合鍵,進(jìn)入主操作系統(tǒng),點(diǎn)擊菜單欄VM下的InstallVMwareTools子菜單,會出現(xiàn)如圖2-11所示界面。圖2-11點(diǎn)擊InstallVMwareTools子菜單彈出的界面

(3)將該軟件包拷貝到Linux的tmp目錄下。

(4)打開終端,進(jìn)入tmp目錄。

(5)解壓縮該軟件包,如圖2-12所示,默認(rèn)解壓到vmware-tools-distrib目錄下:

tar-zxfVMwareTools-5.5.3-34685.tar.gz

進(jìn)入解壓后的目錄:

cdvmware-tools-distrib

(6)運(yùn)行如下命令安裝:

./vmware-install.pl

安裝完成后可進(jìn)行文件共享的設(shè)置。圖2-12解壓縮VMwareTools軟件包

2.文件共享的設(shè)置

(1)關(guān)閉Linux系統(tǒng)。

(2)選擇“編輯虛擬機(jī)設(shè)置”,點(diǎn)擊“Options”,選擇“ShareFolders”,點(diǎn)擊“Add”按鈕就可設(shè)置共享文件夾,如圖2-13所示。

(3)啟動Linux系統(tǒng)。

(4)在/mnt下即可看到hgfs文件目錄,在hgfs目錄下有share文件目錄,這樣就可實現(xiàn)Windows與VMware下的Linux文件共享,如圖2-14所示。圖2-13文件共享的設(shè)置圖2-14查看文件共享2.2Linux的目錄結(jié)構(gòu)

(1)?/bin。

(2)?/boot。

(3)?/dev。

(4)?/etc。

(5)?/sbin。

(6)?/home。

(7)?/lib。

(8)?/lost+found。

(9)?/mnt。(10)?/proc。

(11)?/root。

(12)?/tmp。

(13)?/usr。

2.3Linux的文件屬性

Linux的文件屬性主要有九個字段。

圖2-15給出了a2ps.cfg文件屬性的詳細(xì)信息。圖2-15a2ps.cfg文件詳細(xì)信息

2.4Linux的文件類型

Linux文件類型和Linux文件的文件名所代表的意義是兩個不同的概念??梢酝ㄟ^一般應(yīng)用程序而創(chuàng)建,比如file.txt、file.tar.gz,這些文件雖然要用不同的程序來打開,但放在Linux文件類型中衡量的話,大多是常規(guī)文件(也被稱為普通文件)。Linux文件類型常見的有普通文件、目錄文件、字符設(shè)備文件、塊設(shè)備文件、套接口文件和符號鏈接文件等。

1.普通文件

[root@localhost~]#ls-lhinstall.log

-rw-r--r--1rootroot53K03-1608:54install.log

2.目錄文件

[root@localhost~]#ls–lh

總用量14M

-rw-r--r--1rootroot

203-2702:00fonts.scale

-rw-r--r--1rootroot

53k03-1608:54install.log

-rw-r--r--1rootroot

14M03-1607:53kernel-2.6.15-

1.2025_FC5.i686.rpm

drwxr-xr-x21000users4.0k04-0423:30mkuml-2004.07.17

drwxr-xr-x2rootroot

4.0k04-1910:53mydir

drwxr-xr-x2rootroot

4.0k03-1704:25Public

3.字符設(shè)備或塊設(shè)備文件

進(jìn)入/dev目錄,列一下文件,如下:

[root@localhost~]#ls–lh/dev/tty

crw-rw-rw-1roottty5,004-1908:29/dev/tty

[root@localhost~]#ls-lh/dev/hda1

brw-r-----1rootdisk3,12006-04-19/dev/hda1

4.套接口文件

當(dāng)啟動MySQL服務(wù)器時,會產(chǎn)生一個mysql.sock的文件。

[root@localhost~]#ls-lh/var/lib/mysql/mysql.sock

srwxrwxrwx1mysqlmysql004-1911:12

/var/lib/mysql/mysql.sock

注意這個文件屬性的第一個字符是“s”。

5.符號鏈接文件

[root@localhost~]#ls-lhsetup.log

lrwxrwxrwx1rootroot1104-1911:18setup.log->install.log

2.5Shell

2.5.1Shell簡介

Shell是一種具備特殊功能的程序,它是介于使用者和Linux操作系統(tǒng)核心程序(kernel)間的一個接口。圖2-16Shell、Linux內(nèi)核和用戶之間的關(guān)系2.5.2常用Shell命令

Shell命令的一般格式:

命令名[選項][參數(shù)1][參數(shù)2]…

1.獲取幫助信息命令

?man

權(quán)限:所有用戶。

使用方法:man[查找內(nèi)容]

說明:用于快速查詢命令和程序的使用方法等。

例如:

#manls?help

權(quán)限:所有用戶。

使用方法:help[幫助]

說明:打印出需要查找?guī)椭畹膸椭畔?,根?jù)命令不同可能采用不同的參數(shù)?--help或?-help。

例如:

[mxl@localhosthome]$ls--help

2.瀏覽目錄常用命令

?ls

權(quán)限:所有用戶。

使用方法:ls[選項]…[文件]…

說明:列出當(dāng)前工作子目錄(默認(rèn))中的文件及子目錄

清單。?cd

權(quán)限:所有用戶。

使用方法:cd[目標(biāo)路徑]

說明:變換工作目錄到目標(biāo)路徑,其中目標(biāo)路徑可以是絕對路徑也可以是相對路徑。目標(biāo)路徑名可以缺省,若缺省則變換至使用者的homedirectory(用戶登錄子目錄)。?pwd

權(quán)限:所有用戶。

使用方法:pwd

說明:顯示用戶當(dāng)前工作子目錄的完整路徑。

例如:

[mxl@localhosthome]$pwd

則出現(xiàn)

/home?dir

權(quán)限:所有用戶。

使用方法:dir[路徑][文件名]

說明:功能與ls命令類似(列出當(dāng)前工作子目錄(默認(rèn))中的文件及子目錄清單)。

3.閱讀常用命令

?cat

權(quán)限:所有用戶。

使用方法:cat[參數(shù)][文件名]

說明:可以顯示文件內(nèi)容,或者把文件串接后輸出到基本輸出(或另一個文件)。?more

權(quán)限:所有用戶。

使用方法:more[參數(shù)][文件名]

說明:類似cat,但它可以分頁顯示,適合顯示長文件清單或文本內(nèi)容,最基本的指令就是按空格換頁,按回車下一行,按b鍵返回上一頁。

常用參數(shù):

-num 一次顯示的行數(shù);

-d 在屏幕最下方顯示提示信息;

+num 從第num行開始顯示。?less

權(quán)限:所有用戶。

使用方法:less[參數(shù)][文件名]

說明:與more命令功能類似,可以用來瀏覽文字文件的內(nèi)容,less允許往回卷動已瀏覽過的部分。less不會一開始就讀入整個文件,所以在打開文件時,會比一般的文本編輯器(vi)快。

4.查找常用命令

?find

權(quán)限:所有用戶。

使用方法:find[路徑][參數(shù)][查找相關(guān)內(nèi)容]

說明:對某個特定文件、某些特定文件和某種類型的文件進(jìn)行檢索,可以根據(jù)名字、類型、文件屬主以及上次修改時間來檢索。

常用參數(shù):

-name 檢索文件名中包含查找內(nèi)容字符串的文件;

-type 檢索相應(yīng)類型的文件(d、c等);

-user 檢索創(chuàng)建用戶為查找內(nèi)容的文件。

5.目錄操作常用命令

?mkdir

權(quán)限:所有用戶。

使用方法:mkdir[子目錄或子目錄完整路徑]

說明:建立一個新的子目錄,使用子目錄的路徑作為參數(shù)。

例如:

[mxl@localhosthome]$mkdir/home/mxl/temp?rmdir

權(quán)限:當(dāng)前目錄有適當(dāng)權(quán)限的所有者。

使用方法:rmdir[子目錄或子目錄完整路徑]

說明:刪除空的目錄。

例如:

[mxl@localhosthome]$rmdir/home/mxl/temp

6.文件操作常用命令

?rm

權(quán)限:當(dāng)前文件有適當(dāng)權(quán)限的所有者。

使用方法:rm[參數(shù)][文件名或目錄]

說明:刪除文件以及目錄。

常用參數(shù):

-I 刪除前逐一詢問確定;

-f 即使原文件為只讀也強(qiáng)制刪除,并不詢問確定;

-r 同時刪除該目錄層下的所有目錄以及文件。?mv

權(quán)限:當(dāng)前文件有適當(dāng)權(quán)限的所有者。

使用方法:mv[參數(shù)][原文件或目錄][目標(biāo)文件或目錄]

說明:將一個文件移至另一個文件,或?qū)⒍鄠€文件移動至另一個目錄,也可以將一個目錄移動至另一個目錄。

常用參數(shù):

-I 若目的位置已有同名文件,則詢問是否覆蓋舊文件。?cp

權(quán)限:所有用戶。

使用方法:cp[參數(shù)][原文件或目錄][目標(biāo)文件或目錄]

說明:將一個文件復(fù)制到另一個文件,或?qū)?shù)個文件復(fù)制到另一個目錄中,也可以將一個目錄復(fù)制到另一個目錄。

常用參數(shù):

-a 盡可能將文件的狀態(tài)、權(quán)限等信息全部復(fù)制;

-f 若目的地址有同名文件,則將已有的文件刪除再進(jìn)行復(fù)制;

-r 若原目錄中包含子目錄,則原目錄中的文件及子目錄也依次復(fù)制到目的地址中。

7.壓縮及解壓縮命令

Linux的軟件一般是以?.gz、.tar或者?.tar.gz結(jié)尾的。.gz是由gzip程序壓縮的;.tar.gz是先用tar程序歸檔(打包),再用gzip程序壓縮而成的。?tar

權(quán)限:所有用戶。

使用方法:tar[參數(shù)]f[歸檔文件名][原文件或目錄]

說明:廣泛用于建立歸檔文檔,這個命令將文件及目錄復(fù)制到歸檔文件中,原文件并不會有被刪除的危險。同時還可通過參數(shù)調(diào)用相應(yīng)的壓縮工具進(jìn)行壓縮及解壓縮。

常用參數(shù):

-f 此參數(shù)是必須的,通常用來指定包的文件名;

-c 創(chuàng)建新的檔案文件,如果用戶想備份一個目錄或一些文件,就要選擇這個選項;

8.掛載文件系統(tǒng)命令

?mount

權(quán)限:所有用戶。

使用方法:mount[參數(shù)][設(shè)備][掛載目錄(掛載點(diǎn))]

說明:在命令行中使用mount命令掛載文件系統(tǒng)。?umount

權(quán)限:所有用戶。

使用方法:umount[參數(shù)][設(shè)備][掛載目錄(掛載點(diǎn))]

說明:在命令行中使用umount命令卸載文件系統(tǒng)。

例如:

umount/dev/hda1

將?/dev/hda1設(shè)備卸載,設(shè)備必須處于空閑狀態(tài)。?

常用參數(shù):

-t指定掛載文件系統(tǒng)類型。

9.網(wǎng)絡(luò)常用命令

?ifconfig

權(quán)限:所有用戶。

使用方法:ifconfig[接口]

ifconfig[接口][參數(shù)]或[地址]

說明:用來配置網(wǎng)絡(luò)接口。

10.快捷鍵

(1)?TAB文件目錄匹配搜索的使用。

(2)光標(biāo)鍵:如果在以前輸入某個命令,下次想要再次輸入此命令,則只要按上光標(biāo)鍵就可以找到。

11.其他常用命令

(1)?clear命令:清屏命令,清除屏幕上的內(nèi)容。

(2)?init0命令:關(guān)閉虛擬機(jī)命令,可以防止直接關(guān)閉虛擬機(jī)電源導(dǎo)致數(shù)據(jù)崩潰。

(3)?reboot命令:重新啟動虛擬機(jī)。

(4)?insmod命令:向內(nèi)核添加模塊,如驅(qū)動模塊。

(5)?rmmod命令:向內(nèi)核添加模塊,如rmmod獲至寶rtl8139刪除名為rtl8139的驅(qū)動模塊。(6)?startx:進(jìn)入Linux虛擬機(jī)圖形界面。

(7)?Ctrl+C:中斷Shell命令。

(8)?adduser:添加用戶命令。

(9)?userdel:刪除用戶命令。

2.6Shell編程基礎(chǔ)

2.6.1建立和運(yùn)行Shell程序

執(zhí)行Shell程序文件有三種方法:

①?#chmod+xfile

#./file

②?#shfile

③?#sourcefile2.6.2Shell中的變量

1.用戶自定義變量

Shell語言是非類型的解釋型語言,不像用C++/Java語言編程時需要事先聲明變量,給一個變量賦值,實際上就是定義了變量。在Linux支持的所有Shell中,都可以用賦值符號“=”為變量賦值。在變量賦值之后,只需在變量前面加一個“$”去引用。

2.系統(tǒng)變量

常用的系統(tǒng)變量如下:

$#保存程序命令行參數(shù)的數(shù)目;

$?保存前一個命令的返回碼;

$0保存程序名;

$1第一個參數(shù),$2第二個參數(shù),$3,$4,$5…依次類推;

$*以(“$1$2…”)的形式保存所有輸入的命令行參數(shù);

$@以("$1""$2"…)的形式保存所有輸入的命令行參數(shù);

3.環(huán)境變量

(1)什么是環(huán)境變量。

Linux是一個多用戶的操作系統(tǒng)。每個用戶登錄系統(tǒng)后,都會有一個專用的運(yùn)行環(huán)境。通常每個用戶默認(rèn)的環(huán)境都是相同的,這個默認(rèn)環(huán)境實際上就是一組環(huán)境變量的定義。用戶可以對自己的運(yùn)行環(huán)境進(jìn)行定制,其方法就是修改相應(yīng)的系統(tǒng)環(huán)境變量。

(2)常見的環(huán)境變量。

PATH 決定了Shell將到哪些目錄中尋找命令或程序。

HOME 當(dāng)前用戶主目錄。

MAIL 當(dāng)前用戶的郵件存放目錄。

SHELL 當(dāng)前用戶用的是哪種Shell。

HISTSIZE 保存歷史命令記錄的條數(shù)。

LOGNAME 當(dāng)前用戶的登錄名。

(3)常用的環(huán)境變量命令。

echo 顯示某個環(huán)境變量值,例如:echo$PATH。

export 設(shè)置一個新的環(huán)境變量,例如:export

HELLO=“hello”(可以無引號)。

env 顯示所有環(huán)境變量。

set 顯示本地定義的Shell變量。

unset 清除環(huán)境變量unsetHELLO。

readonly 設(shè)置只讀環(huán)境變量readonlyHELLO。

(4)修改環(huán)境變量的方法。

可以對?.bashrc和?/etc/profile文件進(jìn)行環(huán)境變量的編輯。但注意,對前者修改只對當(dāng)前用戶有用,對后者修改是對所有用戶有用。2.6.3Shell中引號的使用方法

1.單引號?‘

由單引號括起來的字符都作為普通字符出現(xiàn)。特殊字符用單引號括起來以后,也會失去原有意義,而只作為普通字符解釋。

2.雙引號“

由雙引號括起來的字符,除?$、\、'?和?"?這幾個字符仍是特殊字符并保留其特殊功能外,其余字符仍作為普通字符對待。對于?$?來說,就是用其后指定的變量的值來代替這個變量和?$;對于?\?而言,是轉(zhuǎn)義字符,它告訴Shell不要對其后面的那個字符進(jìn)行特殊處理,只當(dāng)作普通字符即可。

3.反引號‘

反引號這個字符所對應(yīng)的鍵一般位于鍵盤的左上角,不要將其同單引號混淆。反引號括起來的字符串被Shell解釋為命令行,在執(zhí)行時,Shell首先執(zhí)行該命令行,并以它的標(biāo)準(zhǔn)輸出結(jié)果取代整個反引號(包括兩個反引號)部分。2.6.4Shell中的test命令

test命令的語法格式:

testexpression或者[expression]

test在以下四種情況下使用:

1.字符比較

字符比較的命令和含義如表2-1所示。

2.兩個整數(shù)值的比較

整數(shù)比較具有和字符比較類似的功能,只是它們的操作是針對整數(shù),整數(shù)比較的命令和含義如表2-2所示。

3.文件操作

文件操作是對文件是否存在及文件的狀態(tài)的判斷等,文件操作的表達(dá)式和含義如表2-3所示。

4.邏輯操作

可以進(jìn)行and和or,與其他條件聯(lián)合使用,邏輯操作的表達(dá)式和含義如表2-4所示。2.6.5條件語句

1.?if語句

語法格式:

if[expression1]

then

commands1

elif[expression2]

commands2

else

commands3

fi

2.case語句

case語句要求Shell將一個字符串S與一組字符串模式P1,P2,…,Pn比較,當(dāng)S與某個模式Pi相匹配時,就執(zhí)行相應(yīng)的那一部分程序?/?命令。Shell的case語句中字符模式里可以包含像?*?這樣的通配符。語法格式:

casestring1in

str1)

commands1;;

str2)

commands2;;

*)

commands3;;

esac2.6.6循環(huán)語句

1.?for語句

語法格式:

for

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論