linux中重定向、管道和vi命令的使用_第1頁
linux中重定向、管道和vi命令的使用_第2頁
linux中重定向、管道和vi命令的使用_第3頁
linux中重定向、管道和vi命令的使用_第4頁
linux中重定向、管道和vi命令的使用_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

重定向和管道文件

輸入/輸出重定向

輸入/輸出重定向同標(biāo)準(zhǔn)I/O一樣,UnixShell對于每一個進程預(yù)先定義3個文件描述字(0、1、2)。分別對應(yīng)于:0(STDIN_FILENO):標(biāo)準(zhǔn)輸入;1(STDOUT_FILENO):標(biāo)準(zhǔn)輸出;2(STDERR_FILENO):標(biāo)準(zhǔn)出錯輸出。重定向

重定向分為:輸出重定向、輸入重定向和錯誤重定向。

<實現(xiàn)輸入重定向。

>或>>

實現(xiàn)輸出重定向,用戶可以使用輸出重定向把一個命令的輸出重定向到一個文件

1)ls–l/etc>dir

將ls命令生成的/etc目錄下的一個清單存到當(dāng)前目錄中的dir文件,而不在屏幕輸出。

2)ls–l/usr>>dir

將ls命令生成的/usr目錄的一個清單以追加的方式存到當(dāng)前目錄中的dir文件中。重定向重定向連接兩個或多個文件使用cat命令并重定向輸出到一個文件可以連接兩個或多個文件。重定向追加到一個文件可以使用雙重定向輸出符號“>>”,保留文件以前的內(nèi)容。這種情況下,命令輸出追加到另一個文件中。重定向重定向標(biāo)準(zhǔn)輸出到一個設(shè)備除了重定向一個命令的輸出到一個文件,也可以把它重定向到一個設(shè)備,因為UNIX系統(tǒng)將設(shè)備當(dāng)做文件。

$echo“Hello!Iampetter!”>/dev/tty01重定向標(biāo)準(zhǔn)輸入使用“<”重定向輸入。例如:用戶已經(jīng)創(chuàng)建好了一個文件letter。如果希望通過電子郵件發(fā)送給用戶petter??梢允褂孟旅娣绞剑?/p>

$mailpetter<letter$重定向標(biāo)準(zhǔn)錯誤重定向沒有專門的符號用于重定向stderr。我們可以同樣使用“<”或“>”符號,但需在它前面補一個數(shù)字2。

管道及其使用

管道管道即將一條命令執(zhí)行后產(chǎn)生的結(jié)果數(shù)據(jù)通過標(biāo)準(zhǔn)輸出送給后一條命令,作為該命令的輸入數(shù)據(jù)。管道使用命令“|”將這些命令前后銜接在一起,形成一個管道線,格式為:命令1|命令2|……|命令3

管道線中的每一條命令都作為一個單獨的進程運行,每一條命令的輸出作為下一條命令的輸入。命令執(zhí)行的順序是從左至右。管道管道管道經(jīng)常用于過濾、修改或維護一個命令的輸出。1、用管道做過濾器很多時候不需要一個命令產(chǎn)生的全部輸出。這種情況下,用戶可以從有命令產(chǎn)生的輸出中過濾想要的信息。2、用管道進行數(shù)據(jù)處理

管道T接頭是一種特殊類型的管道,與現(xiàn)實生活中的T型管道接頭很相似。用于重定向一個管道數(shù)據(jù)到多個地方。

tee命令用于首先一個T接頭功能。它從stdin得到輸入并把同樣的內(nèi)容寫入stdout和別的文件中。管道

命令的間隔符

命令間隔符一個命令行中可以若干條命令,各個命令之間可以用下表的字符進行間隔。;&&||前后命令的執(zhí)行存在“邏輯或”關(guān)系,只有“||”前面的命令執(zhí)行失敗,后面的命令才被執(zhí)行。前后命令的執(zhí)行存在“邏輯與”關(guān)系,只有&&前面的命令執(zhí)行成功后,后面的命令才被執(zhí)行用“;”間隔的各命令按順序依次執(zhí)行命令間隔符(續(xù)一)當(dāng)幾個命令的間隔符同時出現(xiàn)在同一個命令行上時,其優(yōu)先級為:

1);的優(yōu)先級最低

2)||和&&具有相同的優(yōu)先級

3)相同優(yōu)先級,按從左到右的結(jié)合原則執(zhí)行命令行

4)使用“()”可以組合命令行中的命令,改變執(zhí)行順序

使用vi編輯器編輯文件Youcanchangethecontentoftextfilesandcreatenewfileswithatexteditor.Texteditorsedittext.Theydonottrytoformatthetextlikewordprocessors.PICOAnovicefriendlybasictexteditorusedasstandardonmanysystems.Startwiththecommand'pico

