歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> Unix基礎知識 >> Linux認證:利用vi與Unix系統進行對話

Linux認證:利用vi與Unix系統進行對話

日期:2017/2/25 10:13:15   编辑:Unix基礎知識
  Unix工程師在平時工作時,需要通過各種手段跟Unix系統進行交流、進行對話。如在系統防火牆管理中,工程師必須把自己的想法,如允許哪些數據包通過,哪些數據包過濾掉等等,告訴給Unix操作系統。而無疑vi程序就是這麼一個工具。它能夠為工程師與Unix操作系統之間建立一座溝通的橋梁。
  Vi是英文visual的縮寫,是Unix操作系統下最受歡迎的全屏幕編輯程序。它的功能十分豐富,想通過一篇文章的篇幅介紹其全部的功能,有點不現實。為此在這裡,筆者從如何提高vi程序利用率與開發速度的角度,談談vi工具的實用技巧以及需要注意的地方。
  一、vi編輯程序在工作緩沖區中完成全部工作。
  Vi編輯程序有一個特點,她的工作全部是在緩沖區中完成的。工程師在編輯對話開始之前,vi編輯程序會從硬盤中將用戶編輯的文件讀入工作緩沖區內。在工程師進行編輯的過程中,全部在緩沖區內完成,直到把工作緩沖區的內容寫回到硬盤中。工程師在編輯新文件時,vi編輯程序也並不立即在硬盤中建立文件,而是先把內容保存在緩沖區內。然後需要管理員通過w命令把文件保存到硬盤中。
  這種機制,即有好處,也有壞處。由於系統從緩沖區讀取數據要比在硬盤中讀取數據快的多。故利用vi來編輯程序會有效率會比較高。但是緩沖區的內容由於沒有及時保存在硬盤上,所以如果Unix服務器突然斷電的話,緩沖區中的內容將會全部丟失。從而帶來一些不必要的損失。所以筆者建議,在利用vi編輯程序編寫大型程序的時候需要特別注意,要及時利用w命令來保存緩沖區中的內容。不過需要說明的是,vi編輯程序畢竟不是一個文本編輯軟件。若利用這個工具來建立復雜的文件,不是明智的做法。
  二、選擇正確的模式來操作。
  Vi編輯程序有三種操作模式,分別為命令模式、輸入模式和底行命令模式。
  在命令模式下工程師輸入的內容被翻譯成命令傳遞給vi編輯程序。如“a”命令就是其中比較有代表的一個。命令模式下工程師鍵入的所有字符都不會在屏幕上顯示出來;工程師也不用按回車鍵來執行命令。Vi編輯程序下的命令通常情況下都是單個字符,他們往往是英文操作名稱的首字符。如上面提到的英文字母“a”就表示插入字符等等。
  在輸入模式下,工程師才能夠對文件進行編輯。通常情況下,工程師剛進入vi編輯程序時是處於命令模式下。此時工程師是無法對文件進行編輯的。在輸入模式下,vi編輯程序就好象是一個類似於打字機軟件。工程師在此鍵入的內容,都將作為文本來接受並顯示給管理員。完成輸入或者編輯文本工作後,按 Esc鍵返回到命令模式中。
  當工程師編輯好文本內容後,需要用冒號開始的命令把vi的光標移動到屏幕的底行。此時vi編輯程序進入到底行命令模式。工程師往往需要把冒號跟其他命令結合使用,如“:w”表示保存緩沖區中的文件。在底行命令模式下,主要用來執行一些特別的功能。如可以在不退出vi編輯環境的情況下實現替換文本、執行shell命令等功能。
  由於不同的模式完成不同的工作,故工程師需要了解這三種模式的不同特點,然後根據實際情況選擇合適的操作模式。具體來說,筆者有如下建議。如果只是查看文件或者說還不確定該如何修改時,最好在命令模式下查看文件。因為在命令模式下是只讀的,可以避免對原有文件的誤操作。同時,文件編寫完成之後,要及時轉換到底行模式下,並利用w等命令把修改後的文件及時保存到硬盤中。可見合適的模式有利於提高工程師的工作效率,同時又可以避免誤操作對原有文件的不利影響。
  三、掌握一些快捷操作方式。
  在vi編輯程序下,是無法利用鼠標來進行操作的。光標的移動、文字的插入與刪除等等靠鍵盤來完成。所以一個有經驗的Unix工程師往往需要掌握一些快捷方式,以提高vi編輯程序的利用效率。往往通過觀察對方使用vi編輯程序的方式,就可以判斷對方是否有足夠的Unix使用經驗。
  筆者認為,工程師首先需要學會的是如何快速定位。以為無法使用鼠標進行光標定位,故工程師要利用vi編輯程序對文件進行插入、添加、修改或者刪除操作時,就必須利用鍵盤把光標定位到適當的位置,從而完成對指定位置進行插入、添加等操作。如工程師要能夠迅速確定光標當前的位置(如按ctrl鍵+g 組合鍵),然後可以通過G參數來把光標移動到指定的行。如IG可以將光標移動到文件的第一行;輸入G則可以將光標移動到文件的最末行。
  除了學會如何迅速定位光標外,工程師還要學會如何快速進行刪除操作。在vi編輯程序中,可按字符、單詞、行、句子以及段落為單位進行刪除。如在 vi的命令模式下,若工程師需要刪除一個詞的話,則可以先降光標移動到這個詞的第一個字符上,然後按下dw兩個字符鍵。如果需要同時刪除多個詞的話,則需要在命令dw前加上倍乘因子。同時工程師師還可以以行為單位進行刪除。工程師將光標移動到該行的任意位置,按dd鍵即可。如果按2dd,則可以連續刪除兩行。依次類推。
  雖然vi編輯程序無法利用鼠標來操作,但是只要掌握了這些快捷操作,仍然可以非常迅速的利用這個編輯工具跟Unix操作系統進行對話。筆者在面試新員工的時候,往往會讓面試者使用vi工具來編輯一個文件。通過這個方法可以在一定程度上判斷出對方在Unix操作系統上的工作經驗是否跟他們的簡歷相符。故筆者建議一些想在Unix系統上有所作為的年輕人,要在vi這個編輯工具上多花費一些功夫。這是非常有必要的。
Copyright © Linux教程網 All Rights Reserved