




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Turbolinux用戶基礎(chǔ)用戶基礎(chǔ) 課程內(nèi)容課程內(nèi)容n第一章第一章 什么是什么是LINUXn第二章第二章 安裝安裝TURBOLINUXn第三章第三章 TURBOLINUX工具工具n第四章第四章 X配置及疑難解答配置及疑難解答n第五章第五章 運(yùn)行級(jí)別與故障排除運(yùn)行級(jí)別與故障排除n第六章第六章 文件系統(tǒng)基礎(chǔ)文件系統(tǒng)基礎(chǔ)n第七章第七章 SHELL使用指南使用指南n第八章第八章 SHELL進(jìn)程與腳本進(jìn)程與腳本n第九章第九章 文檔編輯工具文檔編輯工具n第十章第十章 TURBOLINUX應(yīng)用程序應(yīng)用程序第八章第八章 Shell進(jìn)程與腳本進(jìn)程與腳本本章內(nèi)容:本章內(nèi)容:n命令解釋程序命令解釋程序Shelln
2、輸入輸出命令輸入輸出命令n管道和過濾器管道和過濾器nShell腳本腳本n編程語言編程語言本章要求本章要求nLinux流、管道、重定向流、管道、重定向n通過文本處理過濾器處理文本流通過文本處理過濾器處理文本流n編寫編寫shell腳本程序腳本程序8.1 命令解釋程序命令解釋程序shellnshell:l交互式:命令行解釋與執(zhí)行(CLI: command-line interpreter)lshell: 胡桃外殼l編程語言n各種各種shell的特點(diǎn)的特點(diǎn)shBourne shell,最初的命令解釋程序,最初的命令解釋程序bash默認(rèn)的默認(rèn)的shell, 兼容兼容sh, 很好的腳本語言很好的腳本語言c
3、sh類似語言語法類似語言語法tcsh新的新的csh版本,優(yōu)點(diǎn):文件取名及命令行編輯版本,優(yōu)點(diǎn):文件取名及命令行編輯ksh不太兼容不太兼容sh, 優(yōu)勢(shì)優(yōu)勢(shì):命令行處理命令行處理n/etc/shells列出Turbolinux系統(tǒng)中可以使用的各種shelln命令解釋程序能做什么?命令解釋程序能做什么?n為什么要使用為什么要使用bash?l高級(jí)語言的結(jié)構(gòu)(if, while, select等)l支持對(duì)文件和目錄的大量測(cè)試l支持整數(shù)運(yùn)算l程序的開發(fā)速度更快l交互式命令歷史機(jī)制可模仿兩個(gè)最流行的Linux編輯器Emacs, vil支持函數(shù)編程l先進(jìn)的模式匹配結(jié)構(gòu)和分析復(fù)雜句子的能力8.2 輸入輸出命令輸
4、入輸出命令n標(biāo)準(zhǔn)輸入輸出標(biāo)準(zhǔn)輸入輸出每一個(gè)每一個(gè)Linux命令都有個(gè)與之相關(guān)的輸入輸出流:命令都有個(gè)與之相關(guān)的輸入輸出流:lstdin標(biāo)準(zhǔn)輸入,鍵盤輸入lstdout標(biāo)準(zhǔn)輸出,顯示輸出lstderr標(biāo)準(zhǔn)錯(cuò)誤輸出:輸出錯(cuò)誤及診斷信息(也是顯示輸出)n重定向重定向重定向輸出重定向輸出outfile錯(cuò)誤重定向輸出錯(cuò)誤重定向輸出2errorfile兩個(gè)輸出流重定向到同一地方兩個(gè)輸出流重定向到同一地方2 &1stderr輸出到文件輸出到文件(從左到右從左到右): outfile 2&1stderr仍輸出到屏幕仍輸出到屏幕: 2&1outfilen重定向重定向追加重定向輸出追加重定
5、向輸出appendoutfile2append_errfile空設(shè)備的使用空設(shè)備的使用/dev/null2/dev/null重定向輸入重定向輸入 file1文件覆蓋出錯(cuò)ls | file1成功set +o noclobber 關(guān)閉不覆蓋設(shè)置練習(xí)練習(xí)nP170 練習(xí)練習(xí)8-1:命令輸入輸出:命令輸入輸出nP171 練習(xí)練習(xí)8-2:更多的命令輸入輸出重定向:更多的命令輸入輸出重定向8.3 管道和過濾器管道和過濾器n管道:與重定向作用類似,但工作原理不同。管道:與重定向作用類似,但工作原理不同。who tmpfilewc l tmpfilewho | wc -ln管道中的兩個(gè)命令運(yùn)行時(shí)并不知道它們的
6、輸入輸管道中的兩個(gè)命令運(yùn)行時(shí)并不知道它們的輸入輸出流是連接在一起的出流是連接在一起的n管道中的兩個(gè)命令要同步運(yùn)行,以適應(yīng)管道中數(shù)管道中的兩個(gè)命令要同步運(yùn)行,以適應(yīng)管道中數(shù)據(jù)的據(jù)的“傳輸傳輸”用重定向用管道n管道僅能操縱命令的標(biāo)準(zhǔn)輸出流,標(biāo)準(zhǔn)錯(cuò)管道僅能操縱命令的標(biāo)準(zhǔn)輸出流,標(biāo)準(zhǔn)錯(cuò)誤輸出必須重定向,以免在終端顯示誤輸出必須重定向,以免在終端顯示n管道可多次使用,以連接兩個(gè)以上的命令管道可多次使用,以連接兩個(gè)以上的命令who | grep ttyp | wc lps ef | grep bash | wc -l過濾器過濾器n過濾器是一段程序(或一個(gè)命令)過濾器是一段程序(或一個(gè)命令)n從標(biāo)準(zhǔn)輸入中讀
7、數(shù)據(jù)(有些過濾器可從文件獲取從標(biāo)準(zhǔn)輸入中讀數(shù)據(jù)(有些過濾器可從文件獲取數(shù)據(jù)),然后寫到標(biāo)準(zhǔn)輸出中數(shù)據(jù)),然后寫到標(biāo)準(zhǔn)輸出中n通常會(huì)對(duì)輸入數(shù)據(jù)進(jìn)行處理,一個(gè)過濾器通常只通常會(huì)對(duì)輸入數(shù)據(jù)進(jìn)行處理,一個(gè)過濾器通常只執(zhí)行一種功能執(zhí)行一種功能tee | tee a filename | 截取中間結(jié)果截取中間結(jié)果headtailhead c100 filenametail n5 filename輸出文件開頭輸出文件開頭/結(jié)結(jié)尾若干字節(jié)尾若干字節(jié)/行行cutcut c d -f剪切一段數(shù)據(jù)剪切一段數(shù)據(jù)sortsort +1n -2 filename排序排序uniq比較相鄰行,刪除重復(fù)的行比較相鄰行,刪除重復(fù)
8、的行trtr A-Z a-z按對(duì)照表翻譯按對(duì)照表翻譯sortn功能強(qiáng)大的排序程序功能強(qiáng)大的排序程序n可按整行排序可按整行排序n可按關(guān)鍵字段排序(序號(hào)從可按關(guān)鍵字段排序(序號(hào)從0算起)算起)l分隔符可指定(-t)l各字段可看作字符串(字符/字典)或數(shù)字(n)l順序/逆序(-r)l小寫字母轉(zhuǎn)大寫進(jìn)行排序sort +1n -2 +0r -1 lsfsort t: +6 +0f -1 /etc/passwdtrn只能從標(biāo)準(zhǔn)輸入中讀入數(shù)據(jù)只能從標(biāo)準(zhǔn)輸入中讀入數(shù)據(jù)n如果讀入的字符在第一個(gè)參數(shù)表中,則替換為第二如果讀入的字符在第一個(gè)參數(shù)表中,則替換為第二個(gè)參數(shù)表中相應(yīng)字符個(gè)參數(shù)表中相應(yīng)字符-d落在參數(shù)表落在
9、參數(shù)表1中的字符被刪除,不用參數(shù)表中的字符被刪除,不用參數(shù)表2-c沒落在表沒落在表1中的字符被翻譯成表中的字符被翻譯成表2中的字符中的字符-s翻譯時(shí)刪除所有重復(fù)的字符翻譯時(shí)刪除所有重復(fù)的字符參數(shù)表格式:參數(shù)表格式:abc, a-z, A-Z, A*5(表示表示AAAAA),A*自動(dòng)拉長(zhǎng)表自動(dòng)拉長(zhǎng)表2,使其與表,使其與表1同長(zhǎng)同長(zhǎng) | tr cs a-z 012* | sort | uniqASCII控制字符控制字符NULZ06060000BELLG0707a007BS0808b010HT0909T011LF100An012VT110Bv013FF120Cf014CR回車回車130Dr01592
10、5C134n問題:?jiǎn)栴}:按文件大小倒序列出目錄中大小和文件名項(xiàng)。按文件大小倒序列出目錄中大小和文件名項(xiàng)。n解答:解答:1、列目錄、去除首行、列目錄、去除首行2、將、將換成空格換成空格3、僅保留文件大小列和文件名列、僅保留文件大小列和文件名列4、排序、排序ls l | tail +2 | tr s t | cut -d f5,9 | sort +0nr練習(xí)練習(xí)nP176 練習(xí)練習(xí)8-3:管道和過濾器:管道和過濾器nP178 練習(xí)練習(xí)8-4:更多的管道和過濾器:更多的管道和過濾器8.4 Shell腳本腳本nLINUX多任務(wù)多任務(wù)復(fù)雜復(fù)雜腳本在監(jiān)視和調(diào)和復(fù)腳本在監(jiān)視和調(diào)和復(fù)雜性方面扮演著重要的角色雜
11、性方面扮演著重要的角色n腳本功能:與其他可執(zhí)行程序一樣的作用腳本功能:與其他可執(zhí)行程序一樣的作用l可讀取標(biāo)準(zhǔn)輸入、寫標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤輸出l可打開和關(guān)閉文件l可打開數(shù)據(jù)庫進(jìn)行編輯l可完成命令行中可完成的任何事情nLINUX系統(tǒng)引導(dǎo)后,初始化都由腳本處理系統(tǒng)引導(dǎo)后,初始化都由腳本處理n啟動(dòng)啟動(dòng)X Window系統(tǒng)通常也由腳本完成系統(tǒng)通常也由腳本完成n腳本可以是文本文件,由編輯器創(chuàng)建或修改腳本可以是文本文件,由編輯器創(chuàng)建或修改n腳本可以是任何以正確格式結(jié)束的文本流腳本可以是任何以正確格式結(jié)束的文本流一個(gè)一個(gè)腳本在運(yùn)行時(shí)可創(chuàng)建并運(yùn)行另一腳本,然后刪除腳本在運(yùn)行時(shí)可創(chuàng)建并運(yùn)行另一腳本,然后刪除它(靈活
12、)它(靈活)n點(diǎn)命令點(diǎn)命令l. 運(yùn)行腳本運(yùn)行腳本n創(chuàng)建一個(gè)腳本的創(chuàng)建一個(gè)腳本的4個(gè)步驟:個(gè)步驟:l確定要執(zhí)行的動(dòng)作l決定完成該動(dòng)作使用什么命令l使用編輯器將命令序列存入文件l使用chmod命令將文件標(biāo)記為可執(zhí)行的創(chuàng)建與運(yùn)行腳本創(chuàng)建與運(yùn)行腳本$vi coresearch#!/bin/sh#codesearch This little ditty finds core finesfind $1 name core print:wq$chmod +x coresearch$./coresearch /usr或或$coresearch /usr(放入放入PATH路徑的目錄中路徑的目錄中)指明使用什么S
13、HELL來執(zhí)行此腳本注釋參數(shù),$0表示腳本自身的名字命令行參數(shù)$1$9事務(wù)和注釋事務(wù)和注釋n事務(wù)標(biāo)志:事務(wù)標(biāo)志:#!l#!/bin/sh表示執(zhí)行/bin/sh,程序的標(biāo)準(zhǔn)輸入被重定向到腳本的其余部分l腳本的第一行應(yīng)該總是#!n注釋:注釋:#l好習(xí)慣參數(shù)和特殊參數(shù)參數(shù)和特殊參數(shù)$0腳本自身的名字腳本自身的名字$1$9運(yùn)行腳本的命令行參數(shù)運(yùn)行腳本的命令行參數(shù)$#運(yùn)行腳本的命令行參數(shù)的數(shù)目運(yùn)行腳本的命令行參數(shù)的數(shù)目$*$1 $2 $3 代表命令行所有參數(shù)的字符串代表命令行所有參數(shù)的字符串$1 $2 $3 代表參數(shù)列表代表參數(shù)列表$如:如:ls /tmp/ls.$當(dāng)前當(dāng)前shell的進(jìn)程的進(jìn)程ID可用
14、于創(chuàng)建具有唯一文件名的可用于創(chuàng)建具有唯一文件名的臨時(shí)文件臨時(shí)文件$?最近在前臺(tái)運(yùn)行的命令的返回最近在前臺(tái)運(yùn)行的命令的返回狀態(tài)狀態(tài)$!最近在后臺(tái)運(yùn)行的進(jìn)程的最近在后臺(tái)運(yùn)行的進(jìn)程的ID控制段控制段n命令行:命令行:l一條命令l一個(gè)管道l分號(hào)分隔的列表n條件執(zhí)行條件執(zhí)行if then fiif then else fiif then elif then else fi腳本舉例:腳本舉例:/etc/init.d/killall讀用戶輸入讀用戶輸入nfornexitl用于腳本的任何地方n讀用戶輸入讀用戶輸入readlecho Enter your name: clread NAMElecho $NAME練習(xí)練習(xí)nP183 練習(xí)練習(xí)8-5:Shell腳本腳本nP184 練習(xí)練習(xí)8-6:附加的:附加的Shell腳本腳本nP185 練習(xí)練習(xí)8-7:更多的:更多的Shell腳本腳本8.5 編程語言編程語言n和和C+nPerlnPythonnTCLnPH
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- pvc輕質(zhì)隔墻施工方案
- 的日記300字左右
- 2025年惠州城市職業(yè)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫及參考答案
- 2025年共青團(tuán)知識(shí)競(jìng)賽試題(附答案)
- 2025年江西司法警官職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫帶答案
- 2025年湖南理工職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫附答案
- 2025年泉州經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫新版
- 2025年青島港灣職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫參考答案
- 2024-2025學(xué)年高中化學(xué) 第二單元 化學(xué)與資源開發(fā)利用 2.3 石油、煤和天然氣的綜合利用教學(xué)實(shí)錄1 新人教版選修2
- 7火山噴發(fā)(教學(xué)設(shè)計(jì))-2023-2024學(xué)年科學(xué)六年級(jí)下冊(cè)人教鄂教版
- 2025年高考語文備考之DeepSeek與《哪吒2》相關(guān)語言文字運(yùn)用題訓(xùn)練
- (市質(zhì)檢三檢)泉州市2025屆高中畢業(yè)班質(zhì)量監(jiān)測(cè) (三)歷史試卷
- 2025年安徽衛(wèi)生健康職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性考試題庫含答案
- 電子煙管理辦法培訓(xùn)課件
- 標(biāo)準(zhǔn)日本語初級(jí)教材上冊(cè)
- 2025云南昆明空港投資開發(fā)集團(tuán)招聘7人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025山東能源集團(tuán)中級(jí)人才庫選拔高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 政務(wù)信息化可行性研究報(bào)告
- 好書介紹愛德華的奇妙之旅PPT課件
- 環(huán)境違法行立案審批表
- 壓力容器涂敷工藝規(guī)程指導(dǎo)書
評(píng)論
0/150
提交評(píng)論