歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux管理 >> Linux問題解決

常用UNIX命令

vi全屏幕編輯器

vi(Visual)是以視覺為導向的全屏幕編輯器、共分為三種方式(mode):

command方式:

 任何輸入都會作為編輯命令,而不會出現在屏幕上,若輸入錯誤則有“岬”的聲音;任何輸入

 都引起立即反映

insert方式:

 任何輸入的數據都置於編輯寄存器。在command方式下輸入(I,a,A等),可進入insert方式,  insert方式下按ESC,可跳回command方式。

escape方式:

以“:”或者“/”為前導的指令,出現在屏幕的最下一行,任何輸入都被當成特別指令。

進入vi(在系統提示符下面輸入以下指令):

vi           進入vi而不讀入任何文件

vi filename      進入vi並讀入指定名稱的文件(新、舊文件均可)。

vi +n filename    進入vi並且由文件的第幾行開始。

vi +filename      進入vi並且由文件的最後一行開始。

vi + /word filename  進入vi並且由文件的word這個字開始。

vi filename(s)     進入vi並且將各指定文件列入名單內,第一個文件先讀入。

vedit         進入vi並且在輸入方式時會在狀態行顯示“INSERT MODE"。

編輯數個文件(利用vi filename(s))進入vi後)

:args         顯示編輯名單中的各個文件名

:n          讀入編輯名單中的下一個文件

:rew         讀入編輯名單中的第一個文件

:e#          讀入編輯名單內的前一個文件

:e file        讀入另一個文件進vi(此文件可不在編輯名單內),若原文件經修改還沒有存檔,則           應先以: w 存檔。

:e! file       強迫讀入另一個文件進入vi,原文件不作存檔動作。

存儲及退出vi

:w filename      存入指定文件,但未退出vi(若未指定文件名則為當前工作的文件名)。

:wq 或者 :x或者zz   存文件,並且退出vi.

:q          不作任何修改並退出vi。

:q!          放棄任何修改並退出vi。

:!command       暫時退出vi並執行shell指令,執行完畢後再回到vi。

:sh          暫時退出vi到系統下,結束時按Ctrl + d則回到vi。

加數據指令

i           在關標位置開始插入字符,結束時候按ESC鍵。

I           在光標所在行的最前面開始加字,結束時按ESC鍵。

a           在光標位置後開始加字,結束時按ESC鍵。

A           在光標所在行的最後面開始加字,結束時按ESC鍵。

o           在光標下加一空白行並開始加字,結束時按ESC鍵。

O           在光標上加一空白行並開始加字,結束時按ESC鍵。

!command       執行shell指令,並把結果加在光標所在行的下一行。

刪除指令

nx          刪除由光標位置起始的n個字符(含光標位置,按一個x表示刪除光標所在的字符)

nX           刪除由光標位置起始的n個字符(不含光標位置)。

ndw          刪除光標位置其實的n個字符組(word)。

d0           將行的開始到光標位置的字符全部刪除。

d$ 或D         將光標位置起始到行尾的字符全部刪除。

ndd          將光標位置起始的n行(整行)刪除(dd表示刪除光標所在行)。

:start,endd      刪除文件的第start到end行。

關標移動

0           移到一行的開始

$           移到一行的最後

[           移到文件開始位置

]           移到文件結束位置

nh          往左移n位

nl或者spacebar     往右移n位

nk          向上移n行

n+          向上移n行,光標在該行的起始

ni           向下移n行

n-          向下移n行,光標在該行的起始

H           移到屏幕的左上角

M           移到屏幕的中間行開頭

L           移到屏幕的最後一行

G           移到文件的最後一行

nG或者:n       移到文件的第n行

nw          右移n個字組,標點符號屬於字組

nW          右移n個字組,標點符號不屬於字組

nb          左移n個字組,標點符號屬於字組

nB          左移n個字組,標點符號不屬於字組

Ctrl + u       屏幕上卷半個菜單

Ctrl + d        屏幕下卷半個菜單

Ctrl + b        屏幕上卷一個菜單

Ctrl + F        屏幕下卷一個菜單

修改指令

r           修改光標文件的字符

R           從光標位置開始修改,結束時按ESC鍵

new          更改n組字符,結束時按ESC鍵

ncc          從光標所在位置開始更改n行,結束時按ESC鍵

重排各行長度

i           並按Enter將該行由光標所在處斷開,並進入insert方式

J           把下一行的數據連接到本行之後

尋找指令

/text         從光標位置往下找字串text

?text         從光標位置往上找字串text

n           繼續找下一個字串(在輸入上面的尋找指令之後使用)

尋找並且取代指令

:getxt1/s/ /text2/options   將各行的text1替換為text2

               option=g表示文件中所有的text1均被取代,若未輸入任何option,則只有               各行中的第一個出現的text1被取代

               option=go 在屏幕顯示各取代的行

               option=gc 在每個字串取代之前要求確認 

Start,endgtext1/s/ / text2/options  同上,只尋找並取代第start~end行。

或:Start,ends/text1/text2/options

復制及移動文件

:first,last co dest      將first 到last行的數據復制到目標行(dest)下面

:Start,end m dest      將start 到 end行的數據移動到目標行(dest)下。   

:r filename          將指定文件的內容讀入光標所在行下。

nY               將光標所在位置開始的n行數據暫存

p               復制暫存數據在光標的下一行

P               復制暫存數據在光標的上一行

Copyright © Linux教程網 All Rights Reserved