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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

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

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

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

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

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

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

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

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

1.?VMwareTools的軟件包的安裝過(guò)程

(1)以root身份登錄Linux。

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

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

(4)打開(kāi)終端,進(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)啟動(dòng)Linux系統(tǒng)。

(4)在/mnt下即可看到hgfs文件目錄,在hgfs目錄下有share文件目錄,這樣就可實(shí)現(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的文件屬性主要有九個(gè)字段。

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

2.4Linux的文件類(lèi)型

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

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)啟動(dòng)MySQL服務(wù)器時(shí),會(huì)產(chǎn)生一個(gè)mysql.sock的文件。

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

srwxrwxrwx1mysqlmysql004-1911:12

/var/lib/mysql/mysql.sock

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

5.符號(hào)鏈接文件

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

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

2.5Shell

2.5.1Shell簡(jiǎn)介

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

Shell命令的一般格式:

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

1.獲取幫助信息命令

?man

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

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

說(shuō)明:用于快速查詢(xún)命令和程序的使用方法等。

例如:

#manls?help

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

使用方法:help[幫助]

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

例如:

[mxl@localhosthome]$ls--help

2.瀏覽目錄常用命令

?ls

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

使用方法:ls[選項(xiàng)]…[文件]…

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

清單。?cd

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

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

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

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

使用方法:pwd

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

例如:

[mxl@localhosthome]$pwd

則出現(xiàn)

/home?dir

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

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

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

3.閱讀常用命令

?cat

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

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

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

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

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

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

常用參數(shù):

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

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

+num 從第num行開(kāi)始顯示。?less

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

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

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

4.查找常用命令

?find

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

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

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

常用參數(shù):

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

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

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

5.目錄操作常用命令

?mkdir

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

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

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

例如:

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

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

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

說(shuō)明:刪除空的目錄。

例如:

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

6.文件操作常用命令

?rm

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

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

說(shuō)明:刪除文件以及目錄。

常用參數(shù):

-I 刪除前逐一詢(xún)問(wèn)確定;

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

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

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

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

說(shuō)明:將一個(gè)文件移至另一個(gè)文件,或?qū)⒍鄠€(gè)文件移動(dòng)至另一個(gè)目錄,也可以將一個(gè)目錄移動(dòng)至另一個(gè)目錄。

常用參數(shù):

-I 若目的位置已有同名文件,則詢(xún)問(wèn)是否覆蓋舊文件。?cp

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

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

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

常用參數(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)限:所有用戶(hù)。

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

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

常用參數(shù):

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

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

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

?mount

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

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

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

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

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

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

例如:

umount/dev/hda1

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

常用參數(shù):

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

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

?ifconfig

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

使用方法:ifconfig[接口]

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

說(shuō)明:用來(lái)配置網(wǎng)絡(luò)接口。

10.快捷鍵

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

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

11.其他常用命令

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

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

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

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

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

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

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

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

2.6Shell編程基礎(chǔ)

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

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

①?#chmod+xfile

#./file

②?#shfile

③?#sourcefile2.6.2Shell中的變量

1.用戶(hù)自定義變量

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

2.系統(tǒng)變量

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

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

$?保存前一個(gè)命令的返回碼;

$0保存程序名;

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

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

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

3.環(huán)境變量

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

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

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

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

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

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

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

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

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

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

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

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

HELLO=“hello”(可以無(wú)引號(hào))。

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

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

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

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

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

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

1.單引號(hào)?‘

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

2.雙引號(hào)“

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

3.反引號(hào)‘

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

test命令的語(yǔ)法格式:

testexpression或者[expression]

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

1.字符比較

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

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

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

3.文件操作

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

4.邏輯操作

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

1.?if語(yǔ)句

語(yǔ)法格式:

if[expression1]

then

commands1

elif[expression2]

commands2

else

commands3

fi

2.case語(yǔ)句

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

casestring1in

str1)

commands1;;

str2)

commands2;;

*)

commands3;;

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

1.?for語(yǔ)句

語(yǔ)法格式:

for

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論