SHELL基礎(chǔ)原理【博森瑞】_第1頁
SHELL基礎(chǔ)原理【博森瑞】_第2頁
SHELL基礎(chǔ)原理【博森瑞】_第3頁
SHELL基礎(chǔ)原理【博森瑞】_第4頁
SHELL基礎(chǔ)原理【博森瑞】_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1-1Copyright Bosenrui, 2016. All rights reserved.SHELL【博森瑞博森瑞】1-2Copyright Bosenrui, 2016. All rights reserved. 一一.SHELL 究竟是什么?究竟是什么?1-3Copyright Bosenrui, 2016. All rights reserved.在計算機科學(xué)中,在計算機科學(xué)中,Shell俗稱殼(用來區(qū)別于核),是指俗稱殼(用來區(qū)別于核),是指“提供使用者使用界面提供使用者使用界面”的軟件的軟件(命令解析器)。它類似于(命令解析器)。它類似于DOS下的下的command和后來的和

2、后來的cmd.exe。它接收用戶命。它接收用戶命令,然后調(diào)用相應(yīng)的應(yīng)用程序令,然后調(diào)用相應(yīng)的應(yīng)用程序。(請看畫圖板演示請看畫圖板演示)同時它又是一種程序設(shè)計語言。作為命令語言,它交互式解釋和執(zhí)行用戶輸入的命令同時它又是一種程序設(shè)計語言。作為命令語言,它交互式解釋和執(zhí)行用戶輸入的命令或者自動地解釋和執(zhí)行預(yù)先設(shè)定好的一連串的命令;作為程序設(shè)計語言,它定義了或者自動地解釋和執(zhí)行預(yù)先設(shè)定好的一連串的命令;作為程序設(shè)計語言,它定義了各種變量和參數(shù),并提供了許多在高級語言中才具有的控制結(jié)構(gòu),包括循環(huán)和分支。各種變量和參數(shù),并提供了許多在高級語言中才具有的控制結(jié)構(gòu),包括循環(huán)和分支。1-4Copyright

3、Bosenrui, 2016. All rights reserved. 二二.SHELL 的的種類種類1-5Copyright Bosenrui, 2016. All rights reserved.Bourne Shell首個重要的標(biāo)準(zhǔn)首個重要的標(biāo)準(zhǔn)Unix Shell是是1970年底在年底在V7 Unix(AT&T第第7版)中引入的,并且以它的創(chuàng)始科技部基礎(chǔ)條件平臺版)中引入的,并且以它的創(chuàng)始科技部基礎(chǔ)條件平臺“國家氣國家氣象網(wǎng)絡(luò)計算應(yīng)用節(jié)點建設(shè)象網(wǎng)絡(luò)計算應(yīng)用節(jié)點建設(shè)”(2004DKA50730)資助者)資助者Stephen Bourne的名字命名。的名字命名。Bourne sh

4、ell 是一個交換式的命令解是一個交換式的命令解釋器和命令編程語言。釋器和命令編程語言。Bourne shell 可以運行為可以運行為login shell或者或者login shell的子的子shell(subshell)。只有)。只有l(wèi)ogin命令可以調(diào)命令可以調(diào)用用Bourne shell作為一個作為一個login shell。此時,。此時,shell先讀取先讀取/etc/profile文件和文件和$HOME/.profile文件。文件。/etc/profile文件為所有文件為所有的用戶定制環(huán)境,的用戶定制環(huán)境,$HOME/.profile文件為本用戶定制環(huán)境。最后,文件為本用戶定制環(huán)境

5、。最后,shell會等待讀取你的輸入。會等待讀取你的輸入。C ShellBill Joy于于20世紀(jì)世紀(jì)80年代早期,在伯克利的加利福尼亞大學(xué)開發(fā)了年代早期,在伯克利的加利福尼亞大學(xué)開發(fā)了C shell。它主要是為了讓用戶更容易的使用交互式功能,。它主要是為了讓用戶更容易的使用交互式功能,并把并把ALGOL風(fēng)格的語法結(jié)構(gòu)變成了風(fēng)格的語法結(jié)構(gòu)變成了C語言風(fēng)格。它新增了命令歷史、別名、文件名替換、作業(yè)控制等功能語言風(fēng)格。它新增了命令歷史、別名、文件名替換、作業(yè)控制等功能。Korn Shell有很長一段時間,只有兩類有很長一段時間,只有兩類shell供人們選擇,供人們選擇,Bourne shell用

