2.1 cat 命令介紹
cat 命令的原含義為連接(concatenate), 用于連接多個(gè)文件內(nèi)容并輸出到標(biāo)準(zhǔn)輸出流中(標(biāo)準(zhǔn)輸出流默認(rèn)為屏幕)。實(shí)際運(yùn)用過(guò)程中,我們常使用它來(lái)顯示文件內(nèi)容。如果您熟悉MS-DOS 下的type 命令,相信不難掌握cat 命令。該命令的常用示例如下:
1 cat file1.txt 顯示 file1.txt 文件的內(nèi)容;
2
3 cat file1.txt file2.txt 顯示 file1.txt 和file2.txt 文件的內(nèi)容;
4
5 cat -n file1.txt 顯示 file1.txt 文件的內(nèi)容同時(shí)顯示行號(hào);
2.2 vi 命令介紹
vi 是”Visual Interface” 的簡(jiǎn)稱(chēng),它在Linux 上的地位就仿佛Edit 程序在DOS上一樣。它可以執(zhí)行輸出、刪除、查找、替換、塊操作等眾多文本操作,而且用戶(hù)可以根據(jù)自己的需要對(duì)其進(jìn)行定制,這是其他編輯程序所沒(méi)有的。
vi 不是一個(gè)排版程序,它不象Word 或WPS 那樣可以對(duì)字體、格式、段落等其他屬性進(jìn)行編排,它只是一個(gè)文本編輯程序。
vi 沒(méi)有菜單,只有命令,且命令繁多。限于篇幅,本文只介紹常用的命令。
Vi 有三種基本工作模式:命令行模式,文本輸入模式和末行模式。
命令行模式:
任何時(shí)候,不管用戶(hù)處于何種模式,只要按一下“ESC” 鍵,即可使vi 進(jìn)入命令行模式;當(dāng)在shell 環(huán)境下輸入vi 命令啟動(dòng)vi 編輯器時(shí),也是處于該模式下。
在該模式下 ,用戶(hù)可以輸入各種合法的vi 命令,用于管理自己的文檔。此時(shí)從鍵盤(pán)上輸入的任何字符都被當(dāng)作編輯命令來(lái)解釋?zhuān)糨斎氲淖址呛戏ǖ膙i 命令,則vi 在接受用戶(hù)命令之后完成相應(yīng)的動(dòng)作(但需注意的是,所輸入的命令并不在屏幕上顯示出來(lái))。若輸入的字符不是vi 的合法命令,vi 會(huì)響鈴報(bào)警。
文本輸入模式:
在命令模式下輸入插入命令 i、 附加命令a 、打開(kāi)命令 o、 修改命令c 、取代命令r 或替換命令s 都可以進(jìn)入文本輸入模式。在該模式下,用戶(hù)輸入的任何字符都被vi 當(dāng)做文件內(nèi)容保存起來(lái),并將其顯示在屏幕上。在文本輸入過(guò)程中,若想回到命令模式下,按“ESC” 鍵即可。
末行模式:
在命令模式下用戶(hù)按“:” 鍵即可進(jìn)入末行模式下,此時(shí)Vi 會(huì)在顯示窗口的最后一行(通常也是屏幕的最后一行)顯示一個(gè)“:” 作為末行模式的提示符,等待用戶(hù)輸入命令。多數(shù)文件管理命令都是在此模式下執(zhí)行的(如把編輯緩沖區(qū)的內(nèi)容寫(xiě)到文件中等)末行命令執(zhí)行完后,vi 自動(dòng)回到命令模式。
若在末行模式下輸入命令過(guò)程中改變了主意, 可按“ESC” 鍵或用退格鍵將輸入的命令全部刪除之后,再按一下退格鍵,即可使vi 回到命令模式下。
2.2.1 vi 的進(jìn)入與退出
在 shell 模式下,鍵入vi 及需要編輯的文件名,即可進(jìn)入vi. 例如:
1 vi example.txt
即可編輯 example.txt 文件.如果該文件存在,則編輯界面中會(huì)顯示該文件的內(nèi)容,并將光標(biāo)定位在文件的第一行;如果文件不存在,則編輯界面中無(wú)任何內(nèi)容。如果需要在進(jìn)入vi 編輯界面后,將光標(biāo)置于文件的第n 行,則在vi命令后面加上“+n” 參數(shù)即可。例如需要從example.txt 文件的第5 行開(kāi)始顯示,則使用如下命令:
1 vi +5 example.txt
退出 vi 時(shí),需要在末行模式中輸入退出命令“q”。 如果在文本輸入模式下,首先按“ESC” 鍵進(jìn)入命令模式,然后輸入“:” 進(jìn)入末行模式在末行模式下,可使用如下退出命令
1 :q 直接退出。 如果在文本輸入模式下修改了文檔內(nèi)容,則不能退出。
2
3 :wq 保存后退出。
4 :x 同“ wq”。
5
6 :q! – 不保存內(nèi)容, 強(qiáng)制退出。
2.2.2 vi 中顯示行號(hào)
在末行模式下,輸入如下命令。
1 set number
可使 vi 在編輯界面中顯示行號(hào)。
此外 ,在末行模式下,可使用如下“nu” 命令(number 的簡(jiǎn)寫(xiě))來(lái)顯示光標(biāo)所在行的行號(hào)及該行的內(nèi)容。
2.2.3 光標(biāo)移動(dòng)操作
全屏幕文本編輯器中, 光標(biāo)的移動(dòng)操作無(wú)疑是最經(jīng)常使用的操作了。用戶(hù)只有熟練地使用移動(dòng)光標(biāo)的這些命令,才能迅速準(zhǔn)確地到達(dá)所期望的位置處進(jìn)行編輯。
vi 中的光標(biāo)移動(dòng)既可以在命令模式下,也可以在文本輸入模式下,但操作的方法不盡相同。
在文本輸入模式下, 可直接使用鍵盤(pán)上的四個(gè)方向鍵移動(dòng)光標(biāo);在命令模式下,有很多移動(dòng)光標(biāo)的方法。不但可以使用四個(gè)方向鍵來(lái)移動(dòng)光標(biāo),還可以用h 、j、 k、 l 這四個(gè)鍵代替四個(gè)方向鍵來(lái)移動(dòng)光標(biāo),這樣可以避免由于不同機(jī)器上的不同鍵盤(pán)定義所帶來(lái)的矛盾,而且使用熟練后可以手不離開(kāi)字母鍵盤(pán)位置就能完成所有操作, 從而提高工作效率。
以下命令均在命令行模式下完成光標(biāo)移動(dòng):
h 光標(biāo)左移, 如果在按h 命令前輸入數(shù)字n ,則光標(biāo)左移n 個(gè)字符;
l 光標(biāo)右移 ,如果在按l 命令前輸入數(shù)字n, 則光標(biāo)右移n 個(gè)字符;
j 光標(biāo)上移, 如果在按j 命令前輸入數(shù)字n, 則光標(biāo)上移n 個(gè)字符;
k 光標(biāo)下移, 如果在按k 命令前輸入數(shù)字n ,則光標(biāo)xia 移n 個(gè)字符;
0 (零) 光標(biāo)移到行首;
$ 光標(biāo)移到行尾;
H 光標(biāo)移到屏幕上顯示的第一行 (并不一定是文件頭);
L 光標(biāo)移到屏幕上顯示的最后一行 (并不一定是文件尾);
M 光標(biāo)移到屏幕的中間一行;
nG 光標(biāo)移到第 n 行;
w或W 將光標(biāo)右移至下一個(gè)單詞的詞首;