filename'EMACSApowerfuleditingenvironmentwhichcanbeprogrammed.Ithasmanymodesforautolayoutofprogramcode.Startwiththecommand'emacs

filename'VIApowerfuleditorwhichcanbesomewhatconfusingfornewcomers.Itisdesignedforrapideditingoftextfilesandprogramming.Startwiththecommand'vifilename'Vi簡介

Vi是Visualinterface的簡稱,它是一個功能強大的全屏幕文本編輯器,是UNIX最重要的應(yīng)用程序之一,它的作用是建立、編輯、顯示ASCII碼的文本文件。

Vi沒有菜單,只有命令。注意:Vi命令并不鎖住所編輯的文件,因此多個用戶可能同時編輯一個文件,那么最后保存的文件版本將被保留。Vi簡介鍵入:viexampletextVi的三種運行模式

編輯模式插入模式命令模式進入vifilename退出鍵入ZZ輸入i,o,aESC鍵:命令以回車結(jié)束運行移動光標(biāo)

命令描述

j或下箭頭向下移動一行

k或上箭頭向上移動一行

h或左箭頭左移一個字符

l或右箭頭右移一個字符w右移一個詞W右移一個以空格分隔的詞b左移一個詞B左移一個以空格分隔的詞0移到行首移動光標(biāo)(續(xù)一)

命令描述$到行尾(到句子的開頭)到句子的末尾{到段落的開頭}到段落的末尾Ctrl-F向前翻頁Ctrl-B向后翻頁nG到第n行G到最后一行插入文本

命令描述i在當(dāng)前字符前插入文本I在行首插入文本a在當(dāng)前字符后添加文本A在行末添加文本o在當(dāng)前行后面插入一空行O在當(dāng)前行前面插入一空行R以改寫方式輸入文本刪除、拷貝文本

命令描述x刪除光標(biāo)處的字符X刪除光標(biāo)前面的字符dd刪除光標(biāo)所在的整行d$刪除從光標(biāo)所在處開始到行尾的內(nèi)容d0刪除從光標(biāo)前一個字符開始到行首的內(nèi)容db刪除前一個詞dG刪除當(dāng)前行一直到文件結(jié)尾文本替換命令

命令描述r仍保持在命令模式替換當(dāng)前字符s替換當(dāng)前字符并進入插入模式R直到按下Esc鍵才替換多個字符cw修改下一個詞的開頭cc修改整個一行cG從文件的最后一行開始修改查找和替換命令

命令描述/text從當(dāng)前光標(biāo)位置開始向前查找text?text從當(dāng)前光標(biāo)位置開始向后查找text/向前重復(fù)前一次的查找?向后重復(fù)前一次的查找n在同一個方向重復(fù)查找N在反方向重復(fù)查找文本查找和替換命令

命令描述:s/oldtext/newtext向前查找oldtext并替換成newtextm,ns/oldtext/newtext從m行到n行向前查找oldtext并替換成newtext:s/oldtext/newtext/g在這個文件中查找oldtext并替換成newtext/<space>text如果在/和text之間輸入多個空格,只查找整個詞/^text只在一行的開始查找/text$只在一行的結(jié)尾查找/(多于一個單詞)用括弧查找多個單詞剪切、拷貝和粘貼命令

命令描述yy拷貝當(dāng)前行nyy從當(dāng)前行位置開始拷貝n行p在當(dāng)前光標(biāo)位置后粘貼拷貝的文本P在當(dāng)前光標(biāo)位置前粘貼拷貝的文本:ma移動當(dāng)前行并剪貼在第a行后面:a,bmc移動第a至b行并剪貼在第c行后面:a,btc拷貝第a至b行并剪貼在第c行后面對vi選項的設(shè)置

命令描述:setnumber在vi中為每一行設(shè)行號:setall列出所有有效的選項:setautoindent約束下一行使之與當(dāng)前行有同樣的字符數(shù):setreadonly設(shè)置當(dāng)前文件為只讀。不保存修改:setwrapmargin=n設(shè)置右側(cè)裝訂線等于n.:setshowmode顯示用戶所在的“插入”、“替換一個字符”或“替換”模式撤消和重做命令如果用戶對文件的修改有誤,可以撤消所做的修改。使用命令“u”命令可以撤消剛才的修改。也可以使用命令“U”重做對當(dāng)前行的修改。為了重做被撤消的內(nèi)容,可以使用命令“.”。導(dǎo)入和導(dǎo)出文本導(dǎo)入:在特定的位置上將一個磁盤文件插入編輯器。導(dǎo)出:打開多個文件,從一個打開的文件中拷貝文本并把它保存為磁盤上的另一個文件。導(dǎo)入一個磁盤文件到編輯器:為了插入一個磁盤文件到已打開文件的位置上,使用命令“rfilename”。其中,filename是一個用完全路徑命名的文件名。從當(dāng)

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論