學(xué)習(xí)啦>學(xué)習(xí)電腦>操作系統(tǒng)>Linux教程>

Linux系統(tǒng)中編輯文件命令的知識詳解

時間: 佳洲1085 分享

  Linux系統(tǒng)中的vi命令是Visual Interface的簡稱,是一個文件編輯命令。那么下面由學(xué)習(xí)啦小編為大家整理了linux系統(tǒng)中編輯文件命令的知識詳解,希望對大家有幫助!

  Linux系統(tǒng)中編輯文件命令的知識詳解

  vi 命令介紹

  vi 是”Visual Interface” 的簡稱,它在Linux 上的地位就仿佛Edit 程序在DOS上一樣。它可以執(zhí)行輸出、刪除、查找、替換、塊操作等眾多文本操作,而且用戶可以根據(jù)自己的需要對其進(jìn)行定制,這是其他編輯程序所沒有的。

  vi 不是一個排版程序,它不象Word 或WPS 那樣可以對字體、格式、段落等其他屬性進(jìn)行編排,它只是一個文本編輯程序。

  vi 沒有菜單,只有命令,且命令繁多。限于篇幅,本文只介紹常用的命令。

  Vi 有三種基本工作模式:命令行模式,文本輸入模式和末行模式。

  命令行模式:

  任何時候,不管用戶處于何種模式,只要按一下“ESC” 鍵,即可使vi 進(jìn)入命令行模式;當(dāng)在shell 環(huán)境下輸入vi 命令啟動vi 編輯器時,也是處于該模式下。

  在該模式下 ,用戶可以輸入各種合法的vi 命令,用于管理自己的文檔。此時從鍵盤上輸入的任何字符都被當(dāng)作編輯命令來解釋,若輸入的字符是合法的vi 命令,則vi 在接受用戶命令之后完成相應(yīng)的動作(但需注意的是,所輸入的命令并不在屏幕上顯示出來)。若輸入的字符不是vi 的合法命令,vi 會響鈴報警。

  文本輸入模式:

  在命令模式下輸入插入命令 i、 附加命令a 、打開命令 o、 修改命令c 、取代命令r 或替換命令s 都可以進(jìn)入文本輸入模式。在該模式下,用戶輸入的任何字符都被vi 當(dāng)做文件內(nèi)容保存起來,并將其顯示在屏幕上。在文本輸入過程中,若想回到命令模式下,按“ESC” 鍵即可。

  末行模式:

  在命令模式下用戶按“:” 鍵即可進(jìn)入末行模式下,此時Vi 會在顯示窗口的最后一行(通常也是屏幕的最后一行)顯示一個“:” 作為末行模式的提示符,等待用戶輸入命令。多數(shù)文件管理命令都是在此模式下執(zhí)行的(如把編輯緩沖區(qū)的內(nèi)容寫到文件中等)末行命令執(zhí)行完后,vi 自動回到命令模式。

  若在末行模式下輸入命令過程中改變了主意, 可按“ESC” 鍵或用退格鍵將輸入的命令全部刪除之后,再按一下退格鍵,即可使vi 回到命令模式下。

  Linux系統(tǒng)中編輯文件的常用命令

  ---- 1.光標(biāo)命令

  k、j、h、l——上、下、左、右光標(biāo)移動命令。雖然您可以在Linux中使用鍵盤右邊的4個光標(biāo)鍵,但是記住這4個命令還是非常有用的。這4個鍵正是右手在鍵盤上放置的基本位置。

  nG——跳轉(zhuǎn)命令。n為行數(shù),該命令立即使光標(biāo)跳到指定行。

  Ctrl G——光標(biāo)所在位置的行數(shù)和列數(shù)報告。

  w、b——使光標(biāo)向前或向后跳過一個單詞。

  ---- 2.編輯命令

  i、a、r——在光標(biāo)的前、后以及所在處插入字符命令(i=insert、a=append、r=replace)。

  cw、dw——改變(置換)/刪除光標(biāo)所在處的單詞的命令 (c=change、d=delete)。

  x、d$、dd——刪除一個字符、刪除光標(biāo)所在處到行尾的所有字符以及刪除整行的命令。

  ---- 3.查找命令

  ---- /string、?string——從光標(biāo)所在處向后或向前查找相應(yīng)的字符串的命令。

  ---- 4.拷貝復(fù)制命令

  ---- yy、p——拷貝一行到剪貼板或取出剪貼板中內(nèi)容的命令。

  擴展:Linux系統(tǒng)中編輯文件命令的常見問題及應(yīng)用技巧

  ---- 1.在一個新文件中讀/etc/passwd中的內(nèi)容,取出用戶名部分。

  ---- vi file

  ---- :r /etc/passwd 在打開的文件file中光標(biāo)所在處讀入/etc/passwd

  ---- :%s/:.*//g 刪除/etc/passwd中用戶名后面的從冒號開始直到行尾的所有部分。

  ---- 您也可以在指定的行號后讀入文件內(nèi)容,例如使用命令“:3r /etc/passwd”從新文件的第3行開始讀入 /etc/passwd的所有內(nèi)容。

  ---- 我們還可以使用以下方法刪掉文件中所有的空行及以#開始的注釋行。

  ---- #cat squid.conf.default | grep -v '^$' | grep -v '^#'

  ---- 2.在打開一個文件編輯后才知道登錄的用戶對該文件沒有寫的權(quán)限,不能存盤,需要將所做修改存入臨時文件。

  ---- vi file

  ---- :w /tmp/1 保存所做的所有修改,也可以將其中的某一部分修改保存到臨時文件,例如僅僅把第20~59行之間的內(nèi)容存盤成文件/tmp/1,我們可以鍵入如下命令。

  ---- vi file

  ---- :20,59w /tmp/1

  ---- 3.用VI編輯一個文件,但需要刪除大段的內(nèi)容。

  ---- 首先利用編輯命令“vi file”打開文件,然后將光標(biāo)移到需要刪除的行處按Ctrl G顯示行號,再到結(jié)尾處再按Ctrl G,顯示文件結(jié)尾的行號。

  ---- :23,1045d 假定2次得到的行號為23和1045,則把這期間的內(nèi)容全刪除,也可以在要刪除的開始行和結(jié)束行中用ma、mb命令標(biāo)記,然后利用“:'a,'bd”命令刪除。

  ---- 4.在整個文件的各行或某幾行的行首或行尾加一些字符串。

  ---- vi file

  ---- :3,$s/^/some string / 在文件的第一行至最后一行的行首插入“some string”。

  ---- :%s/$/some string/g 在整個文件每一行的行尾添加“some string”。

  ---- :%s/string1/string2/g 在整個文件中替換“string1”成“string2”。

  ---- :3,7s/string1/string2/ 僅替換文件中的第3行到第7行中的“string1”成“string2”。

  ---- 注意: 其中s為substitute,%表示所有行,g表示global。

  ---- 5.同時編輯2個文件,拷貝一個文件中的文本并粘貼到另一個文件中。

  ---- vi file1 file2

  ---- yy 在文件1的光標(biāo)處拷貝所在行

  ---- :n 切換到文件2 (n=next)

  ---- p 在文件2的光標(biāo)所在處粘貼所拷貝的行

  ---- :n 切換回文件1

  ---- 6.替換文件中的路徑。

  ---- 使用命令“:%s#/usr/bin#/bin#g”可以把文件中所有路徑/usr/bin換成/bin。也可以使用命令“:%s//usr/bin//bin/g”實現(xiàn),其中“”是轉(zhuǎn)義字符,表明其后的“/”字符是具有實際意義的字符,不是分隔符

