版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
重定向和管道文件
輸入/輸出重定向
輸入/輸出重定向同標(biāo)準(zhǔn)I/O一樣,UnixShell對(duì)于每一個(gè)進(jìn)程預(yù)先定義3個(gè)文件描述字(0、1、2)。分別對(duì)應(yīng)于:0(STDIN_FILENO):標(biāo)準(zhǔn)輸入;1(STDOUT_FILENO):標(biāo)準(zhǔn)輸出;2(STDERR_FILENO):標(biāo)準(zhǔn)出錯(cuò)輸出。重定向
重定向分為:輸出重定向、輸入重定向和錯(cuò)誤重定向。
<實(shí)現(xiàn)輸入重定向。
>或>>
實(shí)現(xiàn)輸出重定向,用戶可以使用輸出重定向把一個(gè)命令的輸出重定向到一個(gè)文件
1)ls–l/etc>dir
將ls命令生成的/etc目錄下的一個(gè)清單存到當(dāng)前目錄中的dir文件,而不在屏幕輸出。
2)ls–l/usr>>dir
將ls命令生成的/usr目錄的一個(gè)清單以追加的方式存到當(dāng)前目錄中的dir文件中。重定向重定向連接兩個(gè)或多個(gè)文件使用cat命令并重定向輸出到一個(gè)文件可以連接兩個(gè)或多個(gè)文件。重定向追加到一個(gè)文件可以使用雙重定向輸出符號(hào)“>>”,保留文件以前的內(nèi)容。這種情況下,命令輸出追加到另一個(gè)文件中。重定向重定向標(biāo)準(zhǔn)輸出到一個(gè)設(shè)備除了重定向一個(gè)命令的輸出到一個(gè)文件,也可以把它重定向到一個(gè)設(shè)備,因?yàn)閁NIX系統(tǒng)將設(shè)備當(dāng)做文件。
$echo“Hello!Iampetter!”>/dev/tty01重定向標(biāo)準(zhǔn)輸入使用“<”重定向輸入。例如:用戶已經(jīng)創(chuàng)建好了一個(gè)文件letter。如果希望通過電子郵件發(fā)送給用戶petter??梢允褂孟旅娣绞剑?/p>
$mailpetter<letter$重定向標(biāo)準(zhǔn)錯(cuò)誤重定向沒有專門的符號(hào)用于重定向stderr。我們可以同樣使用“<”或“>”符號(hào),但需在它前面補(bǔ)一個(gè)數(shù)字2。
管道及其使用
管道管道即將一條命令執(zhí)行后產(chǎn)生的結(jié)果數(shù)據(jù)通過標(biāo)準(zhǔn)輸出送給后一條命令,作為該命令的輸入數(shù)據(jù)。管道使用命令“|”將這些命令前后銜接在一起,形成一個(gè)管道線,格式為:命令1|命令2|……|命令3
管道線中的每一條命令都作為一個(gè)單獨(dú)的進(jìn)程運(yùn)行,每一條命令的輸出作為下一條命令的輸入。命令執(zhí)行的順序是從左至右。管道管道管道經(jīng)常用于過濾、修改或維護(hù)一個(gè)命令的輸出。1、用管道做過濾器很多時(shí)候不需要一個(gè)命令產(chǎn)生的全部輸出。這種情況下,用戶可以從有命令產(chǎn)生的輸出中過濾想要的信息。2、用管道進(jìn)行數(shù)據(jù)處理
管道T接頭是一種特殊類型的管道,與現(xiàn)實(shí)生活中的T型管道接頭很相似。用于重定向一個(gè)管道數(shù)據(jù)到多個(gè)地方。
tee命令用于首先一個(gè)T接頭功能。它從stdin得到輸入并把同樣的內(nèi)容寫入stdout和別的文件中。管道
命令的間隔符
命令間隔符一個(gè)命令行中可以若干條命令,各個(gè)命令之間可以用下表的字符進(jìn)行間隔。;&&||前后命令的執(zhí)行存在“邏輯或”關(guān)系,只有“||”前面的命令執(zhí)行失敗,后面的命令才被執(zhí)行。前后命令的執(zhí)行存在“邏輯與”關(guān)系,只有&&前面的命令執(zhí)行成功后,后面的命令才被執(zhí)行用“;”間隔的各命令按順序依次執(zhí)行命令間隔符(續(xù)一)當(dāng)幾個(gè)命令的間隔符同時(shí)出現(xiàn)在同一個(gè)命令行上時(shí),其優(yōu)先級(jí)為:
1);的優(yōu)先級(jí)最低
2)||和&&具有相同的優(yōu)先級(jí)
3)相同優(yōu)先級(jí),按從左到右的結(jié)合原則執(zhí)行命令行
4)使用“()”可以組合命令行中的命令,改變執(zhí)行順序
使用vi編輯器編輯文件Youcanchangethecontentoftextfilesandcreatenewfileswithatexteditor.Texteditorsedittext.Theydonottrytoformatthetextlikewordprocessors.PICOAnovicefriendlybasictexteditorusedasstandardonmanysystems.Startwiththecommand'pico
filename'EMACSApowerfuleditingenvironmentwhichcanbeprogrammed.Ithasmanymodesforautolayoutofprogramcode.Startwiththecommand'emacs
filename'VIApowerfuleditorwhichcanbesomewhatconfusingfornewcomers.Itisdesignedforrapideditingoftextfilesandprogramming.Startwiththecommand'vifilename'Vi簡(jiǎn)介
Vi是Visualinterface的簡(jiǎn)稱,它是一個(gè)功能強(qiáng)大的全屏幕文本編輯器,是UNIX最重要的應(yīng)用程序之一,它的作用是建立、編輯、顯示ASCII碼的文本文件。
Vi沒有菜單,只有命令。注意:Vi命令并不鎖住所編輯的文件,因此多個(gè)用戶可能同時(shí)編輯一個(gè)文件,那么最后保存的文件版本將被保留。Vi簡(jiǎn)介鍵入:viexampletextVi的三種運(yùn)行模式
編輯模式插入模式命令模式進(jìn)入vifilename退出鍵入ZZ輸入i,o,aESC鍵:命令以回車結(jié)束運(yùn)行移動(dòng)光標(biāo)
命令描述
j或下箭頭向下移動(dòng)一行
k或上箭頭向上移動(dòng)一行
h或左箭頭左移一個(gè)字符
l或右箭頭右移一個(gè)字符w右移一個(gè)詞W右移一個(gè)以空格分隔的詞b左移一個(gè)詞B左移一個(gè)以空格分隔的詞0移到行首移動(dòng)光標(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)前一個(gè)字符開始到行首的內(nèi)容db刪除前一個(gè)詞dG刪除當(dāng)前行一直到文件結(jié)尾文本替換命令
命令描述r仍保持在命令模式替換當(dāng)前字符s替換當(dāng)前字符并進(jìn)入插入模式R直到按下Esc鍵才替換多個(gè)字符cw修改下一個(gè)詞的開頭cc修改整個(gè)一行cG從文件的最后一行開始修改查找和替換命令
命令描述/text從當(dāng)前光標(biāo)位置開始向前查找text?text從當(dāng)前光標(biāo)位置開始向后查找text/向前重復(fù)前一次的查找?向后重復(fù)前一次的查找n在同一個(gè)方向重復(fù)查找N在反方向重復(fù)查找文本查找和替換命令
命令描述:s/oldtext/newtext向前查找oldtext并替換成newtextm,ns/oldtext/newtext從m行到n行向前查找oldtext并替換成newtext:s/oldtext/newtext/g在這個(gè)文件中查找oldtext并替換成newtext/<space>text如果在/和text之間輸入多個(gè)空格,只查找整個(gè)詞/^text只在一行的開始查找/text$只在一行的結(jié)尾查找/(多于一個(gè)單詞)用括弧查找多個(gè)單詞剪切、拷貝和粘貼命令
命令描述yy拷貝當(dāng)前行nyy從當(dāng)前行位置開始拷貝n行p在當(dāng)前光標(biāo)位置后粘貼拷貝的文本P在當(dāng)前光標(biāo)位置前粘貼拷貝的文本:ma移動(dòng)當(dāng)前行并剪貼在第a行后面:a,bmc移動(dòng)第a至b行并剪貼在第c行后面:a,btc拷貝第a至b行并剪貼在第c行后面對(duì)vi選項(xiàng)的設(shè)置
命令描述:setnumber在vi中為每一行設(shè)行號(hào):setall列出所有有效的選項(xiàng):setautoindent約束下一行使之與當(dāng)前行有同樣的字符數(shù):setreadonly設(shè)置當(dāng)前文件為只讀。不保存修改:setwrapmargin=n設(shè)置右側(cè)裝訂線等于n.:setshowmode顯示用戶所在的“插入”、“替換一個(gè)字符”或“替換”模式撤消和重做命令如果用戶對(duì)文件的修改有誤,可以撤消所做的修改。使用命令“u”命令可以撤消剛才的修改。也可以使用命令“U”重做對(duì)當(dāng)前行的修改。為了重做被撤消的內(nèi)容,可以使用命令“.”。導(dǎo)入和導(dǎo)出文本導(dǎo)入:在特定的位置上將一個(gè)磁盤文件插入編輯器。導(dǎo)出:打開多個(gè)文件,從一個(gè)打開的文件中拷貝文本并把它保存為磁盤上的另一個(gè)文件。導(dǎo)入一個(gè)磁盤文件到編輯器:為了插入一個(gè)磁盤文件到已打開文件的位置上,使用命令“rfilename”。其中,filename是一個(gè)用完全路徑命名的文件名。從當(dāng)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 陶藝課程設(shè)計(jì)論文
- 阿米巴管理課程設(shè)計(jì)
- 電力控制系統(tǒng)課程設(shè)計(jì)
- GB/T 31235-2024±800 kV直流輸電線路金具技術(shù)規(guī)范
- 2024校企合作環(huán)境科學(xué)與工程專業(yè)共建合同3篇
- 2024智慧城市交通信號(hào)控制系統(tǒng)升級(jí)合同
- 二零二五年度電子商務(wù)與物流企業(yè)智能物流服務(wù)合同2篇
- 二零二五年新能源電池研發(fā)與生產(chǎn)合同6篇
- 2024泰安市環(huán)保行業(yè)勞動(dòng)合同規(guī)范文件3篇
- 二零二五版互聯(lián)網(wǎng)+高額抵押反擔(dān)保合同3篇
- 中國(guó)超大直徑鉆埋鋼管空心樁講義
- 藝術(shù)課程標(biāo)準(zhǔn)(2022年版)
- 一年級(jí)語文雨點(diǎn)兒-教學(xué)課件【希沃白板初階培訓(xùn)結(jié)營(yíng)大作業(yè)】
- 替格瑞洛藥物作用機(jī)制、不良反應(yīng)機(jī)制、與氯吡格雷區(qū)別和合理使用
- GB/T 20920-2007電子水平儀
- 如何提高教師的課程領(lǐng)導(dǎo)力
- 企業(yè)人員組織結(jié)構(gòu)圖
- 日本疾病診斷分組(DPC)定額支付方式課件
- 實(shí)習(xí)證明模板免費(fèi)下載【8篇】
- 復(fù)旦大學(xué)用經(jīng)濟(jì)學(xué)智慧解讀中國(guó)課件03用大歷史觀看中國(guó)社會(huì)轉(zhuǎn)型
- 案件受理登記表模版
評(píng)論
0/150
提交評(píng)論