




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第一講Linux操作系統(tǒng)目錄結(jié)構(gòu)與文件操作
(《Linux編程》第1章)本講教學(xué)目標(biāo):掌握Linux系統(tǒng)目錄結(jié)構(gòu)掌握文件操作命令使用第1章Linux簡介與使用第2章LinuxShell編程第3章Linux環(huán)境C編程第4章(1)系統(tǒng)級(jí)IO第4章(2)文件系統(tǒng)第4章(3)磁盤空間管理第5講進(jìn)程控制第6講線程管理與同步互斥第7章進(jìn)程間通信第8章網(wǎng)絡(luò)編程第9章并發(fā)網(wǎng)絡(luò)服務(wù)器全套可編輯PPT課件163本章主要內(nèi)容Linux/Unix系統(tǒng)簡介Linux目錄結(jié)構(gòu)Linux系統(tǒng)用戶界面、命令格式(自學(xué))Linux文件與命令操作(自學(xué))一、UNIX/Linux系統(tǒng)簡介(1)UNIX系統(tǒng)簡介1.什么是UNIX系統(tǒng)是一種多用戶、多任務(wù)、多層次的操作系統(tǒng),廣泛用于金融、教育、科研、軍事領(lǐng)域,用于運(yùn)行核心業(yè)務(wù),管理企業(yè)關(guān)鍵數(shù)據(jù)資料、信息與Windows系列系統(tǒng)相比,具有安全性高、可靠性強(qiáng)、性能高優(yōu)點(diǎn),可以一年365天、7×24小時(shí)不停機(jī)運(yùn)行UNIX系統(tǒng)凝聚了一大批天才計(jì)算機(jī)科學(xué)家和程序員的智慧,結(jié)構(gòu)清晰、功能強(qiáng)大、技術(shù)先進(jìn),是大學(xué)師生研究、學(xué)習(xí)操作系統(tǒng)原理、計(jì)算機(jī)系統(tǒng)工作原理首選的實(shí)例系統(tǒng)2.UNIX系統(tǒng)誕生1969年,由BellLabs(貝爾實(shí)驗(yàn)室)KenThompson和DennisRitchie處于興趣開發(fā)而成,1971年完成版本11973年,DennisRitchie創(chuàng)造了C語言,與KenThompson一起用C語重寫了Unix的第三版內(nèi)核,使維護(hù)和移植變得便利同時(shí)授權(quán)給科研機(jī)構(gòu)與企業(yè)進(jìn)一步發(fā)展,逐漸形成兩個(gè)版本線:加州大學(xué)Berkeley分校,1978年發(fā)展了研究版本BSDUNIXAT&T,1983年開發(fā)商業(yè)版本SystemV版本4(SVR4),在此基礎(chǔ)上早就了IBMAIX和HPUX兩個(gè)發(fā)現(xiàn)版本3.UNIX主要版本AIX:是IBM基于SVR4開發(fā)的一套UNIX操作系統(tǒng),性能高、安全、可靠性高,廣泛用于金融領(lǐng)域。Solaris:SunMicrosystems1982年推出基于BSDUnix的SunOS,以后在接口上向SVR4靠攏,新版本稱為Solaris,性能高、處理能力強(qiáng),在高校、科研院所用得多HP-UX:是惠普公司以SVR4為基礎(chǔ)所研發(fā)成的類UNIX操作系統(tǒng)。IRIX:是SGI公司以SVR4與BSD延伸程序?yàn)榛A(chǔ)所發(fā)展成的UNIX操作系統(tǒng),具有很強(qiáng)的圖形處理功能,在游戲設(shè)計(jì)中廣泛使用的三維圖形庫編程openGL從此而來。4.UNIX系統(tǒng)存在的問題Unix的不同版本間不兼容,給應(yīng)用開發(fā)帶來極大負(fù)擔(dān)搭建Unix系統(tǒng)的費(fèi)用非常昂貴。主機(jī)、UNIX系統(tǒng)、開發(fā)工具、應(yīng)用軟件需分別購買Unix系統(tǒng)源碼不開放,購買要錢,給學(xué)習(xí)、研究帶來不便(2)Linux系統(tǒng)概述1.什么是Linux?Linux是一種類UNIX操作系統(tǒng),繼承了Unix系統(tǒng)強(qiáng)大的功能和性能,采用與Unix系統(tǒng)兼容的操作命令,學(xué)會(huì)操作Linux一般就會(huì)操作UNIX系統(tǒng),學(xué)會(huì)在Linux下開發(fā)應(yīng)用,就會(huì)在UNIX下開發(fā)應(yīng)用Linux系統(tǒng)運(yùn)行于廉價(jià)的PC和大多數(shù)計(jì)算機(jī)系統(tǒng)硬件,開放源碼,各種開發(fā)軟件豐富齊全、免費(fèi)下載使用,如gcc、java、apache、hadoop、MLLIBLinux是廣大學(xué)生學(xué)習(xí)操作系統(tǒng)原理、計(jì)算機(jī)系統(tǒng)原理的優(yōu)秀實(shí)例系統(tǒng)Linux系統(tǒng)由芬蘭學(xué)生林納斯1991年開發(fā)第1版,經(jīng)過20多年發(fā)展,已經(jīng)成為一種成熟、優(yōu)秀的操作系統(tǒng),已成為今天世界上使用最多的一種UNIX類操作系統(tǒng):Linux可安裝在各種計(jì)算機(jī)硬件設(shè)備中,比如個(gè)人計(jì)算機(jī)、大型機(jī)、超級(jí)計(jì)算機(jī)、Android手機(jī)、平板電腦、路由器,世界上運(yùn)算最快的10臺(tái)超級(jí)計(jì)算機(jī)全部運(yùn)行Linux操作系統(tǒng)2.Linux內(nèi)核版本Linux內(nèi)核是指由林納斯親自維護(hù)的Linux操作系統(tǒng)核心代碼2001年,Linux2.4版本內(nèi)核發(fā)布,2003年Linux2.6版本內(nèi)核發(fā)布,使Linux逐漸成為一個(gè)成熟的操作系統(tǒng)常見的Linux內(nèi)核版本有Linux2.4.20,Linux2.6、Linux3.2、Linux4.6.4等,其中r.x.y:r-主版本號(hào),x-偶數(shù)穩(wěn)定奇數(shù)開發(fā),y-錯(cuò)誤修補(bǔ)次數(shù)3.Linux發(fā)行版本Linux發(fā)現(xiàn)版本是廠商將Linux內(nèi)核與外圍實(shí)用程序和文檔包裝,提供安裝界面和系統(tǒng)配置、管理工具等,形成發(fā)行系統(tǒng)目前主要發(fā)現(xiàn)版本有:RedHatEnterpriseLinux(RHEL):主要用作服務(wù)器FedoraUbuntu:界面美觀、功能強(qiáng)大CentOS:是Linux服務(wù)器最有名最常用的發(fā)行版.中標(biāo)麒麟(NeoKylin):普華Linux(i-soft)由于采用相同內(nèi)核,Linux應(yīng)用程序在不同版本間可做到二進(jìn)制代碼級(jí)兼容練習(xí)二、Linux系統(tǒng)目錄結(jié)構(gòu)
(1)目錄樹結(jié)構(gòu)Linux與所有Unix系統(tǒng)具有大體一致的目錄結(jié)構(gòu)是一顆以”/”為根目錄的樹,無盤符概念,所有分區(qū)的文件掛載在某個(gè)目錄下各個(gè)目錄的取名和文件內(nèi)容有統(tǒng)一規(guī)定,是一種規(guī)范可根據(jù)目錄名和文件名推斷其大概功能/
/binbinary(二進(jìn)制)C:\WINDOWS\system32/bootboot
/devdevice
/etcetcetera(等等)注冊(cè)表/home
C:\DocumentsandSettings/include、/usr/include
/lib/usr/liblibrary(庫)C:\WINDOWS\system32/lost+found
/mntmount
/optoption
/procprocess注冊(cè)表/root
/sbin/usr/sbinsystembinary
/selinux
securelinux
/srv
server
/tmptemporaryC:\Windows\Temp/usrUnixSystem(UserSoftware)ResourcesC:\ProgramFiles/varvariable
(2)主要目錄說明:三、Linux目錄結(jié)構(gòu)設(shè)計(jì)的好處①用戶創(chuàng)建的文件、檔案全部放在/home目錄下,規(guī)范、方便管理、可靠性好;②可創(chuàng)建專用系統(tǒng)分區(qū),保存Linux系統(tǒng)文件,以只讀方式掛載在/usr目錄下,安全性好;③可創(chuàng)建一個(gè)專用分區(qū),保存動(dòng)態(tài)增長的文件檔案,以讀寫方式掛載到/var目錄下,不影響其他文件;④所有的UNIX和Linux目錄結(jié)構(gòu)與上述規(guī)范大體相似,同時(shí)也方便了人們的學(xué)習(xí)。練習(xí):三、Linux系統(tǒng)安裝、啟動(dòng)、登錄、用戶界面與命令格式
(1)安裝、啟動(dòng)、登錄看視頻(2)、
三種系統(tǒng)操作界面
1.圖形界面2.命令界面
3.編程接口open、read、write、close等,本課程基本上就是學(xué)習(xí)Linux編程接口(3)Linux命令格式1.Linux命令格式$命令名選項(xiàng)參數(shù)1參數(shù)2……命令名:由小寫英文字母構(gòu)成的字符串,命令功能為英文單詞含義,如date、cp、mv、who、ls命令選項(xiàng):是對(duì)命令的特別定義,以“-”開始,指示命令按特定模式執(zhí)行,產(chǎn)生輸出,如ls-l、ls-a若同時(shí)使用多個(gè)選項(xiàng),多個(gè)選項(xiàng)可用一個(gè)“-”連起來,如ls–la命令選項(xiàng)出現(xiàn)順序一般沒有要求,如ls-l-a與ls-a–l功能相同
gcchello.c-ohello與gcc-ohello.chello功能相同命令參數(shù):提供命令運(yùn)行的信息,或者是命令執(zhí)行過程中所使用的文件名,從哪里可以得到輸入,以及把輸出送到什么地方
如:cpfile1file2、mvfile1dir1、mkdirdir2練習(xí):2.命令說明1)命令輸出,命令執(zhí)行成功與否判定執(zhí)行成功:輸出期望信息,或無任何輸出,直接顯示命令提示符$失?。猴@示出錯(cuò)信息,格式:”命令名:出錯(cuò)描述”示例:$cd$pwd/home/can$LS
bash:LS:commandnotfound$
ls-P
ls:invalidoption-P$
ls-lPPls:cannotaccessPP:Nosuchfileordirectory2)命令聯(lián)機(jī)幫助百度百科Info命令,如$infopwdMan命令,如$manpasswd3)本課命令輸入描述說明四、Linux文件、目錄操作及文件屬性、權(quán)限
通常普通用戶的主要工作是文件檔案處理,輸入命令文件名運(yùn)行程序,通過命令從文件讀入輸入數(shù)據(jù),處理后,保存到另一文件。本課程所有實(shí)驗(yàn)任務(wù)都屬于這類工作Linux系統(tǒng)為每個(gè)普通用戶在/home目錄下創(chuàng)建了一個(gè)用戶名為目錄名的“家”,如用戶can的“家”是/home/can,用戶guest的“家”是/home/guest;但根用戶root的“家”在目錄/root普通用戶通常在其“家”目錄下進(jìn)行文檔處理,創(chuàng)建、修改、刪除文件檔案,不能增刪“家”之外其他目錄中的文件檔案(安全起見)(一)
目錄路徑與目錄操作
I、絕對(duì)路徑、工作目錄、相對(duì)路徑每個(gè)文件在某個(gè)目錄之下,要操作或訪問某個(gè)文件,應(yīng)在命令或程序中通過路徑方式給出文件所在位置。給出文件路徑方法有兩種:1.絕對(duì)路徑:給出從根目錄開始一直到所要操作文件名、中間以“/”隔開的完整路徑。示例:$cat/etc/passwd、
$more/home/can/NachOS-4.1/code/testfd=open("/home/can/work/f1",O_RDONLY);fp=fopen("/home/can/work/f1","r+");2.工作目錄相對(duì)路徑:為縮短文件路徑字符串長度,
Linux系統(tǒng)為每個(gè)命令窗口(Terminal)和應(yīng)用進(jìn)程設(shè)置一個(gè)工作目錄,工作目錄初始設(shè)置為用戶的“家”,可用命令cd改變當(dāng)用戶操作工作目錄中文件時(shí),僅需在命令中給出文件名,如touchf1若操作非工作目錄下文件,只需給出絕對(duì)路徑中除工作目錄之外的部分。示例:若當(dāng)前工作目錄為“/home/can”,則文件/home/can/NachOS-4.1/code/test/add.c可用相對(duì)路徑表示為NachOS-4.1/code/test/add.c,相應(yīng)命令檢視命令簡化為cat
NachOS-4.1/code/test/add.cII、幾個(gè)特殊目錄(“.”、”..”、”~”、“-”)Linux系統(tǒng)定義幾個(gè)符號(hào)來表示一些常用的特殊目錄,給命令輸入帶來方便“.”:當(dāng)前工作目錄,若工作目錄為/home/can,則在文件路徑中,“.”等同于/home/can“..”:上一層目錄,若當(dāng)前目錄為/home/can,則“..”表示/home“-”:前一個(gè)工作目錄,如當(dāng)前工作目錄為/home/can,執(zhí)行cd/etc后,“.”表示/etc,而“-”表示/home/can;“~”:表”目前用戶”所在的家目錄,若但其用戶為can,則“~”表示/home/can;~guest代表guest家目錄“/home/guest”。練習(xí):III、Linux目錄操作命令(cd,pwd,mkdir,rmdir,rm)1.cd(變換工作目錄)、pwd(顯示當(dāng)前工作目錄)cd(changedirectory)命令改變當(dāng)前工作目錄,使用pwd(printworkdirectory)命令顯示當(dāng)前工作目錄的絕對(duì)路徑通常人們喜歡將兩個(gè)命令聯(lián)合使用,用cd切換到目標(biāo)目錄,用pwd驗(yàn)證切換到哪里去了。范例:$
pwd/home/can$
cd~guest$pwd/home/guest$cd~$
pwd/home/can$
cd
$
cd..$
pwd/home
$
cd-$
cd/var/spool/mail
$cd../mqueue思考題2.mkdir(創(chuàng)建目錄)、rmdir(刪除空目錄)、ls(檢視目錄),rm(刪除非空目錄)一般在某個(gè)mkdir、rmdir、rm命令后接一個(gè)ls(list)命令,列出文件目錄,以驗(yàn)證目錄創(chuàng)建、目錄刪除操作是否成功范例$cd/tmp$pwd
/tmp$rm-rf*
$ls
$mkdirtest
$ls
test$mkdirtest1test/subtest2
$ls.testtest1test2test:Sub$rmdirtest1
$rmdirtestrmdir:failedtoremove`test1':Directorynotempty$rm-rftest$ls
test23.ls(文件目錄檢視命令)
格式:$ls[-aAdfFhilRS]目錄名
常用選項(xiàng):-a:列出全部的檔案(或稱文件),連同文件名以“.”開頭的隱藏檔案(文件)-A:列出全部的檔案,連同隱藏檔,但不包括.與..這兩個(gè)目錄,這個(gè)選項(xiàng)用得多;-F:根據(jù)檔案、目錄等信息,給予附加數(shù)據(jù)結(jié)構(gòu),例如:*:代表可執(zhí)行檔;/:代表目錄;=:代表socket檔案;|:代表FIFO檔案;-i:列出inode位置,而非列出檔案屬性;-l:以長格式列出目錄內(nèi)容,包含檔案的屬性等等數(shù)據(jù),這個(gè)選項(xiàng)用得多;-R:連同子目錄內(nèi)容一起列出來;-i:列出inode位置,而非列出檔案屬性;范例:$cd
$ls
DesktopNachos-3.4-for-ubuntu.tar.gzPublic
$ls-A.bash_history.lesshstPictures
…
$ls/etc…$ls-FDesktop/nachos-3.4/Pictures/fifo1|a.out*test/f1$ls-l~total24708drwxr-xr-x2rootroot40962012-08-2117:31Desktopdrwxr-xr-x2rootroot40962012-08-1823:27Documentsdrwxr-xr-x2rootroot40962012-08-1823:27Downloads-rw-r--r--1rootroot02015-02-0111:41f1prw-r--r--1rootroot02015-02-0111:38fifo1$ls-i686757Desktop686812nachos-4.0.tar807026Documents807159NachOS-4.1.bak$ls-ial683678-rw1rootroot74282014-04-0515:44.bash_history686917-rw-r--r--1rootroot31352012-08-1915:07.bashrc925835drwx5rootroot40962015-02-0108:07.cache678320drwx9rootroot40962012-10-2417:55.config(二)
文件屬性與權(quán)限
I、文件屬性描述有9種,可用命令ls–l列出文件類型和訪問權(quán)限位結(jié)構(gòu)II、文件訪問權(quán)限1.操作權(quán)限含義對(duì)于普通文件、管道和設(shè)備等文件來寫來說,r權(quán)限:該用戶能讀這個(gè)文件的內(nèi)容,w權(quán)限:表示能更改文件內(nèi)容x權(quán)限:能執(zhí)行這個(gè)文件代表的程序或命令對(duì)于目錄文件來說r權(quán)限:能列該目錄內(nèi)容,w權(quán)限:在該目錄中增加或刪除文件,x權(quán)限:能用cd命令進(jìn)入該目錄示例:-rwxr-xr-x
1canusers 1234567 2015-02-0111:41 hellodrwxr-xr--2aliceusers40962015-02-0112:41 sub(三)Linux文件操作命令
I、復(fù)制、移動(dòng)與刪除文件(cp,rm,mv,ln)ln(link)用于建立硬鏈接與符號(hào)鏈接,硬連接指向同一索引節(jié)點(diǎn)的另一文件名;mv(move)用于移動(dòng)文件或目錄到一個(gè)新的目錄位置,也可以用于更名(rename)文件;rm(remove)用于移除文件,不但可刪除文件,還可刪除目錄。1.復(fù)制文件(cp)命令格式:cp[-adfilprsu]源文件(source)目的文件(destination)
cp[options]source1source2source3Directory
常用選項(xiàng):-f:為強(qiáng)制(force)的意思,若有重復(fù)或其它疑問時(shí),不會(huì)詢問使用者,而強(qiáng)制復(fù)制;-i:若目的文件(destination)已經(jīng)存在時(shí),在覆蓋時(shí)會(huì)先詢問確認(rèn)-l:創(chuàng)建文件的硬連結(jié)(hardlink),而非復(fù)制檔案本身;-r:遞歸持續(xù)復(fù)制,用于目錄復(fù)制;-s:復(fù)制成為符號(hào)連結(jié)文件(symboliclink),亦即“快捷方式”文件;范例1(復(fù)制單個(gè)文件):將家目錄下的.bashrc復(fù)制到/tmp下,文件名改為bashrc$cd/tmp
$cp~/.bashrcbashrc$
ls范例2(復(fù)制單個(gè)文件):將/var/log/wtmp復(fù)制到/tmp底下,文件名不變$cd/tmp$cp/var/log/wtmp.$ls-l/var/log/wtmpwtmp-rw-rw-r--1rootutmp71808Jul1812:46/var/log/wtmp-rw-r--r--1rootroot71808Jul1821:58wtmp范例3:(復(fù)制整個(gè)目錄):復(fù)制/etc/這個(gè)目錄下的所有內(nèi)容到/tmp底下$cd/tmp
$cp-rf/etc//tmp范例4(建立硬連接、符號(hào)鏈接):將范例一復(fù)制的bashrc建立一個(gè)硬鏈接和一個(gè)快捷方式$
ls-lbashrc$cp-sbashrcbashrc_slink或ln-sbashrcbashrc_slink$
cp-lbashrcbashrc_hlink或lnbashrcbashrc_hlink
$
ls-lbashrc*范例5(同時(shí)復(fù)制多個(gè)文件):將家目錄的.bashrc及.bash_history復(fù)制到/tmp底下$cp~/.bashrc~/.bash_history/tmp2.rm(移除檔案或目錄)
命令格式:#rm[-fir]檔案或目錄常用選項(xiàng):-f:就是force的意思,強(qiáng)制移除;-i:互動(dòng)模式,在刪除前會(huì)詢問使用者是否動(dòng)作-r:遞歸刪除?。∫娢募h文件,見目錄刪目錄范例1:復(fù)制一個(gè)文件然后刪除之$cd/tmp$cp~/.bashrcbashrc$rmbashrc范例2:刪除一個(gè)不為空的目錄$mkdirtest$cp~/.bashrctest/$rmdirtestrmdir:`test‘:Directorynotempty$rm-rftest3.mv(移動(dòng)檔案與目錄,或更名)
常用格式:mv[-fiu]sourcedestination(檔案或目錄更名)
mv[options]source1source2source3Directory(檔案或目錄移動(dòng))
常用選項(xiàng):-f:force強(qiáng)制的意思,強(qiáng)制直接移動(dòng)而不詢問;-i:若目標(biāo)檔案(destination)已經(jīng)存在時(shí),就會(huì)詢問是否覆蓋!-u:若目標(biāo)檔案已經(jīng)存在,且source比較新,才會(huì)更新(update)范例1(單個(gè)文件移動(dòng)):復(fù)制一檔案,建立一目錄,將檔案移動(dòng)到目錄中$
cd/tmp$cp~/.bashrcbashrc$mvbashrcmvtest
$
cd/tmp$cp~/.bashrcbashrc$mkdirmvtest$mvbashrcmvtest范例2:(目錄更名):將剛剛建立的目錄mvtest稱更名為mvtest2$mvmvtestmvtest2范例3:(多文件移動(dòng)):再建立兩個(gè)檔案,再全部移動(dòng)到/tmp/mvtest2中$cp~/.bashrcbashrc1$cp~/.bashrcbashrc2$mvbashrc1bashrc2mvtest2練習(xí)II、文件內(nèi)容查閱(cat,tac,head,tail,more,less,od)1.檢視文本文件內(nèi)容:cat,tac,head,tail,more,less(范例)$cat/etc/passwdroot:x:0:0:root:/root:/bin/bashdaemon:x:1:1:daemon:/usr/sbin:/bin/sh$more/etc/passwd……avahi-autoipd:x:103:108:Avahiautoipdaemon,,,:/var/lib/avahi-autoipd:/bin/falseavahi:x:104:109:AvahimDNSdaemon,,,:/var/run/avahi-daemon:/bin/false--More--(51%)$less/etc/passwd……avahi-autoipd:x:103:108:Avahiautoipdaemon,,,:/var/lib/avahi-autoipd:/bin/falseavahi:x:104:109:AvahimDNSdaemon,,,:/var/run/avahi-daemon:/bin/false2.創(chuàng)建與編輯文件(gedit,touch,dd)gedit:創(chuàng)建和編輯文本文件(如源程序)touch:創(chuàng)建空文件,更新文件修改時(shí)間dd:創(chuàng)建指定大小,內(nèi)容初始化為0的文件gedit$gedit&或$geditp1.c(2)在/tmp目錄下新建一個(gè)空文件testtouch$cd/tmp$
touchtesttouch(3)在/tmp目錄下創(chuàng)建一個(gè)大小為10MB的文件testdd:$cd/tmp$
ddif=/dev/zeroof=testddcount=10240bs=1024$ls-ltestdd-rw-r--r--1rootroot0Jul1920:49testtouch(四)
檔案屬性修改(touch,chmod)
文件其他屬性在文件編輯過程中自動(dòng)修改,文件權(quán)限信息通過chmod命令修改,文件所屬用戶、所屬用戶組用命令chown和chgrp修改chmod命令基本格式為:范例:創(chuàng)建文件f52、f521、f522,將f52權(quán)限更改為777,為所有用戶添加對(duì)f521讀寫權(quán)限,去掉所有用戶對(duì)f522的寫權(quán)限練習(xí):思考題1.161)一個(gè)Linux文件的八進(jìn)制數(shù)訪問權(quán)限為755,用ls-l命令顯示的文件權(quán)限是什么?用ls-l命令顯示的文件權(quán)限是rw-r--r--,用八進(jìn)制數(shù)表示的權(quán)限值是多少?2)寫出命令,在當(dāng)前目錄下創(chuàng)建文件f54,將其訪問權(quán)限設(shè)置為664.3)當(dāng)前目錄下某個(gè)文件test.sh的權(quán)限是rw-r--r--,成功執(zhí)行命令chmod+xtest.sh后,test.sh的權(quán)限變成___________________,用八進(jìn)制數(shù)表示為____________。(五)使用通配符(*,-,?)一次操作多個(gè)文件(目錄)
*:匹配任何字符串?:匹配任何一個(gè)字符(六)
檔案的壓縮與打包(tar命令)
I、文件打包和解包常用格式:$tar<選項(xiàng)>[壓縮文件]<文件列表>
常用選項(xiàng):
-cvf打包
-xvf解包
-czvf打包后壓縮成.gz格式恩及
-zxvf先對(duì).gz文件解壓縮,再解包
-cjvf打包并壓縮成.bz2格式文件
-xjvf先對(duì).bz2文件節(jié)壓縮,再解包范例:在當(dāng)前目錄下創(chuàng)建目錄dir5,在其中創(chuàng)建四個(gè)文件f1、f2、f3、f4,對(duì)該目錄打包并壓縮成文件dir5.tar.gz,刪除該目錄,然后解包dir5.gz:2.在Windows主機(jī)與Linux虛擬機(jī)之間進(jìn)行檔案互傳
(1)文本復(fù)制(2)文件拖放:看視頻練習(xí):總結(jié):即興總結(jié)課后作業(yè):命令練習(xí)實(shí)驗(yàn)第2章LinuxC編程環(huán)境本章概述本章的學(xué)習(xí)目標(biāo)主要內(nèi)容本章概述
本章主要講述shell基本編程方法、Shell環(huán)境變量、Shell控制結(jié)構(gòu)、Shell函數(shù)、Shell輸入輸出的基本概念、語法結(jié)構(gòu)和編程方法,其中介紹的示例都淺顯易懂,幫助讀者掌握shell基本編程方法。本章重點(diǎn)是shell變量、輸入輸出重定向、管道、環(huán)境變量、標(biāo)準(zhǔn)文件描述符的概念和基本使用方法本章學(xué)習(xí)目標(biāo)掌握Shell腳本、變量、表達(dá)式、數(shù)學(xué)運(yùn)算、字符串處理、輸入輸出的語法結(jié)構(gòu)掌握使用shell條件和條件、選擇、循環(huán)三大控制結(jié)構(gòu)編程的基本編程方法理解全局變量、局部變量、環(huán)境變、命令行參數(shù)量基本概念與用途掌握文件I/O和I/O重定向的基本編程方法理解Shell函數(shù)本章主要內(nèi)容Shell編程基本概念Shell數(shù)學(xué)運(yùn)算與字符串處理Shell條件與if控制結(jié)構(gòu)循環(huán)結(jié)構(gòu)環(huán)境變量與命令行參數(shù)Linux全局變量和環(huán)境變量Linux文件I/O、I/O重定向和管道命令行參數(shù)shell函數(shù)2.1Shell編程基本概念1.shell腳本程序?qū)嵗齭hscri.sh組成Shell腳本的語句可包括Linux命令、賦值語句、輸入輸出語句、流程控制結(jié)構(gòu)”#!/bin/bash//注釋行l(wèi)ist=`ls./temp`//該命令的輸出為表達(dá)式值forfin$listdomv./temp/$f./temp/$f.txtdoneechofinished!//輸出信息“finished!”$chmod+xshscri.sh$./shscri.shfinished!一.Shell腳本程序結(jié)構(gòu)二.Shell變量與賦值表達(dá)式1.變量定義和賦值Shell變量無需事先定義直接復(fù)制,在給變量賦值時(shí)自動(dòng)獲得定義Shell變量值的類型都是字符串,可以將任何字符串賦值給變量。值通過等號(hào)直接賦給用戶變量,在變量、等號(hào)和值之間不能出現(xiàn)空格示例:var1=10var2=57var4=testingvar5="stillmoretesting"exvar.c:#!/bin/bash#testingvariablesnum=3guest1=Aliceguest2="BillGates"msg="$guest1logsoutbeforethe${num}thday."echo$msgecho"currentdirectoryof${guest2}is`pwd`."2.Shell變量引用和shell表達(dá)式給Shell變量的賦值表達(dá)式可以由字符串常量、Shell變量引用、Linux命令輸出直接拼接而成。Shell要求通過美元符號(hào)($)來引用變量若被引用的shell變量名后緊接著字母、數(shù)字、下劃線等字符,則應(yīng)將變量名用花括號(hào)({})括起$chmod+xexvar.sh$./exvar.shAlicelogsoutbeforethe3thday.currentdirectoryofBillGatesis/home/xuqg/temp.思考題下面的shell腳本存在多處錯(cuò)誤,每行都有錯(cuò),請(qǐng)指出來并予以更正。#!bin/bash var1=5var2=helloworldvar3=$var2abcdecho我的當(dāng)前目錄是:'pwd'四、Shell輸入輸出語句Shell腳本用echo命令變量值或包含變量值、字符串常量、命令輸出的表達(dá)式值顯示出來shell腳本用read命令讓用戶從鍵盤終端輸入信息,存入Shell變量格式:read[-s][-pprompt]variable1variable2…表示將用戶輸入的多個(gè)字符串依次存入shell變量variable1、varible2、…。-pprompt:表示在提示用時(shí)輸入前顯示提示串prompt-s:表示默讀,用戶輸入信息時(shí)無任何顯示,用于輸入密碼等敏感信息示例程序io.sh:#!/bin/bash#testingreadandechocommandsread-p"Enteryourname:"firstlastecho"Checkingdatafor$last,$first"read-s-p"請(qǐng)輸入您的密碼:"passecho"Isyourpasswordreally$pass?“$chmod+xio.sh$./io.shEnteryourname:BillGatesCheckingdataforGates,Bill請(qǐng)輸入您的密碼:123456Isyourpasswordreally123456?五、退出腳本和退出狀態(tài)Bash啟動(dòng)的一條命令或一個(gè)腳本運(yùn)行完成后,我們經(jīng)常需要了解命令或腳本的執(zhí)行情況,成功、失敗,還是壓根就沒有執(zhí)行,如果失敗,是什么原因所致。后續(xù)命令需要根據(jù)退出狀態(tài)做不同處理。在Linux系統(tǒng)中,任何命令、腳本執(zhí)行完成后,都有一個(gè)退出狀態(tài),即使命令根本沒有執(zhí)行或不存在,也會(huì)有一個(gè)退出狀態(tài)。按照Linux系統(tǒng)規(guī)范,命令或腳本退出狀態(tài)碼是一個(gè)介于0和255之間的整數(shù)值,一般0代表執(zhí)行成功,>0代表執(zhí)行失敗。命令或腳本的退出狀態(tài)有用戶設(shè)置和系統(tǒng)設(shè)置兩種情況。(1)用戶設(shè)置程序或腳本退出狀態(tài)碼,格式為:exit狀態(tài)碼狀態(tài)碼為0表示腳本執(zhí)行成功,為非0表示失敗,非0編碼與失敗原因之間的對(duì)應(yīng)關(guān)系由編程人員自行定義。(2)系統(tǒng)設(shè)置退出狀態(tài)代碼描述代碼描述0命令成功完成128無效的退出參數(shù)126命令無法執(zhí)行128+x使用Linux信號(hào)的致命錯(cuò)誤127沒有找到命令130CTRL-C終止進(jìn)程Linux將進(jìn)程(命令、腳本執(zhí)行)的退出狀態(tài)保存在一個(gè)特殊的shell變量(?)中,可在進(jìn)程結(jié)束時(shí),立即執(zhí)行echo等命令讀取該變量的值來取得前一個(gè)命令或腳本的退出狀態(tài)。$dateSatSep2910:01:30EDT2007$echo$?0$asdfg-bash:asdfg:comrnandnotfound$echo$?127$echo$?0$./myprog.c-bash:./myprog.c:permissiondenied$echo$?126status1.sh#/bin/bashpwd$bash./status1.sh$echo$?0status2.sh#/bin/bashexit0$bash./status2.sh$echo$?0Status3.sh#/bin/bashexit10$bash./status3.sh$echo$?10status4.cintmain(){exit(5);}$gcc-ostatus4status4.c$./status4$echo$?5status5.cintmain(){atoi("123");}$gcc-ostatus5status6.c$./status5$echo$?123練習(xí)題2.2在當(dāng)前目錄下輸入命令”ls-l”的輸出結(jié)果如下:-rw-rw-r--1xuqgxuqg114Jul1519:07test.sh-rw-rw-r--1xuqgxuqg110Jul1518:46semlib.c~drwxr-xr-x4rootroot4096Feb100:18dir1請(qǐng)問下列各命令序列中echo$?的輸出結(jié)果是什么?(注意:LinuxShell允許在一行輸入多個(gè)命令,只需命令間以分號(hào)隔開)./dir1;echo$?;echo$?cd;echo$?./semlib.c;echo$?;$echo$?./abcd;echo$?2.2Shell數(shù)學(xué)運(yùn)算與字符串處理一、Shell數(shù)學(xué)計(jì)算Linuxshell提供兩種實(shí)施數(shù)學(xué)運(yùn)算的機(jī)制:一種方法是使用expr命令,格式為exprexpression;另一種方法用美元符號(hào)和方括號(hào)把數(shù)學(xué)表達(dá)式括起來,格式為$[expression]。示例:arith.sh#!/bin/bashvarl=100var2=45var3=50var4=$[$varl*($var2-$var3)]echoThefinalresultis$var4$chmod+xarith.sh$./arith.shThefinalresultis-500二、Shell中字符串處理BashShell本身沒有庫函數(shù)概念,對(duì)字符串處理的支持主要通過expr、awk等命令來實(shí)現(xiàn)功能編程方法編程示例抽取子字符串exprsubstr字符串開始索引長度str=`exprsubstr"abc"22`結(jié)果str值為:bc${str:pos}${str:pos:len}功能:在字符串$str中,抽取從位置pos開始,長度為len的子串str="abc"
str2=${str:1}
str3=${str:1:2}結(jié)果:str2、str3的值都是bc計(jì)算字符串的長度${#string}exprlength$string功能:計(jì)算字符串$string的長度str=acbdefn1=${#str}n2=`exprlength`結(jié)果為n1、n2的值都是5計(jì)算子串的出現(xiàn)位置exprindex$stringsubstring功能:在字符串$string上找出substring中字符第一次出現(xiàn)的位置,若找不到則exprindex返回0或1。str="hello,everyone"n1=`exprindex"$str"my`n2=`exprindex"$str"ev`n3=`exprindex"$str"ev.*`結(jié)果:n1為0,n2、n3都是2找匹配字符串長度exprmatch$stringsubstring功能:計(jì)算$string從頭開始匹配substring字符串長度,返回匹配到的字符串長度,若找不到則返回0string="hello,everyone"n1=`exprmatch"$string"he`n2=`exprmatch"$string"he.*`結(jié)果:n1為2,n2為14其中,.*正則表達(dá)式通配符,表示匹配任何子串刪除字符串${string#substring}功能:刪除string開頭處與substring匹配的最短字符子串str="20091111readnowplease"str1=${str#2*1}結(jié)果str1為:111readnowplease刪掉了從字符2開始,到第一個(gè)1為止的子串${string##substring}功能:刪除string開頭處與substring匹配的最長字符子串str="20091111readnowplease"str2=${str##2*1}結(jié)果str2為:readnowplease刪掉了從字符2開始,到第一個(gè)1為止的子串思考題2.3請(qǐng)寫出執(zhí)行下面腳本的輸出:#!/bin/bashstring="hello,everyonemynameisxiaoming"echoecho${#string}exprindex"$string"myexprmatch"$string"hell.*exprmatch"$string"hellecho${string:10:5}exprsubstr"$string"1052.3Shell條件與if控制結(jié)構(gòu)Bash可以對(duì)Shell腳本進(jìn)行流程控制,提供if、case和for等控制結(jié)構(gòu),使Shell具有C、Java等高級(jí)語言的流程控制能力一、if結(jié)構(gòu)化語句
不帶else分支的if語句格式:ifcommandthencommandsfi帶else分支的if語句格式:ifcommandthencommandselsecommandsfi示例1:condif1.sh1#!/bin/bash2#testingtheifstatement3ifdate4then5echo"itworked"6fi$./condif1.shSatSep2914:09:24EDT2007itworked示例2:condif2.sh1#!/bin/bash2#testingabadcomrnand3ifasdfg4then5echo"itdidn'twork"6fi7echo"we'reoutsideoftheifstatement"$./condif12.sh./test2:line3:asdfg:commandnotfoundwe'reoutsideoftheifstatement示例3:condif3.sh1#!/bin/bash2#testingmultiplecommandsinthethensection3testuser=can4ifgrep$testuser/etc/passwd5then6echoThebashfilesforuser$testuserare:71s-a/home/$testuser/.b*8else
9echo"Theusername$testuserdoesn'texistonthissystem"10fi$./condif3.shrich:x:500:500:RichBlum:/home/rich:/bin/bashThefilesforuserrichare:/home/rich/.bash_historyIhome/rich/.bash_profile/home/rich/.bash_logout/home/rich/.bashrc二、test命令test命令可以做數(shù)值比較、文件屬性檢查、字符串比較,用于if條件判斷。過test命令算出的條件值為true,則test命令將其退出狀態(tài)碼設(shè)置為0,if語句執(zhí)行其Then分支,如果算出的條件值為false,則test命令退出狀態(tài)為非0,if語句的else分支執(zhí)行格式:if[condition]
then
commandsfiiftestconditionthencommandsfi1.數(shù)值比較比較描述比較描述n1-eqn2檢查n1是否等于n2n1-len2檢查n1是否小于或等于n2n1–gen2檢查n1是否大于或等于n2n1-ltn2檢查n1是否小于n2n1-gtn2檢查n1是否大于n2n1-nen2檢查n1是否不等于n2cmpnum.sh是一個(gè)例子:#!/bin/bash
#usingnumerictestcomparisons
val1=10
va12=11
if[$va11-gt5)
then
echo"Thetestvalue$va11isgreaterthan5"
fi
if[$va11-eq$va12]
then
echo"Thevaluesareequal"
e1se
echo"Thevaluesaredifferent"
fi$./cmpnum.shThetestvalue10isgreaterthan5Thevaluesaredifferent2、字符串比較比較描述比較描述str1=str2檢查str1與str2是否相同str1>str2檢查str1是否大于str2str1!=str2檢查str1與str2是否不同-nstr1檢查str1長度是否大于0str1<str2檢查str1是否大小于str2-zstr1檢查str1長度是否為0示例腳本cmpstr.sh1234567891011121314151617#!/bin/bash#test1ngstringlengthvall=testingva12=''if[-n$vall]thenecho"Thestring'$vall'1snotempty"e1seecho"Thestring'$vall'isempty"fi
if[-z$va12]thenecho"Thestring'$val2'1snotempty"e1seecho"Thestring'$val2'isempty"fi$./cmpstr.shThestring'testing'isnotemptyThestring"isempty3、文件測試比較描述-dfile檢查file是否存在并且是一個(gè)目錄-efile檢查file是否存在-ffile檢查file是否存在并且是一個(gè)文件-rfile檢查file是否存在并且可讀-sfile檢查file是否存在并且不為空-wfile檢查file是否存在并且可寫-xfile檢查file是否存在并且可執(zhí)行-Ofile檢查file是否存在并且被當(dāng)前用戶擁有-Gfile檢查file是否存在并且默認(rèn)值為當(dāng)前用戶組file1-ntfile2檢查file1是否比file2新file1-ozfile2檢查file1是否比file2舊(1)檢查對(duì)象是否存在示例cmpfile.sh123456789101112131415161718#!/bin/bash#checkifafileif[-e$HOME]thenecho"Theobject$HOMEexists,isitafile?"if[-f$HOME]thenecho"Yes,it'safile!"elseecho"No,$HOMEisnotafile!"fiif[-f$HOME/.bash_history]thenecho"But$HOME/.bash_historyisafile!"fielseecho"Sorry,theobjectdoesn'texist"fi$./cmpfile1.shTheobject…exists,isitafl1e?NO,…isnotafile!But…/.bash_historyisafile!(2)檢查文件是否能夠運(yùn)行cmpfile2.sh123456789#!/bin/bash#testingfi1eexecutionif[-xcmpfile1.sh]thenecho"Youcanrunthescript:"./cmpfile1.she1seecho"Sorry,youareunab1etoexecutethescript"fi$./cmpfile2.shYoucanrunthescript:….三、復(fù)合條件檢查if-then語句可以使用布爾邏輯來合并檢查條件,可以使用兩個(gè)布爾操作符:...[conditionl]&&[condition2]...[conditionl]||[condition2]cmpand.sh示例腳本1 #!/bin/bash2 #testingcompoundcomparisons3 if[-d$HOME]&&[-w$HOME:/testing]4 then5 echo"Thefileexistsandyoucanwritetoit"6 else7 echo"1can'twritetothefile"8 fi$./cmpand.shIcan'twritetothefile$touch$HOME:/testing$./cmpand.shThefileexistsandyoucanwritetoit四、case語句格式:casevariableinpatternl|pattern2)commandsl;;pattern3)commands2;;*)defaultcommands;;esaccondcase.sh示例程序:1 #!/bin/bash2 #usingthecasecommand3 USER=rich4 case$USERin5 rich|barbara)6 echo"Welcome,$USER"7 echo"Pleaseenjoyyourvisit";;8 testing)9 echo"Specialtestingaccount";;10 essica)11 echo"Don'tforgettologoffwhenyou'redone";;12 *)13 echo"Sorry,you'renotallowedhere";;14 esac$./condcase.shWelcome,richPleaseenjoyyourvisit2.4循環(huán)結(jié)構(gòu)一、for循環(huán)結(jié)構(gòu)格式:forvarinlistdocommandsdone1.讀取列表或變量中的值loopfor1.sh是一個(gè)示例:1 #!/bin/bash2 #basicforcommand3 fortestinAlabamaAlaskaArizona"NewMexico"4 do5 echoThenextstateis$test6 done$./loopfor1.shThenextstateisAlabamaThenextstateisAlaskaThenextstate1sArizonaThenextstateisNewMexico2.讀取命令結(jié)果中的值loopfor2.sh示例:1 #!/bin/bash2 #readingvaluesfromafile3 file="states"4 forstatein`cat$file`5 do6 echo"Visitbeautiful$state"7 done3.使用通配符讀取目錄loopfor3.sh示例程序:1 #!/bin/bash2 #iteratethroughallthefilesinadirectory3 forfilein/home/can/work/*4 do5 if[-d"$file"]6 then7 echo"$fileisadirectory"8 elif[-f"$file"]9 then10 echofileisafile"11 fi12 done$./loopfor3.sh/home/can/work/chap3isadirectory……編程題2.4ls-F命令的輸出如下:
chap3/chap4/chap5/chap6/chap7/chap8/chap9/lib/
請(qǐng)編寫Shell程序,將子目錄lib下的libwrapper.a和wrapper.h兩個(gè)文件復(fù)制到chap3~chap9這七個(gè)目錄中。二、while循環(huán)結(jié)構(gòu)whiletestcommanddoothercommandsdone示例程序loopwhile1.sh1 #!/bin/bash2 #whilecommandtest3 varl=104 while[$varl-gt0]5 do6 echo$var17 var1=$[$var1-1]8 done$./loopwhile1.sh1098…..三、until循環(huán)結(jié)構(gòu)untiltestcommandsdoothercommandsdone示例loopuntil.sh1 #!/bin/bash2 #usingtheuntilcornmand3 var1=1004 until[$var1-eq0]5 do6 echo$var17 var1=$[$var1-25]8 done$./loopuntil.sh10075……2.5Linux全局變量和環(huán)境變量一、LinuxShell層次結(jié)構(gòu)$bash./scope.sh命令①$bash 命令②$./scope.sh 命令③$exit 命令④$../scope.sh
命令⑤二、Shell全局變量與局部變量全局變量是在所有子Shell中都可見的Shell變量,而局部變量是僅在創(chuàng)建它的Shell中可見的變量。局部變量是通過直接給變量賦值而創(chuàng)建的Shell變量,而全局變量則是用export命令處理過的局部變量以下腳本就創(chuàng)建了局部變量var1和兩個(gè)全局變量var2、var3:var1=localexportvar2="globalvar2"var3="globalvar3"exportvar32假設(shè)腳本文件scope2.sh #!/bin/bash echo$var1 echo$var2終端執(zhí)行的命令序列:$var1=local$exportvar2="globalvar2"$bash./scope2.sh$bash$./scope.sh$exit$../scope2.sh或$source./scope2.sh思考題2.6在上述腳本中,將第1行命令改為“exportvar1=local”,將第2行命令改為“var2=globalvar2”,請(qǐng)問第3、5、7行命令的輸出結(jié)果是什么?三、Linux環(huán)境變量系統(tǒng)環(huán)境變量實(shí)際上是在Linux系統(tǒng)啟動(dòng)、用戶登錄、創(chuàng)建Shell會(huì)話(打開命令窗口)的過程中,執(zhí)行特定初始化腳本創(chuàng)建任務(wù)的全局變量變量描述PATH冒號(hào)隔開的目錄列表,Shell將在這些目錄中查找命令LD_LIBRARY_PATH程序運(yùn)行過程中查找第三方動(dòng)態(tài)庫的目錄路徑,以冒號(hào)隔開多個(gè)目錄C_INCLUDE_PATHC程序編譯過程中查找第三方頭文件的目錄路徑,以冒號(hào)隔開多個(gè)目錄CPLUS_INCLUDE_PATHC++程序編譯過程中查找第三方頭文件的目錄路徑,以冒號(hào)隔開多個(gè)目錄JAVA_HOMEJava開發(fā)環(huán)境所在目錄UID當(dāng)前用戶IDHOME當(dāng)前用戶的主目錄USER當(dāng)前用戶名SHELL當(dāng)前Shell類型PWD當(dāng)前工作目錄表2-7Linux常用的環(huán)境變量的名稱和描述四、Shell變量的刪除和只讀設(shè)置方法$var1=123456$echovar1123456$unsetvar1$echo$var1$$readonlyx=9$x=10bash:x:readonlyvariable #不能再給只讀變量x賦值$declare–ry="wearefriends"$unsetybash:unset:x:cannotunset:readonlyvariable五、Shell數(shù)組的定義和使用方法定義格式:array_name=(value1...valuen)或array_name[i]=value1引用格式
${array_name[index]}示例腳本array.sh1 #!/bin/sh2 NAME[0]="Zara"3 NAME[1]="Qadir"4 NAME[2]="Mahnaz"5 echo"FirstIndex:${NAME[0]}"6 echo"SecondIndex:${NAME[1]}"$./array.shFirstIndex:ZaraSecondIndex:Qadir2.6Linux文件I/O、I/O重定向和管道一、
標(biāo)準(zhǔn)文件描述符文件描述符縮寫描述0STDIN標(biāo)準(zhǔn)輸入1STDOUT標(biāo)準(zhǔn)輸出2STDERR標(biāo)準(zhǔn)錯(cuò)誤輸出二、I/O重定向1.輸出重定向格式:Comrnand>outputfile$date>outfile$ls-1outfile-rw-r--r--1richrich29Sep2417:56outfile$catoutfileTueMay2417:56:58EDT2016$who>>outfile$catoutfileTueMay2417:56:58EDT2016xuqg:02016-06-2201:22(:0)2.輸入重定向格式:comrnand<inputfi1e$wc<outfile313643.標(biāo)準(zhǔn)錯(cuò)誤輸出重定向$ls-albadfi1e>outfile1s:cannotaccessbadfi1e:Nosuchfi1eordirectory$catoutfile$ls-albadfi1e2>errfile$caterrfile1s:cannotaccessbadfi1e:Nosuchfi1eordirectory$ls-altesttest2test3badtest2>test61>test7$cattest61s:cannotaccesstest:Nosuchfileordirectory1s:cannotaccessbadtest:Nosuchfileordirectory$cattest7-rw-rw-r--1richrich1582007-10-2611:32test2-rw-rw-r--1richrich02007-10-2611:33test3思考題2.7找出用戶當(dāng)前主目錄下所有的C程序文件的路徑,存入文件cfile.lst。三、管道格式:commandl|commard2$cat/etc/passwd|grep/bin/bashroot:x:0:0:root:/root:/bin/bashcouchdb:x:105:113:CouchDBAdministrator,,,:/var/lib/couchdb:/bin/bashlinux:x:1000:1000:Farsight,,,:/home/linux:/bin/bashcan:x:1002:1002::/home/can:/bin/bash$cat/etc/passwd|grep/bin/bash|wc-l4四、從文件獲取輸入bash從標(biāo)準(zhǔn)輸入讀取數(shù)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 共建電站合同范本
- 場地服務(wù)合作合同范本
- 汽車出口貿(mào)易合同范本
- 車輛抵押欠款合同范本
- 在農(nóng)村買土地合同范本
- 醫(yī)藥銷售人員合同范本
- 單位圍墻改造工程合同范本
- 勞動(dòng)合同范本小企業(yè)
- 專家工作合同范本模板范文
- 合同范例電視劇
- 揚(yáng)塵防治(治理)監(jiān)理實(shí)施細(xì)則(范本)
- 中班:語言擠啊擠
- (高職)旅游景區(qū)服務(wù)與管理電子課件完整版PPT全書電子教案
- 唯美動(dòng)畫生日快樂電子相冊(cè)視頻動(dòng)態(tài)PPT模板
- 設(shè)計(jì)文件簽收表(一)
- 試運(yùn)行方案計(jì)劃-
- 可研匯報(bào)0625(專家評(píng)審)
- 帶電核相試驗(yàn)報(bào)告
- SCH壁厚等級(jí)對(duì)照表
- 春季常見傳染病預(yù)防知識(shí)PPT課件
- 年產(chǎn)630噸土霉素車間工藝設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論