2012年10月26日 星期五

0

vi 指令完整版


vi指令說明(完整版)
.vi 的操作模式
==============
        vi 提供兩種操作模式:輸入模式(insert mode)和指令模式(command mode)
        。當使用者進入 vi 後,即處在指令模式下,此刻鍵入之任何字元皆被視為
        指令。在此模式下可進行刪除、修改等動作。若要輸入資料,則需進入輸入
        模式。
.輸入模式
=========
        如何進入輸入模式
                a (append)      由游標之後加入資料。
                A               由該行之末加入資料。
                i (insert)      由游標之前加入資料。
                I               由該行之首加入資料。
                o (open)        新增一行於該行之下供輸入資料之用。
                O               新增一行於該行之上供輸入資料之用。
        如何離開輸入模式
                《ESC》 結束輸入模式。
.指令模式
=========
游標之移動
        h       向左移一個字元。
        j       向上移一個字元。
        k       向下移一個字元。
        l       向右移一個字元。
        0       移至該行之首
        $       移至該行之末。
        ^       移至該行的第一個字元處。
        H       移至視窗的第一列。
        M       移至視窗的中間那列。
        L       移至視窗的最後一列。
        G       移至該檔案的最後一列。
        +       移至下一列的第一個字元處。
        -       移至上一列的第一個字元處。
        (       移至該句之首。 (註一)
        )       移至該句之末。
        {       移至該段落之首。 (註二)
        }       移至該段落之末。
        nG      移至該檔案的第 n 列。
        n+      移至游標所在位置之後的第 n 列。
        n-      移至游標所在位置之前的第 n 列。
               會顯示該行之行號、檔案名稱、檔案中最末行之行號、游標
                        所在行號佔總行號之百分比。
        註一:句子(sentence)在vi中是指以『!』、『.』或『?』結束的一串字。
        註二:段落(paragraph)在vi中是指以空白行隔開的文字。
.視窗的移動
===========
               視窗往下捲一頁。
               視窗往上捲一頁。
               視窗往下捲半頁。
               視窗往上捲半頁。
               視窗往下捲一行。
               視窗往上捲一行。