6、來編程,用來編程,C shell用來交互。為了改變這種狀況,用來交互。為了改變這種狀況,AT&T的的bell實驗室實驗室David Korn開發(fā)了開發(fā)了Korn shell。ksh結(jié)合了所有的結(jié)合了所有的C shell的交互式特性,并融入了的交互式特性,并融入了Bourne shell的語法。因此,的語法。因此,Korn shell廣受用戶的歡迎。它還新增了數(shù)學(xué)計算,進(jìn)程協(xié)作(廣受用戶的歡迎。它還新增了數(shù)學(xué)計算,進(jìn)程協(xié)作(coprocess)、行內(nèi)編輯()、行內(nèi)編輯(inline editing)等功能。)等功能。Korn Shell 是一個交互式的命令解釋器和命令編程語言是一個交互式

7、的命令解釋器和命令編程語言.它符合它符合POSIX一個操作系統(tǒng)的國際標(biāo)準(zhǔn)一個操作系統(tǒng)的國際標(biāo)準(zhǔn).POSIX不是一個操作系統(tǒng),不是一個操作系統(tǒng),而是一個目標(biāo)在于應(yīng)用程序的移植性的標(biāo)準(zhǔn)而是一個目標(biāo)在于應(yīng)用程序的移植性的標(biāo)準(zhǔn)在源程序一級跨越多種平臺。在源程序一級跨越多種平臺。Bourne Again Shell (bash)bash是是GNU計劃的一部分,用來替代計劃的一部分,用來替代Bourne shell。它用于基于。它用于基于GNU的系統(tǒng)如的系統(tǒng)如Linux.大多數(shù)的大多數(shù)的Linux(Red Hat,Slackware,Caldera)都以)都以bash作為缺省的作為缺省的shell,并且運

8、行,并且運行sh時,其實調(diào)用的是時,其實調(diào)用的是bash。POSIX ShellPOSIX shell 是是Korn shell的一個變種的一個變種. 當(dāng)前提供當(dāng)前提供POSIX shell的最大賣主是的最大賣主是Hewlett-Packard。在。在HP-UX 11.0,POSIX shell 就是就是/bin/sh,而,而bsh是是/usr/old/bin/sh.1-6Copyright Bosenrui, 2016. All rights reserved.AIX缺省的是缺省的是Korn Shell.Solaris缺省的是缺省的是Bourne shell.(這里指的是這里指的是SUN-S

9、OLARIS V10)FreeBSD缺省的是缺省的是C shellHP-UX缺省的是缺省的是POSIX shell.Linux缺省的是缺省的是Bourne Again shell.MACOS缺省的是缺省的是Bourne Again shell.*ORACLE-SOLARIS V11以后默認(rèn)為以后默認(rèn)為BASH*各各大系統(tǒng)使用大系統(tǒng)使用SHELL的概覽的概覽1-7Copyright Bosenrui, 2016. All rights reserved.三三.我為什么要學(xué)我為什么要學(xué)SHELL?1-8Copyright Bosenrui, 2016. All rights reserved.你是

