Linux操作系統(tǒng):情境5 Vi編輯器、shell編程_第1頁(yè)
Linux操作系統(tǒng):情境5 Vi編輯器、shell編程_第2頁(yè)
Linux操作系統(tǒng):情境5 Vi編輯器、shell編程_第3頁(yè)
Linux操作系統(tǒng):情境5 Vi編輯器、shell編程_第4頁(yè)
Linux操作系統(tǒng):情境5 Vi編輯器、shell編程_第5頁(yè)
已閱讀5頁(yè),還剩57頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

5文本編輯器Page2/33本章目標(biāo)了解Linux系統(tǒng)中的編輯器知識(shí)掌握vi編輯器的模式切換掌握vi編輯器的操作命令掌握使用vi編輯器進(jìn)行基本的文本編輯Page3/32本章目標(biāo)了解shell的發(fā)展過(guò)程和用途掌握shell變量的設(shè)置和使用掌握bash的基本操作方式掌握簡(jiǎn)單的shell腳本編輯方法Page4/32本章結(jié)構(gòu)Page5/33本章結(jié)構(gòu)Page6/33文本編輯器概述文本編輯器的作用Linux系統(tǒng)中的配置文件以文本文件的形式保存Linux管理員需要通過(guò)編輯配置文件進(jìn)行系統(tǒng)管理文本編輯器的分類行編輯器與全屏幕編輯器字符界面編輯器與圖形界面編輯器Page7/33Linux中的多種文本編輯器viLinux學(xué)習(xí)者需要掌握的第一個(gè)文本編輯器大多數(shù)Linux系統(tǒng)中缺省使用的文本編輯器

Emacs用于編輯程序源代碼文件的文本編輯器nano在字符界面提供了菜單操作,易用性較好geditGNOME圖形環(huán)境中的文本編輯器Page8/33vi編輯器的三種模式vi編輯器中有三種狀態(tài)模式命令模式輸入模式末行模式Shell提示符退出vivifile末行模式輸入模式轉(zhuǎn)義命令按[Esc]鍵文本輸入命令執(zhí)行完畢或按[Esc]鍵命令模式vi中三種模式的轉(zhuǎn)換Page9/33vi編輯器的基本使用vi編輯器的啟動(dòng)與退出文件操作光標(biāo)移動(dòng)操作編輯操作查找與替換操作vi編輯器的在線幫助Page10/33vi編輯器的啟動(dòng)與退出直接進(jìn)入編輯環(huán)境$vi進(jìn)入編輯環(huán)境并打開(kāi)(新建)文件$vimyfile退出vi編輯環(huán)境輸入末行命令放棄對(duì)文件的修改,并退出編輯器:q!

vi的啟動(dòng)與退出Page11/33vi中的文件操作打開(kāi)新文件讀取文件保存文件另存為文件退出vi編輯器Page12/33文件的打開(kāi)與讀取操作打開(kāi)新文件打開(kāi)新的文件到vi編輯器中:efilename

打開(kāi)新的文件到vi編輯器中,并放棄對(duì)當(dāng)前文件的修改:e!

filename讀取文件內(nèi)容到當(dāng)前vi編輯器中

