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