新編Linux網(wǎng)絡(luò)組建與實訓課件 第五講 Linux shell_第1頁
新編Linux網(wǎng)絡(luò)組建與實訓課件 第五講 Linux shell_第2頁
新編Linux網(wǎng)絡(luò)組建與實訓課件 第五講 Linux shell_第3頁
新編Linux網(wǎng)絡(luò)組建與實訓課件 第五講 Linux shell_第4頁
新編Linux網(wǎng)絡(luò)組建與實訓課件 第五講 Linux shell_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Linuxshell

目的、要求掌握Linuxbashshell的特點并學會靈活運用。學會bashshell編程和bash腳本執(zhí)行方法,為今后系統(tǒng)管理工作提供更便利的手段。什么是Linuxshell?shell是操作系統(tǒng)重要的組成部分。Linuxshell作為Linux操作系統(tǒng)的外殼,為用戶提供使用操作系統(tǒng)的接口,是用戶與操作系統(tǒng)交互的橋梁,它是用戶和Linux內(nèi)核之間交互的接口程序,是命令語言、命令解釋程序和程序設(shè)計語言的總稱。shell在用戶成功登錄系統(tǒng)后啟動,并始終作為與系統(tǒng)內(nèi)核交互的手段,不論何時輸入命令,都被Linuxshell解釋并執(zhí)行,直到用戶退出系統(tǒng)。Linux支持的shell

在Linux操作系統(tǒng)中,可以使用各種不同的shell。主要包括:(1)bsh/ash:Bourneshell,在UNIX中廣泛使用。位于/bin/bsh或/bin/ash(2)csh:Cshell,與C編程語言語法相近,很多UNIX系統(tǒng)都支持。位于/bin/csh(3)tcsh:微型shell,在一些小型的系統(tǒng)中使用,語法與Cshell相似。位于/bin/tcsh(4)ksh:Kornshell。位于/bin/ksh(5)pdksh:改進的ksh。位于/bin/ksh(6)bash:BourneAgainShell,是Linux特有的shell。位于/bin/bash或/bin/sh(7)zsh,位于/bin/zsh注:每個用戶可以指定不同的shell.bashshell的特點

bash向后兼容bsh,綜合了csh、ksh等特點,發(fā)展了更多的優(yōu)點,是目前最好的shell。bashshell主要特點如下。1.命令行自動補全用戶只要記住命令或文件名的前面部分,就可以用Tab鍵自動補全命令的后面部分。自動補全同樣適合當前目錄下文件名的輸入,從而大大提高了輸入速度,并幫助記憶命令。2.可查找歷史命令支持用↑↓查詢和執(zhí)行歷史命令。#which命令顯示命令所在的位置3.支持變量系統(tǒng)可以使用變量來定義環(huán)境和自定義變量,例如:$LANG、$HOME、$PATH、$PS1、$HISTSIZE、$var=“123”等。#unsetvar--取消變量$var的定義。#exportvar—將變量傳遞給子進程。$?—最近命令的返回值,“0”表示正常執(zhí)行。$#—當前執(zhí)行命令變量個數(shù)。$1表示第一個自變量。$$表示本進程的進程號。4.支持別名可以用alias定義別名,例:#aliasll=“l(fā)s–l”和取消別名定義#unalias

ll。5.支持快捷鍵例:Ctrl+D:退出登錄。Ctrl+C:結(jié)束當前程序。Shift+pgUp或pgDown6.支持轉(zhuǎn)義字符轉(zhuǎn)義字符<、>、|、;、!、?、*、[、]、$、\、”、,、`、~、(、)、{、}、^等在shell中具有非常特殊的意義。例如:?匹配任一字符;*匹配多個字符。7.支持輸入輸出重定向如執(zhí)行如下命令的重定向:$ls–l>outputfile//把標準輸出重定向輸出到文件outputfile。$ls–l>>outputfile//把標準輸出結(jié)果追加重定向到文件outputfile的后部。$count<inputfile//把鍵盤輸入重定向到由文件inputfile輸入。8.支持管道操作如:#ps–aux|grephttp//利用管道把ps命令的輸出直接變?yōu)間rep命令的輸入。9.支持shell編程和許多高級語言類似,bash支持分支、循環(huán)等高級編程語法。bashshell編程

bashshell另一個重要的特性是:它自身是一個解釋型的程序設(shè)計語言,并支持高級語言中所用到的程序控制結(jié)構(gòu),例如條件測試、循環(huán)、分支、函數(shù)、變量和數(shù)組。shell語言簡單易學,一旦掌握,即可成為非常有用的系統(tǒng)管理工具。shell編程有點類似DOS的批處理,但比DOS的批處理功能強大得多。程序控制結(jié)構(gòu)一Test條件測試testexpressionif分支Ifexpression1then commandselifexpression2then commandselse commandsfiCase分支casestringinstring1) commands;;string2) commands;;*) commands;;esac程序控制結(jié)構(gòu)二for循環(huán)forvarinlist do commands donewhile或untilwhile/untilexpression do commands done函數(shù)定義fun1(){commands}讀取鍵盤輸入數(shù)據(jù)readvar1var2“空格鍵”隔開變量,“回車鍵”結(jié)束。shell變量

shell變量是shell程序用來保存數(shù)據(jù)的單元。Linux將shell變量分為系統(tǒng)變量和用戶變量。shell系統(tǒng)變量是系統(tǒng)定義和保留的一些特殊的變量值。如命令查找路徑變量$PATH。set命令可以查看所有系統(tǒng)變量的值。主要系統(tǒng)變量包括如下:BASH=/bin/bashBASH_VERSINFO=([0]="3"[1]="00"[2]="15"[3]="1"[4]="release"[5]="i386-redhat-linux-gnu")BASH_VERSION='3.00.15(1)-release'COLORS=/etc/DIR_COLORSCOLUMNS=80HISTFILESIZE=1000HISTSIZE=1000HOME=/rootHOSTNAME=rh4HOSTTYPE=i386INPUTRC=/etc/inputrcKDEDIR=/usrLANG=zh_CN.GB18030/enshell程序的組成

用下面的shell腳本程序文件例子說明shell程序的組成。#!/bin/csh#Thisisatest!echo–n“Thecurrentdateandtimeis:”dateecho–n“Theexecutablepathis:”$PATHecho–n“Yournameis:”whoamiecho“Yourcurrentdirectoryis:”pwd#end說明如下:第一行”#!/bin/csh”為指定執(zhí)行腳本的shell,以”#!“開頭,不能少?!?”開頭的語句為注解。echo為顯示提示信息命令。-n為取消換行。date為顯示系統(tǒng)時間命令。$PATH為系統(tǒng)變量。shell程序的執(zhí)行

shell程序的執(zhí)行方法有兩種。(1)使用chmod命令設(shè)定腳本程序文件為可執(zhí)行,即執(zhí)行命令#chmod75

溫馨提示

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

評論

0/150

提交評論