:rfilenamePage13/33文件保存與另存為保存文件保存對(duì)vi編輯器中已打開(kāi)文件的修改:w另存為文件將vi編輯器中的內(nèi)容另存為指定文件名:wmyfilePage14/33退出vi編輯器的多種方法未修改退出沒(méi)有對(duì)vi編輯器中打開(kāi)的文件進(jìn)行修改,或已對(duì)修改進(jìn)行了保存,直接退出vi編輯器:q保存并退出對(duì)vi編輯器中的文件進(jìn)行保存并退出vi編輯器:qw不保存退出放棄對(duì)文件內(nèi)容的修改,并退出vi編輯器:q!Page15/33光標(biāo)移動(dòng)和翻頁(yè)操作操作類型光標(biāo)操作鍵功能光標(biāo)移動(dòng)h向左移動(dòng)光標(biāo)l向右移動(dòng)光標(biāo)k向上移動(dòng)光標(biāo)j向下移動(dòng)光標(biāo)翻頁(yè)Ctrl+f向前翻整頁(yè)Ctrl+b向后翻整頁(yè)Ctrl+u向前翻半頁(yè)Ctrl+d向后翻半頁(yè)光標(biāo)移動(dòng)和翻頁(yè)P(yáng)age16/33行內(nèi)快速跳轉(zhuǎn)操作鍵功能^將光標(biāo)快速跳轉(zhuǎn)到本行的行首字符$將光標(biāo)快速跳轉(zhuǎn)到本行的行尾字符w將光標(biāo)快速跳轉(zhuǎn)到當(dāng)前光標(biāo)所在位置的后一個(gè)單詞的首字母b將光標(biāo)快速跳轉(zhuǎn)到當(dāng)前光標(biāo)所在位置的前一個(gè)單詞的首字母e將光標(biāo)快速跳轉(zhuǎn)到當(dāng)前光標(biāo)所在位置的后一個(gè)單詞的尾字母行內(nèi)快速跳轉(zhuǎn)Page17/33文件內(nèi)行間快速跳轉(zhuǎn)命令功能:setnu在編輯器中顯示行號(hào):setnonu取消編輯器中的行號(hào)顯示1G跳轉(zhuǎn)到文件的首行G跳轉(zhuǎn)到文件的末尾行#G跳轉(zhuǎn)到文件中的第#行行間快速跳轉(zhuǎn)Page18/33進(jìn)入輸入模式命令功能i在當(dāng)前光標(biāo)處進(jìn)入插入狀態(tài)a在當(dāng)前光標(biāo)后進(jìn)入插入狀態(tài)A將光標(biāo)移動(dòng)到當(dāng)前行的行末,并進(jìn)入插入狀態(tài)o在當(dāng)前行的下面插入新行,光標(biāo)移動(dòng)到新行的行首,進(jìn)入插入狀態(tài)O在當(dāng)前行的上面插入新行,光標(biāo)移動(dòng)到新行的行首,進(jìn)入插入狀態(tài)cw刪除當(dāng)前光標(biāo)到所在單詞尾部的字符,并進(jìn)入插入狀態(tài)c$刪除當(dāng)前光標(biāo)到行尾的字符,并進(jìn)入插入狀態(tài)c^命令刪除當(dāng)前光標(biāo)之前(不包括光標(biāo)上的字符)到行首的字符,并進(jìn)入插入狀態(tài)進(jìn)入輸入模式Page19/33輸入模式的編輯鍵操作按鍵功能方向鍵進(jìn)行上下左右方向的光標(biāo)移動(dòng)Home快速定位光標(biāo)到行首End快速定位光標(biāo)到行尾PageUp進(jìn)行文本的向上翻頁(yè)P(yáng)ageDown進(jìn)行文本的向下翻頁(yè)Backspace刪除光標(biāo)左側(cè)的字符Del刪除光標(biāo)位置的字符輸入模式編輯操作Page20/33刪除操作命令功能x刪除光標(biāo)處的單個(gè)字符dd刪除光標(biāo)所在行dw刪除當(dāng)前字符到單詞尾(包括空格)的所有字符de刪除當(dāng)前字符到單詞尾(不包括單詞尾部的空格)的所有字符d$刪除當(dāng)前字符到行尾的所有字符d^刪除當(dāng)前字符到行首的所有字符J刪除光標(biāo)所在行行尾的換行符,相當(dāng)于合并當(dāng)前行和下一行的內(nèi)容刪除操作Page21/33撤銷操作命令功能u取消最近一次的操作,并恢復(fù)操作結(jié)果可以多次使用u命令恢復(fù)已進(jìn)行的多步操作U取消對(duì)當(dāng)前行進(jìn)行的所有操作Ctrl+r對(duì)使用u命令撤銷的操作進(jìn)行恢復(fù)撤銷操作Page22/33復(fù)制與粘貼操作命令功能yy復(fù)制當(dāng)前行整行的內(nèi)容到vi緩沖區(qū)yw復(fù)制當(dāng)前光標(biāo)到單詞尾字符的內(nèi)容到vi緩沖區(qū)y$復(fù)制當(dāng)前光標(biāo)到行尾的內(nèi)容到vi緩沖區(qū)y^復(fù)制當(dāng)前光標(biāo)到行首的內(nèi)容到vi緩沖區(qū)p讀取vi緩沖區(qū)中的內(nèi)容,并粘貼到光標(biāo)當(dāng)前的位置(不覆蓋文件已有的內(nèi)容)復(fù)制與粘貼Page23/33階段總結(jié)vi編輯器的啟動(dòng)與退出文件操作光標(biāo)移動(dòng)操作vi編輯器的基本編輯操作從命令模式進(jìn)入輸入模式的命令

