linux下程序設計之shell編程_第1頁
linux下程序設計之shell編程_第2頁
linux下程序設計之shell編程_第3頁
linux下程序設計之shell編程_第4頁
linux下程序設計之shell編程_第5頁
免費預覽已結束,剩余14頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、層見成了大孝考查課程報告課程名稱:Linux程序設計之序ell編程學 院:信息工程與自動化學院專業年級:學 號:學生姓名:指導教師:梁波日 期: 2013651課程目的12要求與內容13運行環境14設計步驟及實現結果1linux下Shell編程及linux相關知識1Linux下shell基本命令的的使用。如網絡相關命令 2網絡配置文件與配置方法4配置NFS服務器 5Ubuntu系統的學習使用操作步驟及結果 7用shell編程編寫一個程序實現九九乘法表10用shell編程編寫程序及自動備份 115 . 總結和體會 126 .參考文獻1 .課程目的通過這次試驗了解linux下進行Shell編程,學

2、會用shell編程編寫一些簡單的程 序。并了解掌握shell命令的使用。學會網絡配置文件與配置方法。2 ,要求與內容(1)學習在linux下進行Shell編程,并了解linux相關知識,。(2)學習Linux shell基本命令的使用掌握shell命令的使用。如網絡相關命令等, 同時配置sa mba服務器。(3)用shell編程編寫一個程序實現九九乘法表。(4)編寫一個Shell程序,使得程序在系統時間分鐘值為5的倍數的時,自動 備份此目錄下的.png文件到backup中3 .運行環境(1)硬件:PC機(2)軟件:Ubuntu操作系統、虛擬機4 .設計步驟及實現結果4. 1 linux下She

3、ll編程及linux相關知識Linux支持多用戶,各個用戶對于自己的文件設備有自己特殊的權利,保證了各 用戶之間互不影響。多任務則是現在電腦最主要的一個特點,Linux可以使多個程序 同時并獨立地運行。Linux是一類Unix計算機操作系統的統稱。Linux操作系統的內核的名字也是 Linux。Linux操作系統也是自由軟件和開放源代碼發展中最著名的例子。嚴格來講, Linux這個詞本身只表示Linux內核,但在實際上人們已經習慣了用Linux來形容整個 基于Linux內核,并且使用GNU工程各種工具和數據庫的操作系統。Linux得名于計 算機業余愛好者Linus Torvaldso隨著Int

4、ernet / Intranet網絡的日益普及,Linux作為 一個現代的操作系統,正在各個方面得到廣泛的應用。Linux在服務器、嵌入式等方 面已經取得不俗的成績,在桌面系統方面,也逐漸受到歡迎。于是Linux的安全問題 也逐漸受到人們的重視。現在Linux已經在全球廣泛普及開來,雖然在個人桌面版方 面還遜色于Microsoft Windows系統,但在服務器領域以其良好的安全性和穩定性得 到越來越多用戶的認可,并被廣泛使用。隨著后PC時代的到來,計算機在各行各業 乃至人們的日常生活中已經是無處不在,尤其是嵌入式系統應用、開發方面,Linux 更具有其他操作系統無可比擬的優勢。Linux的安

5、全問題也逐漸受到人們的重視。操 作系統的安全無疑是所有用戶都關注的一個焦點,作為商業操作系統Windows的內 核并不公開,系統接口也由其開發公司控制,設計,是否存在“后門”一直是爭論的 話題,畢竟關系到一個國家,企業和個人的安全:Linux以其代碼開放所帶來的高安 全性而倍受贊譽,這也是許多重要部門和大型網站采用Linux操作系統的重要原因。Linux具有:穩定、可靠、安全的優點,并且有強大的網絡功能。其中有對讀、 寫進行權限控制、審計跟蹤、核心授權等技術,這些都為安全提供了保障。Linux下shell基本命令的的使用。如網絡相關命令4.2.1 ping 命令ping命令用于查看網絡上的主機

6、是否在工作。執行ping指令會使用ICMP傳輸協 議,發出要求回應的信息,若遠端主機的網絡功能沒有問題,就會回應該信息,因而 得知該主機運作正常。執行ping命令可以測試本機與網絡中其他計算機的連通性,因此,在組網中常 常使用該命令排除網絡故障。Ping命令使用ICMP協議,向目標地址發送 ECHO-REQUEST數據包,如果網絡是連通的,可以接收到目標地址主機發回的響應 ECHO-REQUEST的數據包;否則表示目標地址不可到達。Ping命令執行后如所示:y EJ 3c文件直著鐘 終坳B 轉球由 布瞅眇Erooljroop mg-Usage : p iag LRlld fraq r v Va