.刪除、複製及修改指令介紹 (此單元較少使用)
=========================
        d(delete)、c(change)和y(yank)這一類的指令在 vi 中的指令格式為:
        Operator + Scope = command
        (運算子)   (範圍)
        運算子:
        d       刪除指令。刪除資料,但會將刪除資料複製到記憶體緩衝區。
        y       將資料(字組、行列、句子或段落)複製到緩衝區。
        p       放置(put)指令,與 d 和 y 配和使用。可將最後delete或yank的資
                料放置於游標所在位置之行列下。
        c       修改(change)指令,類似delete與insert的組和。刪除一個字組、句
                子等之資料,並插入新鍵資料。
        範圍:
        e       由游標所在位置至該字串的最後一個字元。
        w       由游標所在位置至下一個字串的第一個字元。
        b       由游標所在位置至前一個字串的第一個字元。
        $       由游標所在位置至該行的最後一個字元。
        0       由游標所在位置至該行的第一個字元。
        )       由游標所在位置至下一個句子的第一個字元。
        (       由游標所在位置至該句子的第一個字元。
        {       由游標所在位置至該段落的最後一個字元。
        }       由游標所在位置至該段落的第一個字元。
        整行動作
        dd      刪除整行。
        D       以行為單位,刪除游標後之所有字元。
        cc      修改整行的內容。
        yy      yank整行,使游標所在該行複製到記憶體緩衝區。
.刪除與修改
===========
        x       刪除游標所在該字元。
        X       刪除游標所在之前一字元。
        dd      刪除游標所在該行。
        r       用接於此指令之後的字元取代(replace)游標所在字元。
                如: ra 將游標所在字元以 a 取代之。
        R       進入取代狀態,直到《ESC》為止。
        s       刪除游標所在之字元,並進入輸入模式直到《ESC》。
        S       刪除游標所在之該行資料,並進入輸入模式直到《ESC》。
.搬移與複製
==========
        利用 delete 及 put 指令可完成資料搬移之目的。
        利用 yank 及 put 指令可完成資料複製之目的。
        yank 和 delete 可將指定的資料複製到記憶體緩衝區,而藉由 put 指令
        可將緩衝區內的資料複製到螢幕上。
        例:
        搬移一行        ‧在該行執行 dd
                        ‧游標移至目的地
                        ‧執行 p
        複製一行        ‧在該行執行 yy
                        ‧游標移至目的地
                        ‧執行 p
.指令重複
=========
        在指令模式中,可在指令前面加入一數字 n,則此指令動作會重複執行 n
        次。
        例:
        刪除10行                ‧10dd
        複製10行                ‧10yy
                                ‧游標移至目的地
                                ‧p
        指標往下移10行  ‧10j
.取消前一動作(Undo)
===================
        即復原執行上一指令前的內容。
        u       恢復最後一個指令之前的結果。
        U       恢復游標該行之所有改變。
.搜尋
=====
        在vi中可搜尋某一字串,使游標移至該處。
        /字串           往游標之後尋找該字串。
        ?字串           往游標之前尋找該字串。
        n               往下繼續尋找下一個相同的字串。
        N               往上繼續尋找下一個相同的字串。
.資料的連接
===========
        J       句子的連接。將游標所在之下一行連接至游標該行的後面。
        若某行資料太長亦可將其分成兩行,只要將游標移至分開點,進入輸入模式
        (可利用 a、i等指令)再按《Enter》即可。
.環境的設定
===========
        :set nu                設定資料的行號。
        :set nonu              取消行號設定。
        :set ai                自動內縮。
        :set noai              取消自動內縮。
        自動內縮(automatic indentation)
        在編輯文件或程式時,有時會遇到需要內縮的狀況,『:set ai』即提供自
        動內縮的功能,用下例解釋之:
        ‧vi test
        ‧(進入編輯視窗後)
          this is the test for auto indent
          《Tab》start indent           ← :set ai (設自動內縮)
          《Tab》data
          《Tab》data
          《Tab》data                   ← :set noai (取消自動內縮)
        the end of auto indent.
        ‧註: 可刪除《Tab》字元。
.ex指令
=======
        讀寫資料
        :w                     將緩衝區的資料寫入磁碟中。
        :10,20w test   將第10行至第20行的資料寫入test檔案。
        :10,20w>>test  將第10行至第20行的資料加在test檔案之後。
        :r test                將test檔案的資料讀入編輯緩衝區的最後。
        刪除、複製及搬移
        :10,20d                刪除第10行至第20行的資料。
        :10d                   刪除第10行的資料。
        :%d                    刪除整個編輯緩衝區。
        :10,20co30             將第10行至第20行的資料複製至第30行之後。
        :10,20mo30             將第10行至第20行的資料搬移至第30行之後。
        字串搜尋與取代
        s(substitute)指令可搜尋某行列範圍。
        g(global)指令則可搜尋整個編輯緩衝區的資料。
        s指令以第一個滿足該條件的字串為其取代的對象,若該行有數個滿足該條
        件的字串,也僅能取代第一個,若想取代所有的字串則需加上g參數。
        :1,$s/old/new/g                將檔案中所有的『old』改成『new』。
        :10,20s/^/   /         將第10行至第20行資料的最前面插入5個空白。
        :%s/old/new/g          將編輯緩衝區中所有的『old』改成『new』。
.恢復編輯時被中斷的檔案
=======================
        在編輯過程中,若系統當掉或連線中斷,而緩衝區的資料並還未
        被寫回磁碟時,當再度回到系統,執行下列指令即可回復中斷前
        的檔案內容。
        %vi -r filename
.編輯多個檔案
=============
        vi亦提供同時編輯多個檔案的功能,方法如下:
        %vi file1 file2 ..
        當第一個檔案編修完成後,可利用『:w』將該緩衝區存檔,而後
        再利用 『:n』載入下一個檔案。
0

nbtstat網芳指令


資料參考自http://tw.myblog.yahoo.com/chen_10220214/article?mid=902&next=900&l=f&fid=6
參數
-a remotename
顯示遠端電腦的 NetBIOS 名稱表,其中,RemoteName 是遠端電腦的 NetBIOS 電腦名稱稱。NetBIOS 名稱表是執行在該電腦上的應用程式使用的 NetBIOS 名稱列表。
-A IPAddress
顯示遠端電腦的 NetBIOS 名稱表,其名稱由遠端電腦的 IP 位址指定(以小數點分隔)。
-c
顯示 NetBIOS 名稱快取內容、NetBIOS 名稱表及其解析的各個位址。
-n
顯示本機電腦的 NetBIOS 名稱表。Registered 中的狀態表明該名稱是通過廣播或 WINS 伺服器註冊的。
-r
顯示 NetBIOS 名稱解析統計資料。在組態為使用 WINS 的 Windows XP 電腦上,該參數將返回已通過廣播和 WINS 解析和註冊的名稱號碼。
-R
清除 NetBIOS 名稱快取的內容並從 Lmhosts 文件中重新載入帶有 #PRE 標記的項目。
-RR
重新解壓縮並重新整理通過 WINS 註冊的本機電腦的 NetBIOS 名稱。
-s
顯示 NetBIOS 客戶和伺服器會話,並試圖將目標 IP 位址轉化為名稱。
-S
顯示 NetBIOS 客戶和伺服器會話,只通過 IP 位址列出遠端電腦。
Interval
重新顯示選項的統計資料,可以中斷每個顯示之間的 Interval 中指定的秒數。按 CTRL+C 停止重新顯示統計訊息。如果省略該參數, netstat 將只顯示一次現用的配置資訊。
/?
在命令提示字元顯示說明 。

註釋:
Nbtstat 指令行參數區分大小寫。
下表列出了由 Nbtstat 產生的列標題。 標題 說明
Input 接收的字元數。
Output 傳送的字元數。
In/Out 該連接是否從電腦(傳出)或者其他電腦到本機電腦(傳入)。
Lift 名稱表快取項在被清除之前所存留的時間。
Local Name 本機 NetBIOS 名稱與連接相關聯。
Remote Host 與遠端電腦相關的名稱或 IP 位址。
<03> 轉化為十六進制的 NetBIOS 名稱的最後一個字元。每個 NetBIOS 名稱長度均為 16 個字元。由於最後一個字元通常有特殊的意義,因為相同的名稱(只有最後一個字元不同)可能在一台電腦上出現幾次。例如,<20> 在 ASCII 文本中是一個空格。 
Type 名稱檔案類型。名稱可以是單個名稱,也可以是群組名稱。
Status 遠端電腦上是否在執行 NetBIOS 服務(「已註冊」),或同一電腦名稱是否已註冊了相同的服務(「衝突」)。
State NetBIOS 連接的狀態。

下表列出了可能的 NetBIOS 連接狀態。 狀態 說明
已連接 會話已建立。
關聯 連接的終結點已經被新增並與 IP 位址關聯。
正接聽 該終結點對內向連接可用。
空閒 該結束點已被開啟單不能接收連接。
正在連接 會話處於連接階段。在此階段正在解析所選目標的由名稱到 IP 位址的映射。
接受 入站會話當前正在被接受,將在短期內連接。
重新連接 會話將試圖重新連接(如果第一次連接失敗)。
出站 會話正處於連接階段。此階段正在新增 TCP 連接。
入站 入站會話在連接期。
正在中斷連線 會話正在中斷連線連接。
已中斷連接 本機電腦已中斷連線連接,並正等待遠端系統的驗證。

只有當網際傳輸協定 (TCP/IP) 傳輸協定在 網路連接中安裝為網路橋接器內容的元件時,該指令才可用。
範例 :
要顯示 NetBIOS 電腦名稱為 CORP07 的遠端電腦的 NetBIOS 名稱表,請按鍵輸入:

nbtstat -a CORP07

要顯示所分配 IP 位址為 10.0.0.99 的遠端電腦的 NetBIOS 名稱表,請按鍵輸入:

nbtstat -A 10.0.0.99

要顯示本機電腦的 NetBIOS 名稱表,請按鍵輸入:

nbtstat -n

要顯示本機電腦 NetBIOS 名稱快取的內容,請按鍵輸入:

nbtstat -c

要清除 NetBIOS 名稱快取並重新安裝載入本機 Lmhosts 文件中帶標記 #PRE 的項目,請按鍵輸入:

nbtstat -R

要解壓縮通過 WINS 伺服器註冊的 NetBIOS 名稱並對其重新註冊,請按鍵輸入:

nbtstat -RR

要每隔 5 秒以 IP 位址顯示 NetBIOS 會話統計資料,請按鍵輸入:

nbtstat -S 5
0

word 複製格式

word 的複製格式很好用,但每次都要再按一次複製格式圖示,其實如果是不連續的區塊要複製格式,可以在複製格式圖示上按左鍵兩下,就可連續使用喔~