輸入模式中的基本編輯操作命令模式中的刪除操作命令模式中的撤銷操作命令模式中的復(fù)制操作命令模式中的粘貼操作Page24/33階段練習(xí)練習(xí)vi編輯器中三種模式間的轉(zhuǎn)換練習(xí)vi編輯器中的復(fù)制與粘貼操作Page25/33字符串查找操作命令功能/word從上而下在文件中查找字符串“word”?word從下而上在文件中查找字符串“word”n定位下一個(gè)匹配的被查找字符串N定位上一個(gè)匹配的被查找字符串字符串查找操作Page26/33字符串替換操作命令功能:s/old/new將當(dāng)前行中查找到的第一個(gè)字符“old”串替換為“new”:s/old/new/g將當(dāng)前行中查找到的所有字符串“old”替換為“new”:#,#s/old/new/g在行號(hào)“#,#”范圍內(nèi)替換所有的字符串“old”為“new”:%s/old/new/g在整個(gè)文件范圍內(nèi)替換所有的字符串“old”為“new”:s/old/new/c在替換命令末尾加入c命令,將對(duì)每個(gè)替換動(dòng)作提示用戶進(jìn)行確認(rèn)字符串替換操作Page27/33vi編輯器的在線幫助使用vi在線幫助需安裝的軟件包vim-common-6.3.035-3.i386.rpmvim-enhanced-6.3.035-3.i386.rpm軟件包在RHEL4的第2張安裝光盤(pán)使用vi在線幫助的兩種方法在vi編輯器中按“F1”鍵輸入help末行命令:helpvi的在線幫助Page28/33使用vi打開(kāi)多個(gè)文件在輸入vi命令時(shí)使用多個(gè)文件名作為參數(shù)vifile1file2file3...vi打開(kāi)多個(gè)文件Page29/33vi多文件操作命令命令功能:args顯示多文件信息:next向后切換文件:prev向前切換文件:first定位首文件:last定位尾文件Ctrl+^快速切換到編輯器中切換前的文件多文件切換操作Page30/33階段總結(jié)vi編輯器中可同時(shí)打開(kāi)多個(gè)文本文件進(jìn)行編輯vi編輯器的編輯區(qū)域中只顯示一個(gè)文件,其他被打開(kāi)的文件被放在后臺(tái)vi中編輯區(qū)域的內(nèi)容可以在多個(gè)已打開(kāi)文件之間進(jìn)行切換vi從一個(gè)文件切換到另一個(gè)文件時(shí)應(yīng)先保存更改或放棄更改Page31/33階段練習(xí)使用vi命令打開(kāi)多個(gè)文本文件練習(xí)vi編輯器中多個(gè)文件之間的切換操作Page32/33圖形界面中使用gedit編輯器使用命令啟動(dòng)gedit使用菜單啟動(dòng)geditgedit編輯器界面Page33/33本章總結(jié)文本編輯

文本編輯器概述

vi文本編輯器

文本編輯器的作用文本編輯器的分類

vi編輯器的模式vi編輯器的基本使用編輯器的多文件操作文本編輯器簡(jiǎn)介gedit文本編輯器

