![Linux系統(tǒng)基礎(chǔ)及服務(wù)器配置教程與實(shí)驗(yàn)課件第2章_第1頁(yè)](http://file4.renrendoc.com/view/69024fa3f7f0b1bef38105b21df6a99f/69024fa3f7f0b1bef38105b21df6a99f1.gif)
![Linux系統(tǒng)基礎(chǔ)及服務(wù)器配置教程與實(shí)驗(yàn)課件第2章_第2頁(yè)](http://file4.renrendoc.com/view/69024fa3f7f0b1bef38105b21df6a99f/69024fa3f7f0b1bef38105b21df6a99f2.gif)
![Linux系統(tǒng)基礎(chǔ)及服務(wù)器配置教程與實(shí)驗(yàn)課件第2章_第3頁(yè)](http://file4.renrendoc.com/view/69024fa3f7f0b1bef38105b21df6a99f/69024fa3f7f0b1bef38105b21df6a99f3.gif)
![Linux系統(tǒng)基礎(chǔ)及服務(wù)器配置教程與實(shí)驗(yàn)課件第2章_第4頁(yè)](http://file4.renrendoc.com/view/69024fa3f7f0b1bef38105b21df6a99f/69024fa3f7f0b1bef38105b21df6a99f4.gif)
![Linux系統(tǒng)基礎(chǔ)及服務(wù)器配置教程與實(shí)驗(yàn)課件第2章_第5頁(yè)](http://file4.renrendoc.com/view/69024fa3f7f0b1bef38105b21df6a99f/69024fa3f7f0b1bef38105b21df6a99f5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2.1Shell命令概述2.1.1Shell簡(jiǎn)介
Shell是Linux的一個(gè)特殊程序,是內(nèi)核與用戶的接口,是命令語(yǔ)言、命令解釋程序及程序設(shè)計(jì)語(yǔ)言的統(tǒng)稱。Shell是一個(gè)命令語(yǔ)言解釋器,它擁有自已內(nèi)建的Shell命令集,Shell也能被系統(tǒng)中其他應(yīng)用程序所調(diào)用。
當(dāng)用戶成功登錄Linux系統(tǒng)后,即開(kāi)始了與Shell的對(duì)話交互過(guò)程,此時(shí),不論何時(shí)鍵入一個(gè)命令,都被Shell解釋執(zhí)行。有一些命令,比如改變工作目錄命令cd,是包含在Shell內(nèi)部的,只要處在Shell命令行下就可以執(zhí)行。還有一些命令,例如復(fù)制命令cp和移動(dòng)命令mv,是獨(dú)立的應(yīng)用程序,必須存在于文件系統(tǒng)中某個(gè)目錄下才能執(zhí)行。對(duì)用戶而言,不必關(guān)心一個(gè)命令是建立在Shell內(nèi)部還是一個(gè)單獨(dú)的程序。2.1Shell命令概述2.1.1Shell簡(jiǎn)介
當(dāng)用戶鍵入并執(zhí)行命令時(shí),Shell首先檢查命令是否是內(nèi)部命令,若不是再檢查是否是一個(gè)應(yīng)用程序,如Linux本身的實(shí)用程序ls和rm或者是購(gòu)買的商業(yè)程序,如xv;還可以是自由軟件,如Emacs。然后Shell在一個(gè)能找到可執(zhí)行程序的目錄列表里尋找這些應(yīng)用程序,這個(gè)列表稱作搜索路徑。如果輸入的命令不是一個(gè)內(nèi)部命令并且在路徑里沒(méi)有找到這個(gè)可執(zhí)行文件,將會(huì)顯示一條錯(cuò)誤信息。如果能夠成功找到命令,該內(nèi)部命令或應(yīng)用程序?qū)⒈环纸鉃橄到y(tǒng)調(diào)用并傳給Linux內(nèi)核執(zhí)行。例如,如果用戶輸入:[root@localhostDesktop]#hellobash:hello:commandnotfound…2.1Shell命令概述2.1.1Shell簡(jiǎn)介
可以看到,用戶得到了一條沒(méi)有找到該命令的錯(cuò)誤信息。用戶敲錯(cuò)命令后,系統(tǒng)一般會(huì)給出這樣的錯(cuò)誤信息。Shell的另一個(gè)重要特性是它自身就是一個(gè)解釋型的程序設(shè)計(jì)語(yǔ)言,Shell程序設(shè)計(jì)語(yǔ)言支持絕大多數(shù)在高級(jí)語(yǔ)言中能見(jiàn)到的程序元素,如函數(shù)、變量、數(shù)組和程序控制結(jié)構(gòu)。Shell編程語(yǔ)言簡(jiǎn)單易學(xué),任何在提示符下能鍵入的命令都能放到一個(gè)可執(zhí)行的Shell程序中,以非交互的方式執(zhí)行,這意味著用Shell語(yǔ)言能簡(jiǎn)單地重復(fù)執(zhí)行某一任務(wù)。例如,可以把一些要執(zhí)行的命令預(yù)先存放在文本文件中(稱作Shell腳本),然后執(zhí)行該文件。這一做法類似于DOS的批處理文件,但其功能要比批處理文件強(qiáng)大得多。2.1Shell命令概述2.1.1Shell簡(jiǎn)介
Linux中的Shell有多種類型,其中最常用的幾種是BourneShell(BSH)和CShell(CSH),兩種Shell各有優(yōu)缺點(diǎn)。BourneShell是UNIX最初使用的Shell,并且在每種UNIX上都可以使用。BourneShell在Shell編程方面相當(dāng)優(yōu)秀,但在處理與用戶的交互方面做得不如其他幾種Shell。Linux操作系統(tǒng)缺省的Shell是BourneAgainShell,它是BourneShell的擴(kuò)展,簡(jiǎn)稱BASH,與BourneShell完全向后兼容,并且在BourneShell的基礎(chǔ)上增加了很多特性。Bash放在/bin/bash中,它有許多特色,可以提供命令補(bǔ)全、命令編輯和命令歷史表等功能,還包含了很多CShell中的優(yōu)點(diǎn),有靈活和強(qiáng)大的編程接口,同時(shí)又有很友好的用戶界面。2.1Shell命令概述2.1.1Shell簡(jiǎn)介
CShell是一種比BourneShell更適于編程的Shell,它的語(yǔ)法與C語(yǔ)言很相似。Linux為喜歡使用CShell的人提供了TCSH。TCSH是CShell的一個(gè)擴(kuò)展版本,包括命令行編輯、可編程單詞補(bǔ)全、拼寫(xiě)校正、歷史命令替換、作業(yè)控制和類似C語(yǔ)言的語(yǔ)法,它不僅和BashShell是提示符兼容,而且還提供比BashShell更多的提示符參數(shù)。檢查系統(tǒng)當(dāng)前運(yùn)行的Shell版本,可以運(yùn)行以下命令:[root@localhostDesktop]#echo$SHELL/bin/bash顯示/bin/bash表示當(dāng)前系統(tǒng)默認(rèn)的Shell是BASH。在命令中,echo是屏幕顯示命令,$表示擴(kuò)展SHELL環(huán)境變量。2.1Shell命令概述2.1.1Shell簡(jiǎn)介
如果系統(tǒng)中安裝有其他類型的Shell如TCSH,用戶也可以通過(guò)以下命令將其啟動(dòng):[root@localhost~]#tcsh在TCSH下運(yùn)行exit命令返回原來(lái)的Shell。[root@localhost~]#exit用戶可以將任何版本的Shell設(shè)置為系統(tǒng)登錄后默認(rèn)的Shell,方法是修改在文件/etc/passwd中該用戶文本行中的最后一個(gè)字段,將其內(nèi)容替換為用戶所需的Shell版本。1.使用Linux系統(tǒng)的終端窗口現(xiàn)在的RedHatEnterpriseLinux6操作系統(tǒng)默認(rèn)采用的都是圖形界面的GNOME或者KDE操作方式,要想使用Shel1功能,就必須像在Windows中那樣打開(kāi)一個(gè)命令行窗口。一般用戶,可以執(zhí)行“應(yīng)用程序”→“系統(tǒng)工具”→“終端”命令來(lái)打開(kāi)終端窗口(或者直接右鍵單擊桌面,選擇“在終端中打開(kāi)”命令)。2.1Shell命令概述2.1.2Shell的啟動(dòng)2.使用Shell提示符
在RedHatEnterpriseLinux6中,還可以更方便地直接打開(kāi)純命令行窗口。應(yīng)該怎么操作呢?Linux啟動(dòng)過(guò)程的最后,它定義了6個(gè)虛擬終端,可以供用戶隨時(shí)切換,切換時(shí)用“Ctrl”+“Alt”+“F1”~“Ctrl”+“A1t”+“F6”組合鍵可以打開(kāi)其中任意一個(gè)。
進(jìn)入純命令行窗口之后,還可以使用“A1t”+“Fl”~“A1t”+“F6”組合鍵在6個(gè)終端之間切換,每個(gè)終端可以執(zhí)行不同的指令,進(jìn)行不一樣的操作。2.1Shell命令概述2.1.2Shell的啟動(dòng)登錄之后,普通用戶的命今行提示符以“$”號(hào)結(jié)尾,超級(jí)用戶的命令以“#”號(hào)結(jié)尾。[yy@localhost~]$ ;一般用戶以“$”號(hào)結(jié)尾[yy@localhost~]$suroot ;切換到root賬號(hào)Password:[root@localhost~]# ;命令行提示符變成以“#”號(hào)結(jié)尾了
當(dāng)用戶需要返回圖形桌面環(huán)境時(shí),也只需要按下“Ctrl”+“A1t”+“F7”組合鍵,就可以返回到剛才切換出來(lái)的桌面環(huán)境。2.1Shell命令概述2.1.2Shell的啟動(dòng)使用任何文本編輯器打開(kāi)/etc/inittab文件,找到如下所示的行:id:5:initdeafault將它修改為:id:3:initdeafault重新啟動(dòng)系統(tǒng)你就會(huì)發(fā)現(xiàn),它登錄的是命令行而不是圖形界面。要想讓RedHatEnterpriseLinux6直接啟動(dòng)到圖形界面,可以按照上述操作將“id:3”中的“3”修改為“5”;也可以在純命令行模式,直接執(zhí)行“startx”命令打開(kāi)圖形模式。2.1Shell命令概述2.1.2Shell的啟動(dòng)Linux的BASH提供了一個(gè)方便的功能:自動(dòng)補(bǔ)齊。當(dāng)用戶輸入命令時(shí),不需要輸入完整的命令,只需要輸入前幾個(gè)字符,利用“Tab”鍵,系統(tǒng)能自動(dòng)找出四配的命令或文件。自動(dòng)補(bǔ)齊命令
用戶在輸入命令時(shí),只需要輸入命令的開(kāi)頭字母。然后連續(xù)按兩次“Tab"鍵,系統(tǒng)會(huì)列出符合條件的所有命令以供參考?!纠?-1】自動(dòng)補(bǔ)齊以“mk”開(kāi)頭的命令。
在命令提示符下輸入字母“mk",然后連續(xù)按兩次“Tab”鍵,屏幕就會(huì)顯示所有以“mk”開(kāi)頭的Shell命令。用戶輸入命令的剩余部分后就可以執(zhí)行相關(guān)的命令。2.2BASH的應(yīng)用2.2.1命令補(bǔ)齊自動(dòng)補(bǔ)齊文件或目錄名
假定當(dāng)前工作目錄中包含以下個(gè)人建立的文件和子目錄f1f2mytesttest如果要進(jìn)入test子目錄,只要輸入[root@localhost~]#cdt
在鍵入字母“t”后按下“Tab”鍵,系統(tǒng)將幫助用戶補(bǔ)齊命令并顯示在屏幕上,相當(dāng)于輸入了“cdtest"。在按“Enter"鍵之前命令并沒(méi)有執(zhí)行,系統(tǒng)會(huì)讓用戶檢驗(yàn)補(bǔ)齊的命令是否是直正需要的。在輸入像這樣短的命令時(shí)也許看不出命令補(bǔ)齊的價(jià)值所在,甚至在命令很短時(shí)還會(huì)減慢輸入速度,但是當(dāng)要輸入的命令較長(zhǎng)時(shí),命令補(bǔ)齊將會(huì)十分有用。
如果目錄中以字母t開(kāi)頭的目錄不止一個(gè),系統(tǒng)將不知用戶到底想進(jìn)入哪個(gè)子目錄,這時(shí)需要在原來(lái)的基礎(chǔ)上再按下兩次“Tab”鍵,就會(huì)將以字母t開(kāi)頭的目錄全部示出來(lái)。2.2BASH的應(yīng)用2.2.1命令補(bǔ)齊BASH支持命令歷史記錄,意味著B(niǎo)ASH保留了一定數(shù)目的、先前在BASH中輸入過(guò)的命令。這個(gè)數(shù)目取決于一個(gè)名為histsize的變量。BASH將輸人的命令文本保存在一個(gè)歷史列表中。當(dāng)用戶登錄后,歷史列表將根據(jù)一個(gè)歷史文件進(jìn)行初始化。歷史文件的文件名由名為histfile的BASH變量指定,歷史文件的缺省名字是.bash_history。這個(gè)文件通常在用戶目錄中(注意該文件的文件名以“.”開(kāi)頭,這意味著它是隱含的,僅當(dāng)用-a或-A參數(shù)的ls命令列目錄時(shí)才可見(jiàn))。BASH提供了幾種方法來(lái)調(diào)用命令歷史記錄。使用歷史記錄列表最簡(jiǎn)單的方法是用上方向鍵。按一下上方向鍵后,最后輸入的命令將出現(xiàn)在命令行上,再按一下則倒數(shù)第二條命令會(huì)出現(xiàn),依此類推。如果上翻多了的話也可以用向下的方向鍵來(lái)下翻。
另一個(gè)使用命令歷史記錄的方法是用Shell的內(nèi)部命令history來(lái)顯示和編輯歷史命令。history命令有兩種不同的使用方法。2.2BASH的應(yīng)用2.2.2命令歷史記錄格式一:history[n]功能:查看Shell命令的歷史記錄。參數(shù)n的作用是僅列出最后n個(gè)歷史命令。當(dāng)不使用命令參數(shù)時(shí),整個(gè)歷史記錄的內(nèi)容都將顯示出來(lái)。
在每一個(gè)執(zhí)行過(guò)的Shell命令行前均有一個(gè)編號(hào),代表其在歷史列表中的序號(hào)。如果想執(zhí)行其中某一條命令,可以采用“!序號(hào)”的格式。格式二:history[-r|w|a|n][文件名]功能::修改命令歷史列表文件的內(nèi)容。常用選項(xiàng)說(shuō)明:-r讀出命令歷史列表文件的內(nèi)容,并且將它們當(dāng)作當(dāng)前的命令歷史列表。-w將當(dāng)前的命令歷史記錄寫(xiě)入文件,并覆蓋文件原來(lái)的內(nèi)容。-a將當(dāng)前的命令歷史記錄追加到文件尾部。-n[文件名]讀取文件中的內(nèi)容,并加入到當(dāng)前歷史命令列表中。如果沒(méi)有指定文件名,history命令將用變量histfile的值來(lái)代替。2.2BASH的應(yīng)用2.2.2命令歷史記錄
命令別名通常是命令的縮寫(xiě),對(duì)于用戶經(jīng)常使用的命令,如果設(shè)置為別名命令將大大提高工作效率。格式:a1ias[別名=’標(biāo)準(zhǔn)Shell命令行’]功能:查看和設(shè)置別名。查看別名
無(wú)參數(shù)的alias命令可查看用戶可使用的所有別名命令,以及其對(duì)應(yīng)的標(biāo)準(zhǔn)Shell命令。【例2-4】查看當(dāng)前用戶可使用的別名命令。[root@localhost~]#aliasaliascp='cp–i’alias1.='1s-d.*--color=tty'aliasls='ls-color=tty’aliasvi='vim'2.2BASH的應(yīng)用2.2.3命令別名設(shè)置別名
使用帶參數(shù)的alias命令,可設(shè)定用戶的別名命令。在設(shè)置別名時(shí),“=”的兩邊不能有空格,并在標(biāo)準(zhǔn)Shell命令行的兩端使用單引號(hào)?!纠?-5】設(shè)置別名命令pd,其功能是打開(kāi)etc/passwd文件。[root@localhost~]#aliaspd=’vim/etc/passwd’[root@localhost~]#pd
設(shè)置此別名命令后,只要輸入“pd”命令就將啟動(dòng)vim文本編輯器,并打開(kāi)/etc/passwd文件。不過(guò),利用alias命令設(shè)定的用戶別名命令,其有效期限僅持續(xù)到用戶退出登錄為止,當(dāng)用戶下一次登錄到系統(tǒng)時(shí),該別名命令已經(jīng)無(wú)效。如果希望別名命令在每次登錄時(shí)都有效,就應(yīng)該將命今寫(xiě)入用戶主目錄下的.bashrc文件中。2.2BASH的應(yīng)用2.2.3命令別名Shell命令中可以使用通配符來(lái)同時(shí)引用多個(gè)文件以方便操作。Linux系統(tǒng)中的通配符主要有“*”、“?"和“[…]”3種。1.“*”通配符“*”通配符可以匹配任意數(shù)目的字符。2.“?”通配符“?”通配符的功能是在相應(yīng)位置上匹配任意單個(gè)字符。3.“[…]”通配符“[…]”通配符可以匹配括號(hào)中給出的字符或字符范圍?!癧…]”中的字符范圍可以是幾個(gè)字符的列表,也可以使用“-”給定一個(gè)取值范圍,還可以用“!”表示不在指定字符范圍內(nèi)的其他字符。2.2BASH的應(yīng)用2.2.4通配符
正則表達(dá)式(RegularExpression)就是用一個(gè)“字符中”來(lái)描述一個(gè)特征,然后去驗(yàn)證另一個(gè)“字符串”是否符合這個(gè)特征。比如,表達(dá)式“ab+”描述的特征是“一個(gè)‘a(chǎn)’和任意多個(gè)‘b’,那么‘a(chǎn)b’‘a(chǎn)bb’‘a(chǎn)bbbbbbbbbb’都符合這個(gè)特征”。表達(dá)式有以下作用:(1)驗(yàn)證字符串是否符合指定特征,比如驗(yàn)證是否是合法的郵件地址。(2)用來(lái)查找字符串,從一個(gè)長(zhǎng)的文本中查找符合指定特征的字符串,比查找固定字符申更加靈活方便。(3)用來(lái)替換,比普通的替換更強(qiáng)大。
表達(dá)式學(xué)習(xí)起來(lái)其實(shí)是很簡(jiǎn)單的,少數(shù)幾個(gè)較為抽象的概念也很容易理解。下面是幾種正則表達(dá)式的規(guī)則。1.普通字符
字母、數(shù)字、漢字、下劃線,以及后邊章節(jié)中沒(méi)有特殊定義的標(biāo)點(diǎn)符號(hào),都是“普通字符”。表達(dá)式中的普通字符,在匹配一個(gè)字符串的時(shí)候,匹配與之相同的一個(gè)字符。2.3正則表達(dá)式、管道與重定向2.3.1正則表達(dá)式2.簡(jiǎn)單的轉(zhuǎn)義字符一些不便書(shū)寫(xiě)的字符,采用在前面加“\”的方法。3.能夠與“多種字符”匹配的表達(dá)式
正則表達(dá)式中的一些表示方法,可以匹配“多種字符”其中的任意一個(gè)字符。比如,表達(dá)式“\d”可以匹配任意一個(gè)數(shù)字,它雖然可以匹配其中任意字符,但是只能是一個(gè),不是多個(gè)。這就好比玩撲克牌時(shí)候,大小王可以代替任意一張牌,但是只能代替一張牌。4.自定義能夠匹配“多種字符”的表達(dá)式
使用方括號(hào)[]包含一系列字符,能夠匹配其中任意一個(gè)字符。用[^]包含一系列字符,則能夠匹配其中字符之外的任意一個(gè)字符。同樣的道理,雖然可以匹配其中任意一個(gè),但是只能是一個(gè),不是多個(gè)。2.3正則表達(dá)式、管道與重定向2.3.1正則表達(dá)式5.修飾匹配次數(shù)的特殊符號(hào)
前面章節(jié)中講到的表達(dá)式,無(wú)論是只能匹配一種字符的表達(dá)式,還是可以匹配多種字符中任意一個(gè)的表達(dá)式,都只能匹配一次。如果使用表達(dá)式再加上修飾匹配次數(shù)的特殊符號(hào),那么不用重復(fù)書(shū)寫(xiě)表達(dá)式就可以重復(fù)匹配。使用方法是:“次數(shù)修飾”放在“被修飾的表達(dá)式”后邊。比如:“[bcd][bcd]”可以寫(xiě)成“[bcd]{2}”。6.其他一些代表抽象意義的特殊符號(hào)
一些符號(hào)在表達(dá)式中代表抽象的特殊意義。2.3正則表達(dá)式、管道與重定向2.3.1正則表達(dá)式
Linux系統(tǒng)中標(biāo)準(zhǔn)的輸入設(shè)備為鍵盤,輸出設(shè)備為屏幕,但在某些情況下,希望能從鍵盤以外的其他設(shè)備讀取數(shù)據(jù),或?qū)?shù)據(jù)送到屏幕外的其他設(shè)備,這種情況稱為重定向。Shell中輸入輸出重定向主要依靠重定向符號(hào)來(lái)實(shí)現(xiàn),通常重定向到一個(gè)文件。1.輸入重定向
輸入重定向用于改變一個(gè)命令的輸人源,這個(gè)輸入源通常指文件,用“<”符號(hào)實(shí)現(xiàn)。2.輸出重定向
輸出重定向比輸人重定向更常用。輸出重定向是將一個(gè)命令的輸出重定向到一個(gè)文件中,而不是顯示在屏幕上。
在很多情況下都可以使用這種功能。例如,某個(gè)命令的輸出很多,在屏幕上不能完全顯示,可以將其重定向到一個(gè)文件中,命令執(zhí)行完畢后再用文本編輯器打開(kāi)這個(gè)文件。當(dāng)想保存一個(gè)命令的輸出時(shí)也可以使用這種方法,輸出重定向甚至可以將一個(gè)命令的輸出當(dāng)作另一個(gè)命令的輸入。
輸出重定向的使用方法與輸入重定向很相似,但是輸出重定向的符號(hào)是“>”需要注意的是,如果輸出重定向的目標(biāo)是一個(gè)文件,則每次使用重定向時(shí)應(yīng)首先清除該文件的內(nèi)容。如果想保留該文件的原內(nèi)容,將新的重定向信息追加在一個(gè)文件的尾部,則使用“>>”作為輸出重定向符號(hào)。2.3正則表達(dá)式、管道與重定向2.3.2管道與重定向3.錯(cuò)誤信息重定向
程序的輸出設(shè)備分為標(biāo)準(zhǔn)輸出設(shè)備和錯(cuò)誤信息輸出設(shè)備,當(dāng)程序輸出錯(cuò)誤信息時(shí)使用的設(shè)備是錯(cuò)誤信息輸出設(shè)備。前面介紹的輸出重定向方法只能重定向程序的標(biāo)準(zhǔn)輸出,錯(cuò)誤信息的重定向使用下面方法。
“2>”:程序的執(zhí)行結(jié)果顯示在屏幕上,而錯(cuò)誤信息重定向到指定文件。4.管道
管道可以將第1個(gè)命令的輸出通過(guò)管道傳給第2個(gè)命令,作為第2個(gè)命令的輸人,第2個(gè)命令的輸出通過(guò)管道傳給第3個(gè)命令,作為第3個(gè)命令的輸人,以此類推,最后一個(gè)命令的輸出才會(huì)顯示在屏幕上。管道所使用的符號(hào)是“|"。2.3正則表達(dá)式、管道與重定向2.3.2管道與重定向Linux中的文本編器有很多,比如圖形模式的Gedit、Kwrite、Openoffice等,文本模式下的編輯器有Vi、Vim等。Vi和Vim在Linux中是最常用的編輯器。Vi或Vim雖然沒(méi)有圖形界面編輯器那樣單擊鼠標(biāo)的簡(jiǎn)單操作。但Vim編掛器在系統(tǒng)管理、服務(wù)器管理方面的功能遠(yuǎn)比圖形界面的編輯器強(qiáng)大。Vim(VimsualInterfaceImproved)是Linux系統(tǒng)上第一個(gè)全屏幕交互式編輯程序。它可以執(zhí)行輸出、刪除、查找、替換、塊操作等眾多文本操作,而且用戶可以根據(jù)自己的需要對(duì)其進(jìn)行定制,這是其他編輯程序所沒(méi)有的特性。Vim不是一個(gè)排版程序,它不像MSWord或WPS那樣可以對(duì)字體、格式、段落等其他屬性進(jìn)行編排,它只是一個(gè)文本編輯程序。Vim沒(méi)有菜單,只有較多的命令,且其命令簡(jiǎn)短、使用方便。Vim是Linux系統(tǒng)中最常用的編輯器,本節(jié)將介紹Vim編輯器的使用和其常用的命令。
2.4文本編輯器Vim2.4.1Vim簡(jiǎn)介Vim有3種基本工作模式,分別是命令模式(CommandMode)、插入模式(InsertMode)和末行模式(LastLineMode)。1.命令模式
在系統(tǒng)提示符下輸入Vim和想要的編輯名后便可進(jìn)入Vim。進(jìn)入Vim之后,處于命令模式,如圖2-1所示。在該模式下,用戶可以輸入各種Vim命令來(lái)管理自己的文擋,例如控制屏幕光標(biāo)的移動(dòng),字符、字或行的刪除,移動(dòng)、復(fù)制某區(qū)段等,此時(shí)從鍵盤上輸入的任何字符都被看作編輯命令來(lái)解釋。若輸入的字符是合法的Vim命令,則Vim在接受用戶命令之后完成相應(yīng)的動(dòng)作。但需注意的是,所輸入的命令并不在屏幕上顯示出來(lái),若輸入的字符不是Vim的合法命令,Vim會(huì)響鈴報(bào)警。不管用戶處于何種模式,只要按一下“Esc”鍵,即可進(jìn)入Vim命令行模式。2.4文本編輯器Vim2.4.2Vim的3種模式2.插入模式
在命令模式下,按下“i”、“o”、“a”或“Insert"鍵可以切換到插人模式下。插入模式下屏幕的最底端會(huì)提示“—INSERT(插入)--”字樣,如圖2-2所示。只有在插入模式下,用戶才可以進(jìn)行文字和數(shù)據(jù)的輸入。按“Esc”鍵可回到命令模式。3.末行模式
在命令模式下用戶按“:”鍵即可進(jìn)入末行模式,此時(shí)Vim會(huì)在顯示窗口的最后一行(通常也是屏幕的最后一行)顯示ー個(gè)“:”作為末行模式的提示符,等待用戶輸人命令,如圖2-3所示。多數(shù)文件管理命令都是在此模式下執(zhí)行的,保存文檔或退出Vim、設(shè)置編輯環(huán)境、尋找字符串、列出行號(hào)、把編輯緩沖區(qū)的內(nèi)容寫(xiě)到文件中等。末行命令執(zhí)行完后,Vim自動(dòng)回到命令模式,也可按“Esc”鍵回到命令模式。
2.4文本編輯器Vim2.4.2Vim的3種模式1.進(jìn)入Vim
輸入Vim命令后,便進(jìn)入全屏幕編輯環(huán)境,此時(shí)的狀態(tài)為命令模式。進(jìn)入Vim有以下7種命令方式。(1)Vim:進(jìn)入Vim的一個(gè)臨時(shí)緩沖區(qū),光標(biāo)定位在該緩沖區(qū)第1行第1列的位置上。(2)vimfilel:如果filel文件不存在,將建立此文件;如該文件存在,則將其復(fù)制到一個(gè)臨時(shí)緩沖區(qū)。光標(biāo)定位在該緩沖區(qū)第1行第1列的位置上。(3)vim+filel:如果filel文件不存在,將建立此文件;如該文件存在,則將其復(fù)制到一個(gè)臨時(shí)緩沖區(qū)。光標(biāo)定位在文件最后1行第1列的位置上。(4)vim+#filed(#為數(shù)字):如果file1文件不存在,將建立此文件;如該文件存在,則將其復(fù)制到一個(gè)臨時(shí)緩沖區(qū)。光標(biāo)定位在文件第1行第1列的位置上。(5)vim+/stringfile:如果file1文件不存在,將建立此文件;如該文件存在,則將其復(fù)制到一個(gè)臨時(shí)緩沖區(qū)。光標(biāo)定位在文件中第一次出現(xiàn)字符串string的行首位置。(6)vim-rfilename:在上次正使用Vim編輯發(fā)生系統(tǒng)崩潰時(shí),恢復(fù)filename文件。(7)vimfilename1filename2…filenamen:打開(kāi)多個(gè)文件,依次進(jìn)行編輯。2.4文本編輯器Vim2.4.3Vim的進(jìn)入與退出2.退出Vim
在退出Vim前,可以先按“Ese"鍵,以確保當(dāng)前Vim的狀態(tài)為命令方式,然后再輸入下列命令,退出Vim。(1):w:保存命令。將編輯緩沖區(qū)的內(nèi)容寫(xiě)入文件,原始文件被新的內(nèi)容所替代。這時(shí)并沒(méi)有退出Vim。(2):q:退出Vim,若文件被修改過(guò),則會(huì)被要求確認(rèn)是否放棄修改內(nèi)容。(3):wq:存盤退出,即將上面的兩步操作合成一步來(lái)完成,先執(zhí)行w,后執(zhí)行q。(4):wfilename:指定文件另存為filename。(5):x和ZZ:功能與:wq等價(jià),注意,ZZ前面沒(méi)有“:”,要大寫(xiě)。(6):q!成:quit:放棄剛才編輯的內(nèi)容,強(qiáng)行退出Vim。
2.4文本編輯器Vim2.4.3Vim的進(jìn)入與退出1.移動(dòng)光標(biāo)命令
移動(dòng)光標(biāo)是在使用Vim全屏幕文本編輯器時(shí)用得較多的操作。在插入模式下,可以使用鍵盤上的4個(gè)方向箭頭來(lái)控制光標(biāo)移動(dòng),在命令模式下,提供了許多移動(dòng)光標(biāo)的命令。熟練掌握這些命令,可以大大提高用戶的編輯效率。2.添加文本命令
如果要對(duì)文檔正文添加文本數(shù)據(jù)等內(nèi)容,只能在插入模式下進(jìn)行。從命令模式切換到插人模式的常用命令如下。3.刪除文本命令
利用Vim提供的刪除命令,用戶可以刪除一個(gè)或多個(gè)字符,可以刪除一個(gè)字或一行的部分或全部?jī)?nèi)容。常用的刪除命令如下。4.文本替換命令
替換文本是用新輸入的內(nèi)容替換原文檔中的內(nèi)容。在命令模式下和末行模式下都可以執(zhí)行文本替換操作。在命令模式下的Vim中,替換的命令又可以分為取代命令、替換命令和字替換命令。2.4文本編輯器Vim2.4.4Vim的基本操作命令5.復(fù)制和粘貼命今
復(fù)制和粘貼是文本編輯中常用的操作。在Vim中為用戶提供了緩沖區(qū),當(dāng)用戶執(zhí)行復(fù)制命令時(shí),所選擇的文本會(huì)被存入緩沖區(qū)中,當(dāng)下一個(gè)復(fù)制命令被執(zhí)行后,緩沖區(qū)的內(nèi)容將被刷新。
使用粘貼命今可以將緩沖區(qū)的內(nèi)容添加到文檔中的光標(biāo)所在處。6.查找和替換命令
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度環(huán)保工業(yè)產(chǎn)品批發(fā)合同
- 2025年度教師教育資源共享合同匯編
- 2025年度河南建筑工程施工總承包合同
- 貴州2025年貴州省農(nóng)業(yè)農(nóng)村廳所屬事業(yè)單位招聘4人筆試歷年參考題庫(kù)附帶答案詳解
- 貴州2025年貴州工業(yè)職業(yè)技術(shù)學(xué)院招聘37人筆試歷年參考題庫(kù)附帶答案詳解
- 菏澤2024年山東菏澤東明縣部分事業(yè)單位招聘初級(jí)崗位工作人員29人筆試歷年參考題庫(kù)附帶答案詳解
- 漯河2024年河南漯河經(jīng)濟(jì)技術(shù)開(kāi)發(fā)區(qū)人才引進(jìn)招聘3人筆試歷年參考題庫(kù)附帶答案詳解
- POE項(xiàng)目籌資方案
- 無(wú)錫2025年江蘇無(wú)錫市教育局直屬單位選聘事業(yè)單位工作人員筆試歷年參考題庫(kù)附帶答案詳解
- 2025年中國(guó)卡通馬克杯市場(chǎng)調(diào)查研究報(bào)告
- 2025年寬帶研究分析報(bào)告
- 牧場(chǎng)物語(yǔ)-礦石鎮(zhèn)的伙伴們-完全攻略
- 供電公司一把手講安全
- 2020年血液凈化感染控制操作規(guī)程課件
- 計(jì)算機(jī)輔助工藝設(shè)計(jì)課件
- 汽車銷售流程與技巧培訓(xùn)課件
- 管理學(xué)專業(yè):管理基礎(chǔ)知識(shí)試題庫(kù)(附含答案)
- 廣西基本醫(yī)療保險(xiǎn)門診特殊慢性病申報(bào)表
- 小區(qū)舊樓外墻翻新修飾等工程施工技術(shù)專項(xiàng)方案及報(bào)價(jià)
- 部編人教版五年級(jí)下冊(cè)小學(xué)語(yǔ)文第八單元全套教學(xué)課件 (含口語(yǔ)、習(xí)作及園地課件)
- 2022年三級(jí)安全教育塔吊司機(jī)類試題及答案
評(píng)論
0/150
提交評(píng)論