7、 A -c coun t -i interval (-w dca1 I an:c E - p pa I tern r pa eke t i *e 1 - t till I inter fa ce or add re -M nM u cl i 3k cov ety him) - S %.ndbu f ) -T l inv k Isinqv op! ion -Q iok ( hop I . . . de k l ins I ionroo 02 rootlfl 口ping命令的使用其中,參數destination是必須的,它可以是主機名或IP地址;其他的為命令選 項。4.2.2 ifeonfig 命

8、令Ifconfig命令使LINUX核心知道軟件回送和網卡這樣一些網絡接口,這樣Linux就 可以使用它們。除了上面介紹的這些用法之外,ifconfig命令用來監控和改變網絡接 口的狀態,并且還可以帶上很多命令行參數。下面是一個ifconfig的通用調用語法:#ifconfig interface -net -host address parameters其中interface是網絡接口名:address是分配給指定接口的主機名或IP地址。這 里使用的主機名被解析成它們的對等IP地址,這個參數是必須的。-net和-host參數 分別告訴ifconfig將這個地址作為網絡號或者是主機地址。執行if

9、config命令查看本地主機的網絡配置信息,也可以用于配置網絡硬件接口、 IP地址、網絡掩碼、網關地址和廣播地址等。命令格式:lfconfiginterfaceIfconfig interface aftype options | addressIfconfig命令執行后如圖所示: root,jc02x UI X文編吁虱3 代行終瑞 9矮翎4幫助卬roo i ?ji c02 roo t fl i f conf ig11f l ImOI. i iik -eoca p : El lie me I VMi !i r OO :DD: R 7 -: 27 : 5D: RCme t 4iddr . 24;

10、 . 1 K9 .65 st ;21O.2G . 1 89. 127Mi q k: 255 .2SS . 2s6.1 2HLP BROXDQAST RUNNING; RLLTICAST NFU: 3SOO M? t ric: 1RX pa eke i s : 9008 errors:。dropped : O -ove r r uns : 0f i aire: OTX pa ckr Is : 920 r r ror s : O 1 roppr ci r r i r r : Oco I i i s torts :O t x-queue len : 1 OORX by te*: 8O74G8 C 7

11、818 .5 Kb TX by le 855 10 83.5 KbI n I r r rup 1:13 出 st? a ii re? x x : )m -()01)loLink -enca p : Loca 1 Loopbacki nr? I II r : 127.0.0.1 Kfe x k : 265.0.0.0IV LCMPIWX RI BIZ; M(hM t r i c ; 1RX pa eke t s : J 90533 errors:。dropped :O overruns;。f r a nx? : 0TX pa -ke I *; : 3 90533 e r ror s : 0 1

12、r oppel:-0 ove r rims :) -a r r ie r :*)co Ills ici、s : I) t x|ucuc len : )RX bytes: 13032716 TX by t4?s: 13032716 C 12 .4 M t roo ti c02 kpo I 1再口ifconfig命令的使用4.2.3 netstat 命令功能說明:Netstat用于顯示與IP、TCP、UDP和ICMP協議相關的統計數據,一 般用于檢驗本機各端口的網絡連接情況。語 法:netstat 卜acCeFghilMnNoprstuvVwx-A網絡類型習卜-ip執行netstat命令來檢測TC

13、P/IP網絡配置的正確性。netstat命令執行后如圖所示:netstat命令的使用4.2.4 telnet建立多帳戶測試Linux開啟telnet服務,linux提供服務是由運行在后臺的守護程序(daemon) 來執行。守護進程的工作就是打開1個端口 (port),等待(listen)進入的連接。在 C/S模式中,如果客戶提請了 1個連接,守護進程就創建(fork)子進程來響應這個 鏈接,而父進程繼續監聽其他服務的請求。但是,對于系統所提供的每一個服務,如果都必須運行一個監聽某個端口接連發 生的守護進程序,那么通常以為著系統資源的浪費。為此,“拓展的網絡守護進程服 務程序 xinetd(xi

14、neted internt daemon).telnet 服務也是由 xinetd 守護的。telnet 命令 執行后如圖所示:telnet建立多帳戶測試網絡配置文件與配置方法4.3.1 /etc/hosts 文件/etc/hosts也稱為主機表,他的作用是為用戶提供簡單、直接的主機名到IP地址 之間的轉換。用戶在訪問網絡上某臺主機時可以直接使用IP地址也可以使用主機名稱,但使用主機名稱時必須將它翻譯成計算機能識別的IP地址,利用/etc/hosts文件 可以實現1種比較簡單的名字解析方法:用戶也可使用域名服務器來完成主機名稱到 IP地址的轉換。4.3.2 /etc/文件/etc/時解析配置文

