CentOS文件查看及編輯介紹詳解
添加時間:2020-6-24 21:10:07
添加:
思海網絡
2.1 cat 命令介紹
cat 命令的原含義為連接(concatenate), 用于連接多個文件內容并輸出到標準輸出流中(標準輸出流默認為屏幕)。實際運用過程中,我們常使用它來顯示文件內容。如果您熟悉MS-DOS 下的type 命令,相信不難掌握cat 命令。該命令的常用示例如下:
1 cat file1.txt 顯示 file1.txt 文件的內容;
3 cat file1.txt file2.txt 顯示 file1.txt 和file2.txt 文件的內容;
5 cat -n file1.txt 顯示 file1.txt 文件的內容同時顯示行號;
2.2 vi 命令介紹
vi 是”Visual Interface” 的簡稱,它在Linux 上的地位就仿佛Edit 程序在DOS上一樣。它可以執行輸出、刪除、查找、替換、塊操作等眾多文本操作,而且用戶可以根據自己的需要對其進行定制,這是其他編輯程序所沒有的。
vi 不是一個排版程序,它不象Word 或WPS 那樣可以對字體、格式、段落等其他屬性進行編排,它只是一個文本編輯程序。
vi 沒有菜單,只有命令,且命令繁多。限于篇幅,本文只介紹常用的命令。
Vi 有三種基本工作模式:命令行模式,文本輸入模式和末行模式。
命令行模式:
任何時候,不管用戶處于何種模式,只要按一下“ESC” 鍵,即可使vi 進入命令行模式;當在shell 環境下輸入vi 命令啟動vi 編輯器時,也是處于該模式下。
在該模式下 ,用戶可以輸入各種合法的vi 命令,用于管理自己的文檔。此時從鍵盤上輸入的任何字符都被當作編輯命令來解釋,若輸入的字符是合法的vi 命令,則vi 在接受用戶命令之后完成相應的動作(但需注意的是,所輸入的命令并不在屏幕上顯示出來)。若輸入的字符不是vi 的合法命令,vi 會響鈴報警。
文本輸入模式:
在命令模式下輸入插入命令 i、 附加命令a 、打開命令 o、 修改命令c 、取代命令r 或替換命令s 都可以進入文本輸入模式。在該模式下,用戶輸入的任何字符都被vi 當做文件內容保存起來,并將其顯示在屏幕上。在文本輸入過程中,若想回到命令模式下,按“ESC” 鍵即可。
末行模式:
在命令模式下用戶按“:” 鍵即可進入末行模式下,此時Vi 會在顯示窗口的最后一行(通常也是屏幕的最后一行)顯示一個“:” 作為末行模式的提示符,等待用戶輸入命令。多數文件管理命令都是在此模式下執行的(如把編輯緩沖區的內容寫到文件中等)末行命令執行完后,vi 自動回到命令模式。
若在末行模式下輸入命令過程中改變了主意, 可按“ESC” 鍵或用退格鍵將輸入的命令全部刪除之后,再按一下退格鍵,即可使vi 回到命令模式下。
2.2.1 vi 的進入與退出
在 shell 模式下,鍵入vi 及需要編輯的文件名,即可進入vi. 例如:
1 vi example.txt
即可編輯 example.txt 文件.如果該文件存在,則編輯界面中會顯示該文件的內容,并將光標定位在文件的第一行;如果文件不存在,則編輯界面中無任何內容。如果需要在進入vi 編輯界面后,將光標置于文件的第n 行,則在vi命令后面加上“+n” 參數即可。例如需要從example.txt 文件的第5 行開始顯示,則使用如下命令:
1 vi +5 example.txt
退出 vi 時,需要在末行模式中輸入退出命令“q”。 如果在文本輸入模式下,首先按“ESC” 鍵進入命令模式,然后輸入“:” 進入末行模式在末行模式下,可使用如下退出命令
1 :q 直接退出。 如果在文本輸入模式下修改了文檔內容,則不能退出。
2
3 :wq 保存后退出。
4 :x 同“ wq”。
6 :q! – 不保存內容, 強制退出。
2.2.2 vi 中顯示行號
在末行模式下,輸入如下命令。
1 set number
可使 vi 在編輯界面中顯示行號。
此外 ,在末行模式下,可使用如下“nu” 命令(number 的簡寫)來顯示光標所在行的行號及該行的內容。
2.2.3 光標移動操作
全屏幕文本編輯器中, 光標的移動操作無疑是最經常使用的操作了。用戶只有熟練地使用移動光標的這些命令,才能迅速準確地到達所期望的位置處進行編輯。
vi 中的光標移動既可以在命令模式下,也可以在文本輸入模式下,但操作的方法不盡相同。
在文本輸入模式下, 可直接使用鍵盤上的四個方向鍵移動光標;在命令模式下,有很多移動光標的方法。不但可以使用四個方向鍵來移動光標,還可以用h 、j、 k、 l 這四個鍵代替四個方向鍵來移動光標,這樣可以避免由于不同機器上的不同鍵盤定義所帶來的矛盾,而且使用熟練后可以手不離開字母鍵盤位置就能完成所有操作, 從而提高工作效率。
以下命令均在命令行模式下完成光標移動:
h 光標左移, 如果在按h 命令前輸入數字n ,則光標左移n 個字符;
l 光標右移 ,如果在按l 命令前輸入數字n, 則光標右移n 個字符;
j 光標上移, 如果在按j 命令前輸入數字n, 則光標上移n 個字符;
k 光標下移, 如果在按k 命令前輸入數字n ,則光標xia 移n 個字符;
0 (零) 光標移到行首;
$ 光標移到行尾;
H 光標移到屏幕上顯示的第一行 (并不一定是文件頭);
L 光標移到屏幕上顯示的最后一行 (并不一定是文件尾);
M 光標移到屏幕的中間一行;
nG 光標移到第 n 行;
w或W 將光標右移至下一個單詞的詞首;
e 或E 如果光標起始位置處于單詞內(即非單詞尾處),則該命令將把光標移到本單詞詞尾;如果光標起始位置處于單詞尾,則該命令將把光標移動到下一個單詞的詞尾。
b 或B 如果光標處于所在單詞內(即非單詞首),則該命令將把光標移至本單詞詞首;如果光標處于所在單詞的詞首,則該命令將把光標移到上一個單詞的詞首;
Ctrl+G 狀態命令, 顯示當前編輯文檔的狀態。包括正在編輯的文件名、是否修改過、當前行號、文件的行數以及光標之前的行占整個文件的百分比。
此外 ,也可以通過以下末行模式下的命令完成光標在整個文件中的移動操作:
:n 光標移到文件的第n 行;
:$ 光標移到文件的最后一行;
2.2.4 文本插入操作
在命令模式下 ,用戶輸入的任何字符都被vi 當作命令加以解釋執行,如果用戶要將輸入的字符當作是文本內容時,則首先應將vi 的工作模式從命令模式切換到文本輸入模式。切換的方式是使用下面的命令:
1. 插入(Insert) 命令
vi 提供了兩個插入命令:i 和I。
(1) . i 命令插入文本從光標所在位置前開始, 并且插入過程中可以使用鍵刪除錯誤的輸入。此時vi 處于插入狀態,屏幕最下行顯示“–INSERT–” 插入字樣。
(2) . I 命令 該命令是將光標移到當前行的行首, 然后在其前插入文本。
2. 附加(append) 命令
vi 提供了兩個附加插入命令:a 和A。
(1) . a 命令該命令用于在光標當前所在位置之后追加新文本, 新輸入的文本放在光標之后,在光標后的原文本將相應地向后移動,光標可在一行的任何位置。
(2) . A 命令 該命令與 a 命令不同的是,A 命令將把光標挪到所在行的行尾,從那里開始插入新文本,當輸入A 命令后光,標自動移到該行的行尾。
a 和A 命令是把文本插入到行尾的唯一方法。
3. 打開open 命令
不論是 Insert 命令也好,還是append 命令也好,所插入的內容都是從當前行中的某個位置開始的。若我們希望在某行之前或某行之后插入一些新行,則應使用open 命令。
vi 提供了兩個打開命令:o 和O。
(1) . o 命令該命令將在光標所在行的下面新開一行, 并將光標置于該行的行首,等待輸入文本。要注意當使用刪除字符時只能刪除從插入模式開始的位置以后的字符,對于以前的字符不起作用。
(2) . O 命令和 o 命令相反,O 命令是在光標所在行的上面插入一行,并將光標置于該行的行首,等待輸入文本。
2.2.5 文本修改操作
在命令模式下可以使用 vi 提供的各種有關命令對文本進行修改,包括對文本內容的刪除、復制、取代和替換等。
1. 文本刪除/移動
在編輯文本時 ,經常需要刪除一些不需要的文本,我們可以用鍵將輸錯或不需要的文本刪除,但此時有一個限制就是當刪到行頭之后,再想刪上面那行的內容是不可能的。
在命令模式下, vi 提供了許多刪除命令這些命令。大多是以d 開頭的。常用的有:
(1) . 刪除單個字符
x 刪除光標處的字符。 若在x 之前加上一個數字n ,則刪除從光標所在位置開始向右的n 個字符。
X 刪除光標前面的那個字符,若在X之前加上一個數字n, 則刪除從光標前面那個字符開始向左的n 個字符。
顯然這兩個命令是刪除少量字符的快捷方法。
(2) . 刪除多個字符
dd 刪除光標所在的整行。 在dd 前可加上一個數字n ,表示刪除當前行及其后n-1 行的內容。
D 或d$ 兩命令功能一樣, 都是刪除從光標所在處開始到行尾的內容。
d0 刪除從光標前一個字符開始到行首的內容。
dw 刪除一個單詞 。若光標處在某個詞的中間,則從光標所在位置開始刪至詞尾。同dd 命令一樣,可在dw之前加一個數字n 。表示刪除n 個指定的單詞。
如果用戶不小心進行了誤刪除操作,也不要緊vi ,提供了恢復誤操作的命令,并且可以將恢復的內容移動,放在文本的任何地方;謴兔钣谩皀p”, 其中n 為需要恢復的次數。例如使用dd 命令刪除了一行內容,然后使用“2p”命令,則被刪除的內容會被重新插入兩遍。
通過 dd 命令及p 命令的結合使用,可以很方便的實現文本行的移動操作。
2. 文本復制命令
yy 復制光標所在的整行。 在yy 前可加上一個數字n ,表示復制當前行及其后n-1 行的內容。
文本行復制后, 通過使用上面介紹的“p” 命令,可以將文本行粘貼到任何地方。
dd、 yy 及p 命令在vi 中的作用,類似于Windows 中圖形編輯程序的“剪切”、“復制”及“粘貼”命令。
3. 取消上一命令(Undo)
取消上一命令 (Undo), 也稱復原命令,是非常有用的命令,它可以取消前一次的誤操作或不合適的操作對文件造成的影響,使之回復到這種誤操作或不合適操作被執行之前的狀態。
取消上一命令有兩種形式, 在命令模式下鍵入字符u 和U 它們的功能都是取消剛才輸入的命令,恢復到原來的情況。小寫u 和大寫U 在具體細節上有所不同,二者的區別在于,大寫U命令的功能是恢復到誤操作命令前的情況,即如果插入命令后使用U 命令,就刪除剛剛插入的內容;如果刪除命令后使用U 命令,就相當于在光標處又插入剛剛刪除的內容。這里把所有修改文本的命令都視為插入命令,也就是說U 命令只能取消前一步操作,如果用U命令撤消了前一步操作,當再按U 鍵時,并不是撤消再前一步的操作,而是撤消了剛才U命令執行的操作,也就是又恢復到第一次使用U 命令之前的狀態,結果是什么都沒做。而小寫u 命令的功能是把當前行恢復成被編輯前的狀態,而不管此行被編輯了多少次。
4. 重復命令(Redo)
重復命令也是一個非常常用的命令。 在文本編輯中經常會碰到需要機械地重復一些操作,這時就需要用到重復命令。它可以讓用戶方便地再執行一次前面剛完成的某個復雜的命令。
重復命令只能在命令模式下工作, 在該模式下按“.” 鍵既可。執行一個重復命令時,其結果是依賴于光標當前位置的。
2.2.6 文本搜索與替換操作
在進行文本編輯的時候,,您可以需要搜索或定位特定的單詞或單詞的一部分。vi 編輯器有向前或向后搜索指定模式的功能。
“/” 是vi 編輯器的模式搜索命令。鍵入“/” 后,屏幕的底部會出現一行,同時一個斜扛會出現在底行的行首上,且光標被放置在斜扛之后。此時,您可以在光標位置鍵入你需要搜索的模式。輸入完成并按下 ENTER鍵后,編輯器將開始從光標所在的位置起向文件尾部搜索你鍵入的模式。如果輸入的模式被找到,光標將停留在找到的模式上。在找到一個匹配的模式 后,如果您還需要搜索下一個匹配的模式,使用命令“n” 即可;如果需要找到上一個匹配的模式,則使用“N” 命令即可。
此外,“ ?” 命令也是模式搜索命令。與“/” 的區別在于/ 是從光標當
前所在位置向文件尾部搜索,而“?” 命令則是由光標當前所在位置向文件頭部搜索。
文本替換操作需要使用末行模式進行操作 即所有文本替換操作命令均以“:”開頭。
文本替換命令的格式為:
:s/text1/text2 用于將光標所在段落搜索到的第一個 “text1” 替換為“text2”;
:s/text1/text2/g 用于將光標所在段落的所有 “text1 ”替換為“text2”;
:m,ns/text1/text2/g 用于將從 m行開始至n 行結束的所有搜索到的“text1”替換為text2。 其中可以使用$表示末行,即“1,$” 表示替換文檔中的所有符合條件的字符。
關鍵字:CentOS、文件、編輯
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解