1. 程式人生 > >Ubuntu作業系統學習筆記2(vi文字編輯器、程序的基本狀態及其轉換)

Ubuntu作業系統學習筆記2(vi文字編輯器、程序的基本狀態及其轉換)

文字編輯器是對純文字檔案進行編輯、檢視、修改等操作的應用程式。vi編輯器具有文字編輯的所有功能,並且執行速度快,具有強大的編輯功能,廣泛的適用性和靈活性。

一、vi文字編輯器

1、vi編輯器的啟動與退出

(1)啟動

格式:vi  [檔名]

檔名有以下情況:

未指定檔名:則建立一個新檔案,使用者可以隨後給檔案重新命名。

不存在的檔名:則建立該檔名的檔案。

已存在的檔名

vi +5  hello.txt

開啟 hello.txt檔案,並且游標直接定位到第五行。

vi  +/"root" /etc/passwd  開啟檔案/etc/passwd,並直接進入包含root關鍵字的行。

(2)編輯器退出

:wq

存檔退出

:q  

直接退出

2、vi 編輯器的工作模式

vi與windows 記事本程式不同,它是一種多模式軟體,具有3中工作模式,在不同的模式下,它對輸入的內容有不同的解釋,以完成不通的操作。

(1)命令模式:vi啟動之後,首先進入命令模式。命令模式中,輸入的任何字元vi都把它當做相應的命令來執行,因此,輸入的字元並不在螢幕上有所顯示。命令模式用於完成各種文字的修改工作。如對檔案內容中的字串進行查詢、替換、儲存、退出等不同的操作。

(2)插入模式:用於新增文字內容,完成文字的錄入工作。

(3)轉義模式:該模式下游標停留在螢幕最末行

 

命令模式轉換到編輯模式:輸入a或者i

3、vi編輯器的基本應用

(1)插入文字

游標的移動:h、j、k、l游標上下左右移動一個字元。

w:以單詞為單位向後移動游標。

b:以單詞為單位向前移動游標。

e:游標移動到鈣蛋醋的詞尾。

游標定位:

$:游標移動到行尾。

0:游標移動到行首。

f:游標移動到指定的字元下。

[n]G:游標定位到n行,n是可選擇的數字,未指定數字n時,游標移動到最後一行。

PageUp、PageDown鍵可以進行上下翻頁。

常用的插入命令:

a:在游標的位置後開始插入接收輸入。

A:在行尾後開始接收輸入。

i:在游標位置前開始接收輸入。

I:在行首開始接收輸入。

o:在游標所在行之後開闢一個新的空行,並開始接收輸入。

O:在游標所在行之前開闢一個新的空行,並開始接收輸入。

(2)刪除文字:

當用戶在插入模式進行文字輸入時,如果要刪除某個字元時,首先按下Esc鍵進入命令模式,才能使用刪除命令刪除字元。

x:刪除游標處的單個字元。

X:刪除游標左邊的單個字元。

D:刪除一行文字。

dd:刪除游標所在行的文字。

(3)文字的替換和修改

文字的修改是用一個字串替換另一個字串,或用多個字串替換一個字元或一行,是一種先刪除後插入的操作。使用替換或修改命令都是在命令模式下進行。

操作步驟:

第一步:按下Esc鍵,進入命令模式。

第二步:游標移動到要替換或修改的位置。

第三步:輸入替換後修改命令。

第四步:輸入新文字內容。

第五步:按下Esc鍵,結束插入過程。

常用的替換命令:

s:用輸入的新文字替換游標處的字元。新文字可以為一個或多個字元。

S:用輸入的新文字替換游標處所在的行。若不輸入新文字,則整行文字被刪除。

r:用新字元替換游標處的字元。

R:用輸入的新文字逐個替換從游標處開始的各個字元。

 常用的修改命令:

c0:修改游標左邊的字元。

c$:修改游標右邊的字元。

C1:修改游標處的字元。

cG:修改游標處所在行之後的所有行。

(4)文字的剪下、複製、貼上

插入模式下不允許複製、剪貼、貼上文字,需要按Esc,進入命令模式。

常用操作:

yy:複製游標所在的行。

y0;複製游標左邊的文字內容。

y$:複製游標右邊的文字內容。

p:貼上文字到游標處。

dd:剪下游標所在的行。

(5)撤銷和重複命令

也許要處於命令模式

u:撤銷上一個命令

.:重複執行上一個命令

(6)全文範圍的字元查詢和替換

關鍵詞查詢:命令模式下,從當前游標處,“/關鍵字”    。輸入命令n之後,可以繼續往後查詢。

參考:http://c.biancheng.net/view/521.html

二、程序管理和系統監控

1、程序:程序是可併發執行且具有一定功能的程式段在給定資料集的上一次執行過程。

  • 程序就是程式的一次執行過程。
  • 程序是一個程式及其資料,在處理機上順序執行是所發生的活動。
  • 程序是程式在一個數據集合上執行的過程,它是系統進行資源分配和排程的一個獨立單位。

2、程序的特徵:

(1)動態性:有一定的生命週期。

(2)併發性:多個程序能在一段時間內同時執行。

(3)獨立性:程序是一個能獨立執行、獨立分配資源和獨立排程的基本單位。

(4)非同步性:程序按照各自獨立的、不可預知的速度向前推進,程序按非同步方式執行。

(5)結構性:為使程序能獨立執行,應為之配置一個稱為程序控制塊的資料結構。

3、程序的基本狀態及其轉換

(1)基本狀態:

就緒狀態:當程序已分配到除CPU以外的所有必要資源後,只要能在獲得處理機,便能執行的狀態。

執行狀態:程序已獲得處理機,其程式正在執行。

阻塞狀態:程序因為某件事而暫停執行