15、件,它的作用時告訴計算機系統將如何進行名字解析。因此該 文件包含有指向解析庫的配置信息。文件的每行應該包含1個配置關鍵字,其后時配 置信息。這些關鍵字可以使order, trim, multi, nospoof,和reorder。433 /etc/文件它記錄了本機使用的主、第二、第三DNS服務器的IP地址和域名搜索路徑。Linux 系統為了提高可靠性,控制1個域的域名服務器往往不止一個。同樣,每個主機為了 提高可靠性,也設置多個域名服務器的IP地址;系統將按照用戶指定的順序逐個查 詢直到找到為止。配置NFS服務器4.4.1 使用mount命令來掛載另一個機器上的NFS文件系統:Mount sh

16、adowman. :/misc/export/misc/local4.4.2 導出NFS文件系統,要使用NFS服務器配置工具,首先選擇面板上的“主菜單” 一 “系統配置”“服務器配置” “NFS服務器”命令,或輸入redhat-config-nfs 命令。4.4.3 要添加NFS共享,單擊“添加”按鈕,會出現如下圖所示的對話4.4.4 啟動服務器使用以下命令來啟動 NFS 進程:cd/tmp ;mkdir liuzhenzhen ; ervice nfs restart4.4.5 配置samba服務器1、要使用該程序,要從桌面啟動Samba服務器配置工具,選擇面板上的“主菜單” 一“系統配置”

17、 一 “服務器配置 一 Samba服務器”命令,或輸入redhat-config-nfs命令。如下Ubuntu系統的學習使用操作步驟及結果:4.5.1啟動Ubuntu系統,打開終端;或使用putty連接系統(如果未安裝ssh, 可以使用sudo aptget install ssh):運行 Applications-*TerminalCalculatorCharacter MapDisk Usage AnalyzerHelpSearch for Files.Ubuntu Software CenterK51 Take Screenshot TerminalBE Text EditorTime