Linux系統(tǒng)中編輯文件命令的知識詳解

Linux系統(tǒng)中的vi命令是Visual Interface的簡稱,是一個文件編輯命令。那么下面由學(xué)習(xí)啦小編為大家整理了linux系統(tǒng)中編輯文件命令的知識詳解,希望對大家有幫助! Linux系統(tǒng)中編輯文件命令的知識詳解 vi 命令介紹 vi 是Visual Interface
推薦度:
點擊下載文檔文檔為doc格式

精選文章

  • Linux系統(tǒng)中zcat命令的知識詳解
    Linux系統(tǒng)中zcat命令的知識詳解

    Linux系統(tǒng)中的zcat命令不同于cat命令,它不用解壓縮文件就能顯示壓縮包文件的內(nèi)容,那么下面由學(xué)習(xí)啦小編為大家整理了linux系統(tǒng)中zcat命令的知識詳解,希

  • Linux系統(tǒng)中yum命令的知識詳解
    Linux系統(tǒng)中yum命令的知識詳解

    Linux系統(tǒng)中的yum命令其實相當(dāng)于是一個軟件包管理器,那么下面由學(xué)習(xí)啦小編為大家整理了linux系統(tǒng)中yum命令的知識詳解,希望對大家有幫助! Linux系統(tǒng)中y

  • Linux系統(tǒng)中who命令的知識詳解
    Linux系統(tǒng)中who命令的知識詳解

    Linux系統(tǒng)中的who命令是一個檢查系統(tǒng)中使用者身份信息的命令,那么下面由學(xué)習(xí)啦小編為大家整理了linux系統(tǒng)中who命令的知識詳解,希望對大家有幫助! Lin

  • Linux系統(tǒng)中which命令的知識詳解
    Linux系統(tǒng)中which命令的知識詳解

    Linux系統(tǒng)中的which命令會在變量指定的路徑中,搜索某個系統(tǒng)命令的位置,那么下面由學(xué)習(xí)啦小編為大家整理了linux系統(tǒng)中which命令的知識詳解,希望對大家

3636807