Linux學習之旅(4) 檔案的基本操作

2021-09-11 02:29:13 字數 4189 閱讀 3011

內容整理自菜鳥教程和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...