18、& DateIQj Tomboy Notes452查看系統信息,并將以下查看內容重定向添加到文件,最后清屏:1、查看系統當前所有進程:運行 Terminalpsps dhydhy-virtual-machinepsPID TTYTIMECMD1443 pts/000:00:00bash1498 pts/000:00:00psdhy(adhy-virtual-machine:*$ ps SystermInfo.txt2、查看當前系統信息:運行 Terminal-*uname -a-*uname -a dhy(adhy-virtual-machine:-$ uname -aLinux dhy-vi

19、rtual-machine 2.6.38-8-generic #42-Ubuntu SMP Mon Apr 11 03:31:50 LITC 2011 1686 1686 1386 GNU/Linuxdhydhy-virtual-machine:$ gname -a SystermInfo,txt3、查看硬盤分區情況:運行 Terminalfdiskdhy(adhy-virtual-machine:fdisk SystermInfo.txtUsage:fdiskfdiskfdiskoptions options -I -s change partition table list partiti

20、on table(s) give partition size(s) in blocksOptions:-b -c-h-u -v-C -H -S sector size (512, 1024, 2048 or 4G96) switch off DOS-compatible mode print helpgive sizes in sectors print versionspecify the number of specify the number of specify the number ofinstead of cylinderscylindersheadssectors per tr

21、ack4、查看/etc/fstab 文件:運行 Terminal-*cat /etc/fstab-*cat /etc/fstab dhy(Hdhy-vi rtual - machine :-$ cat /eTc/-f stab/etc/fstab: static file system information.Use blkid -o value -s UUTD to print the universally unique identifier for a device; this may be used with UUID= as a more robust way to namedevi

22、ces that works even if disks areadded and removed. See fstab(5).vflle systems amount points typeA options*proc/procproc# / was on /dev/sdal during installation UUID=762b6d62-382e-46r8-899b-ea2b3CC17e87 /-ro 0vdumpnnodev,noexecr nosuid Ovpassnoext4errors=remount# swap was on /dev/sda5 during installa

23、tion UUID=597982ic-8ed5-4991-856l-4dea68e47330 nonee o /dev/fdGswapsw/medla/floppy autorw.user rnoautoexec,utf8dhyQdhyrtual-machinefat /etc/fstmb AASystermtnfo.txt5、查看系統當前的網絡地址:運行 Terminal-*lfconfig-*ifconfig -*cleardhydhy-virtual machine:-$ ifconfigethG Link encap:Ethernet HWaddr 00:6c:29:45:c5:74i

24、net addr:192.168.128.128 Beast:192.168.128.255 Mask:255,255.255.O inet6 addr: fe80::20c:29ff:fe45:c574/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:l RX packets:13 errors:0 dropped: overruns:0 frame:0 TX packets:44 errors:0 dropped: overruns:0 carrier:0 collisions:0 txqueuelen:1000 R

25、X bytes:1916 (1.9 KB) TX bytes:9082 (9.0 KB) Interrupt:19 Base address:0x200toLink encap:Local Loopbackinet addr:127.Q.0.1 Mask:255.0.0.0 inet6 addr: :1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets : 12 errors:0 dropped:0 overruns:0 frame:0 TX packets:12 errors:0 dropped:G overru

26、ns:0 carrier:O collisions:0 txqueuelen:0 RX bytes:720 (720.0 B) TX bytes:720 (720.0 B)dhydhy-virtual-machine:ifeonfig SystermInfo.txt dhydhy-virtual-machlne:$ clear4.5.3 系統用戶數據:6、切換到root狀態:運行Terminalsuroot輸入密碼登錄dhyls-*whorootdhy-virtual-machine:-# su - dhy27$ Isexamples.desktop$ whodhytty72012-03-22

27、 11:07 (:0)dhypts/02。12。322 11:40 (:0.0)4.5.4 文件操作:9、在當前用戶的主目錄下,創建文件夾Labi:運行 Terminal-*mkdir Labi$ mkdir Labi$ Isexamples.desktop Labi10、 進入Labi文件夾,新建文件,寫入“HelloZhangFei!”保存退出:運行 Terminalvi$ cd /home/dhy27/Labl$ pwd/home/dhy27/Labl$ vi welcome.txt在vi模式下創建文件File Edit view search Terminal Help Hello D

28、ongHongyu !11、 將b步驟生成的文件,移動到Labi文件夾,并設置文件權限為:文件所有者可讀寫,其它為只讀;并查看文件列表,權限是否設置:運行 Terminal-*mv /home/dhy/ /home/dhy2Lablrootdhy-virtual-machine:-# mv /home/dhy/Systermlnfo.txt /home/dhy27/Lab rootdhy-virtual-machine:Is /home/dhy27/LablSystermlnfo.txt welcome.txt運行 Terminalchmod 644 /home/dhy2Labl/f Is -

29、1 /home/dhy2Lablrootdhy-virtual-machine:*# chmod 644 /home/dhy27/Labl/SystermInfo.txtroot(3dhy-virtual-machine:-# Is -I /home/dhy27/Labl/總用星8-rw-r- 1 dhy dhy 7 2012-03-25 15:22 Systermlnfo.txt-rw-r 1 dhy27 dhy27 9 2012-03-25 15:21 welcome.txt12、 返回到當前用戶的主目錄:運行 Terminal-*su dhy27pwdcdpwdrootdhy-virtu

30、aL-machine:-# su dhy27 $ pwd/root$ cd $ pwd /home/dhy2713、 將Labi文件夾打包生成文件,并刪除原文件夾:運行 Terminaltar -cvf/home/dhy2力Labilsrm -r Labi$ Isexamples.desktop Labi$ tar -cvf tar.gz /home/dhy27/Labltar:從成員名中刪除開頭的/home/dhy27/Labl/home/dhy27/Labl/welcome.txt/home/dhy27/Labl/Systernlnfo.txt$ Isexamples.desktop La

31、bi tar.gz$ rm -r Labirm:是否刪除有寫保護的普通文件,LabI/SystermInfo.txtM ? y $ Isexamples.desktop tar.gz用shell編程編寫一個程序實現九九乘法表。代碼記運行結果如下:乘法表代碼圖如下結果圖如下“ F8鰥02:-tflW 編輯查看空終端轉到(0 幫助凹The mini991*1=11*2=22*2=41*3=32*3=63*3=91*4=42*4=83*4=12 4*4=161*5=52*5=103*5=15 4*5=201*6=62*6=123*6=18 4=241*7=72*7=143*7=21 4*7=281*

32、8=82*8=163*8=24 4*8=321*9=92*9=183*9=27 4*9=36roolj c02 roo山口iqo網 cO2 root# ./in5*5=255*6=306*6=365*7=356*7=427*7=495*8=406*8=487*8=568*8=645*9=456*9=547*9=638*9=72 9*9=81用shell編程編寫程序及自動備份要求:編寫一個Shell程序,使得程序在系統時間分鐘值為5的倍數的時,自動備份此目錄下的.png文件到backup中471程序編寫:#!/bin/bash #Program: User can backup the png

33、files every 5 minutes.#History:201MM)4 First releasePATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr7sbin:/usr/local/bin:/usi7local/sbin:/bin export PATHecho This program helps you to backup the png files every 5 minutes. backdir=./backup” minute=date +%M next=$($minute%5) if $next -eq ,0 ;thenecho Hbacking1

34、1cp *.png $backdir echo finished11else echo Cant backup this minute! fi4.7.2運行結果 0C0同M:川必內59C q T a 18% a ttMas : R,師0 backupM . tetxA X t!a?rogr: lhr can tuck4 the pre filei wery 3 Birutw.制first relwsePAThjbln:/$lln:川 binexport PATHecho Tii proqrM helps yuj to lockup the (ny fil ever, 3Z 也lik./badc

35、4.-g&S W0同。fi*N *5:f0 Wit網F so颯E供業p: pr nxftKtutit): snatxftsja*fxn:jbeiJfOOt)-v-rtjil-UCM:/lC/dHMt Sh Ukkjjj.i*This 84次 helps JW w backup tht pig files 5 Uoies:r:五任釗建:文作E4&Cirri tocUf tMs 】研小rootfej-v2rttBl-Bictiire:/Tice/dGt sh roctois.crms pr卬f Ml” you ” Uckip tht /g Hies5Cant tthis :rute!fWXde)-

36、virtwl-WChlM:/*MM/-lW sh UkLj1,4rhis pro9rBl helps you to badcap the pig files even 5 iirutK.C 2OW tMsroot-Jkwj virtual-wchire:/TiDe/daf date hr wa isa p;m;52(si恪你Mvmgl皿Mm:八$hThis proqrzn helps you to ba dap the pig files 5 mites.5 irutes.finisbetlrwtOw vinl-WChlM:/*/d 口文樣陰9(E) 的 !($!總郵)網的:卅詠Sh WKbM

37、.AThis pro9rBl helps you to badwp the pig file unMlf;rUCklf:文件已仲我QO0工HE 文忸3 M彩州5 .總結和體會這個學期學習了 Linux程序設計,在多次試驗中,通過自己的實踐我學習到 了一下關于Linux的知識,Linux是一種自由和開放源碼的類Unix操作系統。目前存在 著許多不同的Linux,但它們都使用了 Linux內核。Linux可安裝在各種計算機硬件設備 中,從手機、平板電腦、路由器和視頻游戲控制臺,到臺式計算機、大型機和超級計 算機。Linux是一個領先的操作系統,世界上運算最快的10臺超級計算機運行的都是 Linux

38、操作系統。嚴格來講,Linux這個詞本身只表示Linux內核,但實際上人們已經 習慣了用Linux來形容整個基于Linux內核,并且使用GNU工程各種工具和數據庫的 操作系統。Linux得名于計算業余愛好者Linus Torvalds。Linux操作系統,確切地說是 GNU/Linux操作系統。它的誕生、發展與UNIX、MINIX操作系統、GNU計劃、POSIX 標準以及Internet廣泛應用有著極大的關系。Linux是能夠自由傳播并繼承了 UNIX內 核的操作系統,是對UNIX的簡化和改進,它既保留了 UNIX系統的高安全性,同時 也使其操作更加簡單方便,從而使單機用戶也可以使用。UNIX內核指的是操作系統 底層的核心程序代碼隨著Intrnet技術的發展,越來越多的人通過網絡認識了 Linux, 越來越多的人使用并改進著Linux.如果沒有遍布全世界的無數Linu

溫馨提示

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

評論

0/150

提交評論