Linux系統(tǒng)中通過(guò)編輯配置文件進(jìn)行系統(tǒng)管理行編輯器與全屏幕編輯器字符界面編輯器與圖形界面編輯器viEmacsnanogedit都有各自的特點(diǎn)和應(yīng)用場(chǎng)合vi編輯器中有命令模式、輸入模式和末行模式三種狀態(tài)模式vi編輯器提供了完備的文本編輯功能vi編輯器支持對(duì)多個(gè)文本文件的編輯操作Page34/33實(shí)驗(yàn)任務(wù)1:使用vi編輯文本文件提示可以在vi編輯器中讀取/etc目錄下系統(tǒng)配置文件的內(nèi)容,但是不要將進(jìn)行的修改保存到系統(tǒng)配置文件中任務(wù)2:vi編輯器多文件操作提示在進(jìn)行多文件間的切換之前,要將更改進(jìn)行保存或放棄更改,否則無(wú)法進(jìn)行正常的文件切換Page35/32Shell的基本概念Shell是操作系統(tǒng)與用戶進(jìn)行交互操作的界面用戶命令結(jié)果操作系統(tǒng)ShellPage36/32Shell的發(fā)展與分類BshKshBashCshBsh在20世紀(jì)70年代中期誕生于新澤西的AT&T貝爾實(shí)驗(yàn)室,具有較強(qiáng)的腳本編程功能Csh在20世紀(jì)80年代早期誕生于加利福尼亞大學(xué),使用C語(yǔ)言的語(yǔ)法,用戶命令交互更加方便Ksh結(jié)合了Bsh和Csh兩者的功能優(yōu)勢(shì),兼有Bsh的語(yǔ)法和Csh的交互特性Bash是Bsh的升級(jí)替代品,吸收了Ksh中的諸多優(yōu)秀特性,Bash是開(kāi)源軟件Page37/32RHEL4中Shell的使用RHEL4中提供了多種Shell程序可供用戶選擇文件Shells中保存了Linux系統(tǒng)中可使用的Shell程序列表/etc/shells在某個(gè)Shell程序中可通過(guò)執(zhí)行其他的Shell程序改變用戶的當(dāng)前Shell[teacher@localhost~]$bsh用戶默認(rèn)Shell的設(shè)定用戶使用的登錄Shell保存在passwd文件的記錄中/etc/passwdPage38/32Bash的主要功能命令行編輯功能命令和文件名補(bǔ)全功能命令歷史功能命令別名功能提供作業(yè)控制功能具有將命令序列定義為功能鍵的功能靈活的Shell腳本編程Page39/32Shell變量的分類環(huán)境變量預(yù)定義變量位置變量用戶自定義變量(本地變量)Page40/32環(huán)境變量使用set命令查看環(huán)境變量set常用環(huán)境變量USERUIDSHELLHOMEPWDPATHPS1PS2環(huán)境變量配置文件/etc/bashrc/etc/profile

~/.bash_profile~/.bashrc

Page41/32位置變量$./exam01onetwotreefourfivesix$0表示命令名稱$0屬于預(yù)定義變量$0不屬于位置變量$1表示第1個(gè)命令參數(shù)$2表示第2個(gè)命令參數(shù)$3表示第3個(gè)命令參數(shù)$n表示第n個(gè)命令參數(shù)Page42/32預(yù)定義變量變量名含義$#表示位置參數(shù)的數(shù)量$*表示所有位置參數(shù)的內(nèi)容$?表示命令執(zhí)行后返回的狀態(tài),用于檢查上一個(gè)命令的執(zhí)行是否正確;在Linux中,命令退出狀態(tài)為0表示命令正確執(zhí)行,任何非0值表示命令執(zhí)行錯(cuò)誤$$表示當(dāng)前進(jìn)程的進(jìn)程號(hào)$!表示后臺(tái)運(yùn)行的最后一個(gè)進(jìn)程號(hào)$0表示當(dāng)前執(zhí)行的進(jìn)程名顯示預(yù)定義變量的值Page43/32用戶自定義變量自定義變量的設(shè)置$DAY=sunday自定義變量的查看與引用$echo$DAY

自定義變量的輸出$exportDAY自定義變量的清除$unsetDAY

Page44/32Bash的命令行編輯功能操作鍵功能左右方向鍵使用左右方向鍵可以使光標(biāo)在當(dāng)前命令行中的已有字符間進(jìn)行任意的移動(dòng)退格鍵刪除命令行中光標(biāo)左邊的字符Del刪除當(dāng)前光標(biāo)處的字符Home將光標(biāo)快速移動(dòng)到命令行的行首End將光標(biāo)快速移動(dòng)到命令行的行尾Ctrl+u刪除當(dāng)前光標(biāo)到行首的內(nèi)容Ctrl+k刪除當(dāng)前光標(biāo)到行尾的內(nèi)容命令行編輯功能Page45/32Bash的命令行補(bǔ)全功能命令補(bǔ)全功能使用Tab鍵可在命令查找路徑中查找匹配的命令,并進(jìn)行命令拼寫(xiě)的補(bǔ)全文件補(bǔ)全功能使用Tab鍵可對(duì)文件和目錄名進(jìn)行補(bǔ)全Page46/32Bash的命令歷史與命令重復(fù)命令歷史功能的使用使用上下方向鍵瀏覽已輸入命令(歷史命令)歷史命令的查看$history用戶命令歷史保存文件~/.bash_history命令歷史的清除$history-c

