內容整理自菜鳥教程和c語言中文網的linux教程
vi是liunx系統自帶的文書編輯器,但目前使用較多的是vim編輯器,vim具有程式編輯的能力,可以主動的以字型顏色辨別語法的正確性,方便程式設計。
vi/vim的使用
基本上vi/vim共分為3中模式,分別為命令模式(command mode)、輸入模式(insert mode)和底線模式(last line mode)。
命令模式:
使用者啟動vi/vim,初始狀態便為命令模式。在命令模式下鍵盤上的動作會被識別為命令,而非輸入字元。
以下是常用的命令:
移動游標的方法
h或向左箭頭鍵(←)
游標向左移動乙個字元
j或向下箭頭鍵(↓)
游標向下移動乙個字元
k或向上箭頭鍵(↑)
游標向上移動乙個字元
l或向右箭頭鍵(→)
游標向右移動乙個字元
如果需要需要移動多行,可以在字元前加數字。例如向下移動5行就輸入5j。
移動游標的方法
ctrl+f
螢幕向下移動一頁
ctrl+b
螢幕向上移動一頁
ctrl+d
螢幕向下移動半頁
ctrl+u
螢幕向上移動半頁
+游標移動到非空格符的下一行
-游標移動到非空格符的上一行
nn表示數字,space為空格。游標向右移動n的字元
0或home
移動到當前行的最前面的字元處
$或end
移動到當前行的最後面的字元處
h游標移動到這個螢幕的最上方那一行的第乙個字元
m游標移動到當前螢幕**的那一行的第乙個字元
l游標移動到當前螢幕最下方的那一行的第乙個字元
g移動到當前檔案的最後一行
ngn表示數字,移動到當前檔案的第n行
gg移動到當前檔案的第一行,相當於1g
nn為數字。游標向下移動n行。
搜尋與替換
/word
向游標之下尋找名為「word」的字串
?word
向游標之上尋找名為「word」的字串
n重複前乙個搜尋的動作
n和n剛好相反,為反向進行前乙個搜尋動作
搜尋與替換
:n1,n2s/word1/word2/g
n1和n2為數字。將n1和n2之間的word1替換為word2
:1,$s/word1/word2/g
從第一行到最後一行將n1和n2之間的word1替換為word2,
:%s/word1/word2/g
同上:1,$s/word1/word2/gc
從第一行到最後一行將n1和n2之間的word1替換為word2,並詢問使用者
:%s/word1/word2/gc
同上刪除、複製與貼上
x向後刪除乙個字元
x向前刪除乙個字元
nxn為數字,連續向後刪除n個字元。
dd刪除游標所在的一整行
ndd刪除游標所在的向下n行
d1g刪除游標所在位置到第一行的所有資料
dg刪除游標所在位置到最後一行的所有資料
d$刪除游標所在位置到該行的最後乙個字元
d0刪除游標所在位置到該行的最前面的乙個字元
複製和刪除的操作差不多就是將d換成y
yy複製游標所在那一行(其他類似)
p(小)
將以複製的資料在游標的下一行貼上
p(大)
將以複製的資料在游標的上一行貼上
j將游標所在行與下一行結合為同一行
u復原前乙個動作
ctrl+r
重做上乙個動作
.(小數點)
重複前乙個動作
輸入模式:
在命令模式下按下「i」就會進入輸入模式。在輸入模式中將相當於進入了windows中的記事本。
進入輸入或取代編輯模式
i進入輸入模式:從目前游標所在位置輸入
i進入輸入模式:從目前游標所在行的第乙個非空格字元除開始輸入
a進入輸入模式:從目前游標的所在位置的下乙個字元開始輸入
a進入輸入模式:從目前游標的所在行的最後乙個字元處開始輸入
o進入輸入模式:從目前游標所在行的下一行處輸入新的一行
o進入輸入模式:從目前游標所在行的上一行處輸入新的一行
r進入取代模式:r只會取代游標所在位置的那乙個字元一次
r進入取代模式:r一直取代游標所在位置的字元,直到按下esc為止
esc退出編輯模式,回到一般模式。
在輸入模式中vi/vim左下角會顯示【insert】(輸入)或【replace】(替換)的字樣。
底線命令模式:
在命令模式下按下「:(英文冒號)」就會進入底線命令模式。底線命令模式可以輸入單個或者多個字元的命令,可用的命令非常多。在底線命令模式中,基本的命令有:
指令行的儲存、離開、等指令w儲存
w!強制儲存,一般需要管理員許可權
q退出(不儲存)
q!強制退出,不儲存
wq退出並儲存
zz(大寫)
若檔案沒有更改,則不儲存離開,若檔案已經被改動則儲存後離開
w[filename]
另存為r[filename]
將另乙個檔案的資料追加到游標所在行的後面
n1,n2w[filename]
將n1到n2的內容儲存成filename這個檔案
!command
暫時離開vi到 指令模式執行command的顯示結果
set nu
顯示行號
set nonu
取消行號
vim 檔名
如果存在該檔案則開啟,如果不存在該檔案則建立該檔案。
cat filename
cat -b filename //加上-b會顯示行號
wc filename
用於顯示檔案中的行數、單詞數、和字元數。
第一行為行數、第二行為單詞數、第三行為字元數、第四行為檔名。
cp source_file destination_file
將source_file的內容複製到destination_file中。
mv olefilename newfilename
mv命令還是乙個移動檔案命令,不但可以更改檔案的路徑,也可以更改檔名。
rm 檔名1 檔名2 ......
可以和刪除乙個或者多個檔案。
元字元是具有特殊含義的字元。*和?都是元字元:
(1)*可以匹配0個或者多個任意字元。
(2)?匹配乙個字元。
和正規表示式是一樣的。
ls ch*.doc//顯示當前目錄下所由一ch開頭以.doc結尾的檔案。
隱藏檔案的第乙個字元為英文句號或者點號(.),linux程式(包括shell)通常使用隱藏檔案來儲存配置資訊。
ls -a //顯示當前目錄的下所有檔案
乙個點號(.)表示當前目錄,兩個點號表示(..)上一層目錄。
一般情況下,每個linux程式執行時,都會建立三個檔案流(三個檔案):
(1)標準輸入流(stdin):stdin的檔案描述符為0,linux程式預設從stdin讀取資料。
(2)標準輸出流(stdout):stdout的檔案描述符為1,linux程式預設向stdout輸出資料。
(3)標準錯誤流(stderr):stderr的檔案描述符為2,linux程式會向stderr流中寫入錯誤資訊。
4 檔案基本管理
命令 說明touch 檔案路徑 如果是要使用空格,可以使用雙引號包裹路徑,不能使用表示根路徑的 符號。第一次touch乙個檔案如果檔案不存在會自動建立,如果已經建立,會修改該檔案的最後修改時間 命令說明 cat用來檢視內容較少的檔案,選項加上 n 可以為內容新增行號。不太適合長檔案。tac反向檢視檔...
linux學習筆記4 檔案鏈結
類似windows快捷方式,提供指向實際檔案的通道,可以通過符號鏈結來讀 寫和執行檔案 ln s 鏈結指向檔案 鏈結名 link symbolic 鏈結 符號 可以為任意檔案建立符號鏈結 搞懂檔案怎麼儲存的 inode區 data block區 inode區 inode number 檔案其他屬性,...
Linux基礎(4) 檔案處理
linux命令格式 命令 選項 引數 目錄 判斷乙個目標是目錄還是檔案時,用ls l 檢視 檢視第乙個字元 表示檔案 d 表示目錄 l 表示軟連線檔案 快捷方式 b 表示裝置檔案,提供儲存的介面裝置 c 表示裝置檔案,提供序列的介面裝置 鍵盤,滑鼠 mkdir 建立目錄 1 複製檔案 cpcp ab...