10、一個苦逼的你是一個苦逼的DBA!你每天要做很多重復(fù)的操作!你每天要做很多重復(fù)的操作!因此你身心俱疲!因此你身心俱疲!情景一情景一:1-9Copyright Bosenrui, 2016. All rights reserved.你還是一個苦逼的你還是一個苦逼的DBA!你你要做你們公司數(shù)據(jù)庫的備份策略!要做你們公司數(shù)據(jù)庫的備份策略!無論無論是物理備份(是物理備份(RMAN)還是邏輯備份(數(shù)據(jù)泵)還是邏輯備份(數(shù)據(jù)泵,EXP),你都志得意滿??桑愣贾镜靡鉂M??墒峭蝗话l(fā)現(xiàn),你要把他變成定時任務(wù)卻是如此的困難!是突然發(fā)現(xiàn),你要把他變成定時任務(wù)卻是如此的困難!情景二:情景二:1-10Copyrigh

11、t Bosenrui, 2016. All rights reserved.又是你!對沒錯又是你,你這個苦逼的又是你!對沒錯又是你,你這個苦逼的DBA!你們數(shù)據(jù)庫每天都會有報錯,可是恰巧所有報錯發(fā)生時間,都被你巧妙的錯過你們數(shù)據(jù)庫每天都會有報錯,可是恰巧所有報錯發(fā)生時間,都被你巧妙的錯過了!了!你你要在海量的日志中去搜索那個關(guān)鍵的點!要在海量的日志中去搜索那個關(guān)鍵的點!因為,只是因為!因為,只是因為!你沒有更好的手段,去做日志挖掘。你沒有更好的手段,去做日志挖掘。情景三:情景三:1-11Copyright Bosenrui, 2016. All rights reserved.好吧!我真的不想

12、再說了,不過這次又是你!好吧!我真的不想再說了,不過這次又是你!你你個苦逼的個苦逼的DBA!你要你要清理掉一些數(shù)據(jù)庫中的清理掉一些數(shù)據(jù)庫中的“垃圾垃圾”!結(jié)果你卻因為你不懂正則表達(dá)式!而讓本是很簡單的工作變得充滿了變數(shù)和復(fù)結(jié)果你卻因為你不懂正則表達(dá)式!而讓本是很簡單的工作變得充滿了變數(shù)和復(fù)雜不堪!雜不堪!這次看你咋辦?這次看你咋辦?!情景四:情景四:1-12Copyright Bosenrui, 2016. All rights reserved.那我們有沒有好的解決方案呢?那我們有沒有好的解決方案呢?1-13Copyright Bosenrui, 2016. All rights reser

13、ved.Shell的用途的用途數(shù)據(jù)的統(tǒng)計與分析計劃任務(wù)的執(zhí)行進(jìn)程的監(jiān)控與管理命令的組合與使用SHELL 的用途的用途1-14Copyright Bosenrui, 2016. All rights reserved.就讓就讓我們開始學(xué)我們開始學(xué)BASH吧!吧!1-15Copyright Bosenrui, 2016. All rights reserved.Bash腳本優(yōu)點腳本優(yōu)點簡單、快速簡單、快速不需要不需要編譯編譯靈活靈活高效高效1-16Copyright Bosenrui, 2016. All rights reserved.四四.SHELL基礎(chǔ)基礎(chǔ)1-17Copyright Bose

14、nrui, 2016. All rights reserved. 變量變量 數(shù)值運算數(shù)值運算 流程控制流程控制 命令命令 函數(shù)函數(shù)Bash語法語法1-18Copyright Bosenrui, 2016. All rights reserved.變量定義:變量定義:var=value變量引用:變量引用:$var變量變量1-19Copyright Bosenrui, 2016. All rights reserved.$! 最后一個后臺進(jìn)程的最后一個后臺進(jìn)程的pid$ 當(dāng)前進(jìn)程的當(dāng)前進(jìn)程的pid$0 當(dāng)前程序名稱當(dāng)前程序名稱$n n為為1,2.n, 腳本或函數(shù)的參數(shù)腳本或函數(shù)的參數(shù)$#:所給的參數(shù)個數(shù)所給的參數(shù)個數(shù)$*:所有給出的參數(shù)所有給出的參數(shù)$? 最后一個命令的退出狀態(tài)最后一個命令的退出狀態(tài)常用變量常用變量1-20Copyright Bosenrui, 2016. All rights reserved.條件判斷條件判斷ifcase循環(huán)循環(huán)for, whilebreak, continue流程控制流程控制1-21Copyright Bosenrui, 2016. All rights re

溫馨提示

  • 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

提交評論