Page47/32Bash的命令別名功能命令別名的顯示$alias命令別名的定義$aliasgrep='grep-i'命令別名的取消$aliasgrep$unalias-a系統(tǒng)別名定義文件RHEL4系統(tǒng)中為用戶預(yù)定義的命令別名保存在“/etc/profile.d/”目錄的配置文件中Page48/32階段總結(jié)Shell的發(fā)展與類型Bsh Csh Ksh BashShell變量類型環(huán)境變量、預(yù)定義變量、位置變量、用戶自定義變量Bash的主要功能命令行編輯命令補(bǔ)全命令歷史命令別名Page49/32階段練習(xí)查看系統(tǒng)中的環(huán)境變量練習(xí)使用命令補(bǔ)全功能進(jìn)入如下目錄:/etc/sysconfig/network-scripts/Page50/32管道與重定向標(biāo)準(zhǔn)輸入輸出重定向操作管道操作Page51/32標(biāo)準(zhǔn)輸入輸出輸入輸出文件文件編號(hào)默認(rèn)設(shè)備標(biāo)準(zhǔn)輸入0鍵盤(pán)標(biāo)準(zhǔn)輸出1顯示器標(biāo)準(zhǔn)錯(cuò)誤輸出2顯示器標(biāo)準(zhǔn)錯(cuò)誤輸出Page52/32重定向操作類別操作符說(shuō)明輸入重定向<輸入重定向是將命令中接收輸入的途徑由默認(rèn)的鍵盤(pán)更改(重定向)為指定的文件輸出重定向>將命令的執(zhí)行結(jié)果重定向輸出到指定的文件中,命令進(jìn)行輸出重定向后執(zhí)行結(jié)果將不顯示在屏幕上>>將命令執(zhí)行的結(jié)果重定向并追加到指定文件的末尾保存錯(cuò)誤重定向2>清空指定文件的內(nèi)容,并保存標(biāo)準(zhǔn)錯(cuò)誤輸出的內(nèi)容到指定文件中2>>向指定文件中追加命令的錯(cuò)誤輸出,而不覆蓋文件中的原有內(nèi)容輸出與錯(cuò)誤組合重定向&>將標(biāo)準(zhǔn)輸出與錯(cuò)誤輸出的內(nèi)容全部重定向到指定文件重定向操作Page53/32輸出重定向?qū)嵗龑⒚钶敵鲋囟ㄏ虻轿募?biāo)準(zhǔn)輸出重定向到文件$ls/etc/>etcdir將標(biāo)準(zhǔn)輸出重定向追加到文件$ls/etc/sysconfig/>>etcdir

將錯(cuò)誤輸出重定向到文件$nocmd2>errfile將標(biāo)準(zhǔn)輸出和錯(cuò)誤輸出重定向到文件$lsafilebfile&>errfilePage54/32管道的使用管道操作符|“|”符用于連接左右兩個(gè)命令,將“|”左邊的命令執(zhí)行結(jié)果(輸出)作為“|”右邊命令的輸入cmd1|cmd2

在同一條命令中可以使用多個(gè)“|”符連接多條命令cmd1|cmd2|...|cmdn

管道的使用Page55/32Shell腳本Shell腳本的概念基本的腳本編程運(yùn)行腳本程序Page56/32Shell腳本的概念Shell腳本程序是Shell命令語(yǔ)句的集合,用于實(shí)現(xiàn)特定的功能;Shell腳本程序保存在文本文件中,可以使用文本處理程序進(jìn)行閱讀和編輯;Shell腳本程序是由Shell環(huán)境解釋執(zhí)行的,不需要在執(zhí)行前進(jìn)行編譯;執(zhí)行Shell程序時(shí),Shell腳本文件需要具有可執(zhí)行(x)的屬性查看Linux系統(tǒng)腳本Page57/32基本腳本編程使用文本編輯器(vi)建立Shell腳本文件腳本中應(yīng)包括的內(nèi)容腳本運(yùn)行環(huán)境設(shè)置#!/bin/bash

注釋行以#開(kāi)始#Cleancommandhistory,清除用戶命令歷史腳本語(yǔ)句history-c設(shè)置腳本文件為可執(zhí)行Page58/32運(yùn)行腳本程序使用Shell命令程序執(zhí)行腳本程序$bashhello.

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論