首頁技術(shù)文章正文

linux入門教程:linux文件管理命令匯總

更新時間:2020-03-12 來源:黑馬程序員 瀏覽量:

學(xué)習(xí)目標(biāo)

1、了解文件命名規(guī)則和工作中的建議命名規(guī)則

2、會創(chuàng)建和刪除目錄mkdir/rmdir

3、會創(chuàng)建和刪除文件touch/rm

4、了解復(fù)制cp和移動mv的區(qū)別會使用tar命令進(jìn)行壓縮和解壓縮

5、掌握VIM的保存退出wq和不保存強(qiáng)制退出q!掌握VIM的快捷鍵yy,dd,gg,G,u

6、會使用tail命令查看文件

7、會使用find命令按文件名稱查找文件



本文目錄


一、文件命名規(guī)則

1、可以使用哪些字符?

除了字符“/”之外,所有的字符都可以使用,但是要注意,在目錄名或文件名中,不建議使用某些特殊字符,例如, <、>、?、* 等,盡量避免使用。

如果一個文件名中包含了特殊字符,例如空格,那么在訪問這個文件時就需要使用引號將文件名括起來。

建議文件命名規(guī)則:

由于linux嚴(yán)格區(qū)分大小寫,所以盡量都用小寫字母

如果必須對文件名進(jìn)行分割,建議使用"_",例如:itheima_bj_2020.log

a.txt

001.txt

002.txt

tongxunlu.txt

tongxunlu_bj_caiwu.txt

2、文件名的長度

目錄名或文件名的長度不能超過 255 個字符

3、Linux文件名大小寫

Linux目錄名或文件名是區(qū)分大小寫的。如 itheima、ITheima、yunwei 和 Yunwei ,是互不相同的目錄名或文件名。

不要使用字符大小寫來區(qū)分不同的文件或目錄。

建議文件名一律使用小寫字母

4、Linux文件擴(kuò)展名

Linux文件的擴(kuò)展名對 Linux 操作系統(tǒng)沒有特殊的含義,Linux 系統(tǒng)并不以文件的擴(kuò)展名開分區(qū)文件類型。例如,itheima.exe 只是一個文件,其擴(kuò)展名 .exe 并不代表此文件就一定是可執(zhí)行的。

在Linux系統(tǒng)中,文件擴(kuò)展名的用途為了使運(yùn)維人員更好的區(qū)分不同的文件類型。

二、文件管理命令

在日常工作中,我們經(jīng)常需要對Linux的文件或目錄進(jìn)行操作,常見操作包括新建,刪除,更改,查看,復(fù)制,移動等。

1、目錄創(chuàng)建/刪除

在實(shí)際應(yīng)用中,與目錄相關(guān)的操作主要有兩個:創(chuàng)建目錄與刪除目錄

① mkdir創(chuàng)建目錄

命令: mkdir (make directory,創(chuàng)建目錄)

作用:創(chuàng)建目錄

語法:#mkdir [參數(shù)選項(xiàng)] 路徑(包含目錄名)

常見參數(shù):

-p:遞歸創(chuàng)建所有目錄,如果想創(chuàng)建多層不存在的路徑,可以使用-p參數(shù)實(shí)現(xiàn)。-p表示parents,父級的意思

用法一:mkdir 不加參數(shù),路徑(需要包含目錄名稱)

示例代碼:

#mkdir /usr/local/nginx

含義:在/usr/local目錄下,創(chuàng)建一個文件夾名為nginx

特別注意:mkdir命令默認(rèn)不能隔級創(chuàng)建目錄,必須要求要創(chuàng)建的目錄所在的目錄一定要存在

用法二:mkdir 加-p參數(shù),路徑(需要包含目錄名稱)

示例代碼:
#mkdir -p /usr/local/itheima/tomcat
含義:在/usr/local目錄下,同時創(chuàng)建itheima文件夾和itheima下的子文件夾tomcat

linux文件管理02

錯誤信息:cannot create directory '/usr/local/itheima/tomcat':No such file or directory
含義:不能建立目錄'XXX':沒有文件或文件夾

用法三:mkdir 路徑1 路徑2 路徑3

示例代碼:

#mkdir /usr/local/a /usr/local/b /usr/local/c

含義:在/usr/local目錄下,同時創(chuàng)建a,b,c文件夾

linux文件管理03


mkdir命令總結(jié)

#mkdir /mydata    在根目錄下建立mydata文件夾
#mkdir -p /itcast/tbd    一次性建立多級文件夾/itcast/tbd
#mkdir /tbd /jinyanlong /shunyi

問題:一臺剛剛安裝好的Centos系統(tǒng),小明想建立/xiaoming/zuoye/shuxue,應(yīng)該使用mkdir還是mkdir -p?

答案A mkdir

答案B mkdir -p

② 刪除目錄

命令: rmdir(remove directory縮寫)

作用:刪除空目錄

語法:#rmdir [參數(shù)選項(xiàng)] 路徑(包含目錄名)

常見參數(shù):

-p:遞歸刪除所有空目錄

用法一:rmdir 不加參數(shù),路徑(需要包含目錄名稱)

示例代碼:

#rmdir /usr/local/nginx

linux文件管理04

用法二:rmdir 路徑1 路徑2 路徑3

示例代碼:

#rmdir /usr/local/a /usr/local/b /usr/local/c

含義:同時刪除a,b,c三個空目錄

linux文件管理05


用法三:rmdir -p 路徑(需要包含目錄名稱)

示例代碼:

#rmdir -p itheima/tomcat

含義:遞歸刪除目錄,刪除tomcat和itheima目錄

首先刪除子目錄,刪除成功后,刪除上級目錄,直至結(jié)束。

linux文件管理06

rmdir命令總結(jié)

#rmdir /itcast   刪除根目錄下的itcast目錄
#rmdir /itcast /jinyanlong /shunyi   同時刪除根目錄下的itcast jinyanlong hunyi
#rmdir -p /itcast/heima   一次性刪除heima和他的上級目錄itcast

2、文件創(chuàng)建/刪除

在實(shí)際應(yīng)用中,與文件相關(guān)的操作主要有兩個:創(chuàng)建文件與刪除文件

① 創(chuàng)建文件

命令:touch

作用:創(chuàng)建文件

語法:# touch 文件路徑 [文件路徑2 文件路徑3 …]

用法一:touch 路徑(包含文件名)

示例代碼:

#touch readme.txt

含義:在當(dāng)前路徑下創(chuàng)建一個文件 readme.txt

linux文件管理07


用法二:touch 路徑1(包含文件名) 路徑2(包含文件名) 路徑3(包含文件名)

示例代碼:

#touch 1.txt 2.txt 3.txt

含義:在當(dāng)前路徑下創(chuàng)建1.txt 2.txt 3.txt三個文件

linux文件管理09


用法三(了解):touch 路徑1(包含文件名){1..n}

示例代碼:

#touch {1..5}.txt

含義:在當(dāng)前路徑下創(chuàng)建1.txt 2.txt 3.txt 4.txt 5.txt三個文件

其中

1表示開始的數(shù)字

..表示連續(xù)的

5表示結(jié)束的數(shù)字

linux 文件管理09

touch命令總結(jié)

#touch readme.txt    在當(dāng)前目錄下創(chuàng)建文件
#touch /readme.txt     在根目錄下創(chuàng)建文件

#touch 1.txt 2.txt 3.txt     在當(dāng)前同時創(chuàng)建 1.txt 2.txt 3.txt
#touch /usr/local/1.txt /usr/local/2.txt /usr/local/3.txt
在/usr/local下創(chuàng)建1.txt 2.txt 3.txt
#touch /usr/local/1.txt 2.txt 3.txt
#touch {1..6}.log
在對當(dāng)前目錄下,創(chuàng)建 1到6.txt
1.txt 2.txt 3.txt 4.txt 5.txt 6.txt


② 刪除文件

命令:rm(remove縮寫)

作用:刪除文件或文件夾

語法:rm [參數(shù)選項(xiàng)] 文件或文件夾

選項(xiàng):-r :遞歸刪除,主要用于刪除目錄,可刪除指定目錄及包含的所有內(nèi)容,包括所有子目錄和文件-f :強(qiáng)制刪除,不提示任何信息。操作前一定要慎重!!!

用法一:rm 路徑(包含文件名)

示例代碼:

#rm readme.txt

含義:刪除當(dāng)前路徑下文件 readme.txt

linux文件管理10

提示信息:remove regular empty file 'readme.txt' ?

含義:是否要刪除普通的空文件'readme.txt'?

用法二:rm -r 路徑(通常為目錄名)

示例代碼:

#rm -r itheima

含義:刪除當(dāng)前文件夾下的itheima文件夾及其包含的所有子文件夾/文件

linux文件管理11


提示信息:descend into directory 'itheima/'?

含義:是否進(jìn)入itheima目錄?

用法三:rm -rf 路徑(通常為目錄名)
示例代碼:
#rm -rf itheima
含義:強(qiáng)制刪除當(dāng)前文件夾下的itheima文件夾及其包含的所有子文件夾/文件
linux文件管理11

rm命令總結(jié)

#rm readme.txt    帶確認(rèn)的刪除文件
#rm -r shop    帶確認(rèn)的刪除目錄
#rm -rf shop    不帶確認(rèn)刪除目錄及其所有子目錄和文件

3、復(fù)制與剪切

① 復(fù)制操作

命令:cp (copy縮寫,復(fù)制操作)

作用:復(fù)制文件/文件夾到指定的位置

語法:#cp [參數(shù)選項(xiàng)] 源路徑(含文件名) 目標(biāo)路徑(如不指定文件名,則文件名不變)

常見參數(shù):-r:recursion,遞歸,用于復(fù)制目錄

用法一:cp 源路徑 目標(biāo)路徑(不指定文件名)

示例代碼:

#cp /root/itheima.txt /usr/local/

含義:將/root目錄下的itheima.txt文件拷貝到/usr/local下,文件名不變

linux文件管理13


用法二:cp 源路徑 目標(biāo)路徑(指定文件名)

示例代碼:

#cp /root/itheima.txt /usr/local/heimayunwei.txt

含義:將/root目錄下的itheima.txt文件拷貝到/usr/local下,重命名為heimayunwei.txt

linux文件管理14

用法三:cp -r 源路徑(包含目錄名) 目標(biāo)路徑

示例代碼:

#cp -r /root/chuanzhiboke /usr/local/

含義:將/root目錄下的chuanzhiboke目錄完整拷貝到/usr/local下

linux文件管理15

cp命令總結(jié)

#cp readme.txt /usr/local/    當(dāng)前目錄下的readme.txt 拷貝到/usr/local下

#cp readme.txt /usr/local/readme.txt

#cp readme.txt /usr/local/readhis.txt

#cp readme.txt readme.aaa

#cp -r /root/chuanzhiboke /usr/local/

② 剪切操作

命令:mv (move,移動,剪切)

作用:可以在不同的目錄之間移動文件或目錄,也可以對文件和目錄進(jìn)行重命名

語法:#mv [參數(shù)] 源文件 目標(biāo)路徑(不指定文件名)

mv與cp的區(qū)別:

☆ mv 與 cp 命令不一樣,不管是針對文件還是針對文件夾都不需要加類似 -r 的選項(xiàng)。

☆ 默認(rèn)在移動的過程中文檔名稱名稱是不變的,變的是路徑

用法一:mv 源文件 目標(biāo)路徑(不指定文件名)

示例代碼:

#mv readme.txt /usr/local/

含義:將當(dāng)前目錄下的readme.txt文件移動到/usr/local下,文件名不變

linux文件管理16


③ 重命名操作

命令:mv (move,移動,剪切)

語法:#mv [參數(shù)] 源文件 目標(biāo)路徑(指定文件名)

用法三:mv 當(dāng)前文件名 新文件名

示例代碼:

#mv itheima.txt heimacxy.txt

含義:將當(dāng)前目錄下的itheima.txt文件重命名成 heimacxy.txt

前面我們說過,默認(rèn)情況下文件名稱不變,但如果我們指定目標(biāo)文件名稱,就變成了重命名操作。

linux文件管理18

用法四:mv 當(dāng)前目錄名 新目錄名

示例代碼:

#mv shop shopping

含義:將當(dāng)前目錄下的shop目錄重命名成 shopping

linux文件管理19

在Linux 中重命名的命令也是mv,語法和移動語法一樣。區(qū)別在于重命名的話一般是路徑不變,名稱改變。而移動是名字不變,路徑變。


mv命令總結(jié)

#mv readme.txt /tmp/     移動當(dāng)前目錄下的readme.txt 到 /tmp目錄下,文件名不變

#mv /root/shop /tmp     移動root目錄下的 shop目錄 到 /tmp目錄下

#mv hello.txt readme.txt

#mv /root/shop1 /usr/local/shop2

新建目錄的時候,不要加點(diǎn),或者說,不要建立一個類似 shop.txt這樣的目錄


4、tar打包壓縮與解壓縮

打包,指的是一個文件或目錄的集合,而這個集合被存儲在一個文件中。歸檔文件沒有經(jīng)過壓縮,占用的空間是其中所有文件和目錄的總和。

1.txt 5MB

2.txt 10MB

3.txt 20MB

123.tar 35MB

壓縮文件也是一個文件和目錄的集合,且這個集合也被存儲在一個文件中,但它們的不同之處在于,壓縮文件所占用的磁盤空間比集合中所有文件大小的總和要小。

123.tar.gz 不是35MB,是壓縮后的大小。

1)打包

命令:tar

作用:將多個文件打包成一個文件

語法:tar 選項(xiàng) 打包文件名 要打包的文件或目錄

常見參數(shù):
    -c,create 創(chuàng)建的意思

    -v,顯示打包文件過程

    -f,指定打包的文件名,此參數(shù)是必須加的。

    -u,update縮寫,更新原打包文件中的文件(了解)

    -t,查看打包的文件內(nèi)容(了解)

注意:

在使用 tar 命令指定選項(xiàng)時可以不在選項(xiàng)前面輸入“-”。例如,使用“cvf”選項(xiàng)和 “-cvf”起到的作用一樣。使用 tar 命令歸檔的包通常稱為 tar 包(tar 包文件都是以“.tar”結(jié)尾的)。

用法一:tar -cvf 文件名 文件1 文件2 文件3

示例代碼:

#tar -cvf abc.tar a.txt b.txt c.txt

含義:將當(dāng)前目錄下的a.txt b.txt c.txt 打包成abc.tar文件,大小是三個文件的總合重點(diǎn)掌握CVF就可以了

linux文件管理20

用法二:tar -uf 現(xiàn)有包文件名 要追加的文件

示例代碼:

#tar -uf abc.tar d.txt

含義:將當(dāng)前目錄下的d.txt 追加到abc.tar文件,大小是四個文件的總合

linux文件管理21


用法三:tar -tf 包文件名

示例代碼:

#tar -tf abc.tar

含義:查看abc.tar文件內(nèi)容

linux文件管理21

2)打包并壓縮(重點(diǎn))

Linux下,常用的壓縮工具有很多,比如 gzip、zip、bzip2、xz 等

tar 在打包的時候,是支持壓縮的,gzip 、bzip2 、xz 壓縮工具都可以在 tar 打包文件中使用。

命令:tar

作用:將多個文件打包并壓縮成一個文件,其實(shí)就是tar命令的三個壓縮參數(shù)

語法:tar 選項(xiàng) 打包文件名 要壓縮的文件或目錄

常見參數(shù):
    -z,壓縮為.gz格式

    -j,壓縮為.bz2格式

    -J,壓縮為.xz格式

    -c,create 創(chuàng)建的意思

    -x,解壓縮

    -v,顯示打包文件過程

    -f,file指定打包的文件名,此參數(shù)是必須加的。

    -u,update縮寫,更新原打包文件中的文件(了解)

    -t,查看打包的文件內(nèi)容(了解)

替換c

替換f

linux文件管理22


注意:此處打包后的文件名叫做 abc.tar.gz,其中.gz表示使用gzip壓縮的tar文件,目的是方便運(yùn)維人員識別文件

用法二:tar -jcvf 文件名 文件1 文件2 文件3
示例代碼:
#tar -jcvf abc.tar.bz2 a.txt b.txt c.txt
含義:將當(dāng)前目錄下的a.txt b.txt c.txt 使用bz2壓縮打包成abc.tar.bz2文件,是壓縮后的大小
linux文件管理24

用法三:tar -Jcvf 文件名 文件1 文件2 文件3
示例代碼:
#tar -Jcvf abc.tar.xz a.txt b.txt c.txt
含義:將當(dāng)前目錄下的a.txt b.txt c.txt 使用xz壓縮打包成abc.tar.xz文件,是壓縮后的大小
linux文件管理26

注意:bz2,gzip,xz三種工具的壓縮比不同,實(shí)際工作中最常用的是gzip,換句話說,大家最常見到的壓縮打包文件是 .tar.gz


3)解壓

解壓的時候,把壓縮命令中的 c 換成 x 即可

用法一:tar -zxvf 文件名
示例代碼:
#tar -zxvf abc.tar.gz
含義:將abc.tar.gz文件,解壓縮

用法二:tar -jxvf 文件名
示例代碼:
#tar -jxvf abc.tar.bz2
含義:將abc.tar.bz2文件,解壓縮

用法三:tar -Jxvf 文件名
示例代碼:
#tar -Jxvf abc.tar.xz
含義:將abc.tar.xz文件,解壓縮

通用解壓縮參數(shù)(記住這個)

用法四:tar -xvf 文件名
示例代碼:
#tar -xvf abc.tar.xz
含義:系統(tǒng)將自動識別壓縮格式,并自動選擇相應(yīng)工具,解壓縮
linux文件管理27

5、zip壓縮與解壓縮(了解)

1)zip壓縮

命令:zip

作用:兼容類unix與windows,可以壓縮多個文件或目錄

語法:# zip [參數(shù)] 壓縮后的文件 需要壓縮的文件(可以是多個文件)
參數(shù)選項(xiàng):-r 遞歸壓縮(壓縮文件夾)
注意:zip壓縮默認(rèn)壓縮后的格式就是.zip,當(dāng)然也可以加后綴.zip,一般都加上



用法一:文件壓縮
用法一:zip 壓縮后的文件名 要壓縮的文件(一個或多個)

示例代碼:
#zip 1.zip 1.txt
含義:將1.txt 壓縮成1.zip
#zip 1dao4.zip 1.txt 2.txt 3.txt 4.txt
含義:將1.txt,2.txt,3.txt,4.txt四個文件壓縮成一個1dao4.zip文件
linux文件管理28
用法二:文件夾壓縮
linux文件管理29

2)unzip解壓縮

命令:unzip

作用:解壓文件

語法:unzip 要解壓的壓縮文件 [-d] 解壓目錄

選項(xiàng):-d,directory縮寫,代表解壓文件到指定目錄下

用法一:解壓到當(dāng)前目錄

linux文件管理30

用法二:解壓到指定目錄

linux文件管理31


zip命令總結(jié)

zip是壓縮

unzip是解壓縮

#zip 3.zip 3.txt
#unzip 3.zip
#unzip 3.zip -d /tmp/

三、VIM文件編輯器概述

Vim文本編輯器,是由 vi 發(fā)展演變過來的文本編輯器,使用簡單、功能強(qiáng)大、是 Linux 眾多發(fā)行版的默認(rèn)文本編輯器

1、vi編輯器

vi(visual editor)編輯器通常被簡稱為vi,它是Linux和Unix系統(tǒng)上最基本的文本編輯器,類似于Windows系統(tǒng)下的notepad(記事本)編輯器。

2、vi與Vim編輯器

Vim(Vi improved)是vi編輯器的加強(qiáng)版,比vi更容易使用。vi的命令幾乎全部都可以在vim上使用。

3、Vim編輯器安裝

Centos通常都已經(jīng)默認(rèn)安裝好了 vi 或 Vim 文本編輯器

當(dāng)命令行中輸入“Vim”顯示如下 所示的畫面時,視為 Vim 安裝成功

linux文件管理32


如果在命令行模式下輸入“vim”,輸出結(jié)果為“Command not found”,則表示此系統(tǒng)中未安裝 Vim。

linux文件管理33


錯誤信息:command not found...

含義:找不到這條命令,通常表示沒有安裝這條命令或者可能敲錯了命令

如果沒有安裝,可通過以下命令進(jìn)行安裝

#yum install vim

后面會詳細(xì)介紹關(guān)于yum的使用,這里大家默認(rèn)都已經(jīng)安裝了vim。

4、Vim編輯器四種工作模式

Vim 中存在四種模式:

    命令模式

    編輯模式(輸入/插入模式)

    可視化模式

    末行模式(尾行模式)

    ①命令模式:使用VIM編輯器時,默認(rèn)處于命令模式。在該模式下可以移動光標(biāo)位置,可以通過快捷鍵對文件內(nèi)容進(jìn)行復(fù)制、粘貼、刪除等操作。

    ②編輯模式:在該模式下可以對文件的內(nèi)容進(jìn)行編輯

    ③末行模式:可以在末行輸入命令來對文件進(jìn)行查找、替換、保存、退出等操作

    ④可視化模式:可以做一些列選操作

四種模式之間的關(guān)系:

linux文件管理35

四、Vim使用

1、Vim打開文件

命令:vim

作用:編輯文件

語法:vim 文件名

用法一:vim 文件名
示例代碼:
#vim 1.txt
含義:用vim編輯器,打開1.txt文件,如果1.txt文件不存在,則新建一個空文件1.txt,保存退出編輯器時會自動創(chuàng)建這個文件
linux文件管理36

2、Vim保存文件并退出

在任何模式下,都可以按兩下ESC回到命令模式,在命令模式輸入:wq 按回車鍵

linux文件管理37


3、Vim不保存文件并退出

在任何模式下,都可以按兩下ESC回到命令模式,在命令模式輸入:q! 按回車鍵

linux文件管理38

4、Vim命令模式操作(重點(diǎn))

4.1、光標(biāo)快速移動操作

☆ 光標(biāo)移動到首與尾

光標(biāo)移動到文件第一行的行首,按鍵: gg

光標(biāo)移動到文件最后一行的行首,按鍵:G [Capslk 再加 G 鍵] / [Shift + G 鍵]

#vim /var/log/boot.log-20200219

☆ 翻屏

向上 翻屏,按鍵: ctrl + b (before) 或 PgUp

向下 翻屏,按鍵: ctrl + f (after) 或 PgDn

向上翻半屏,按鍵: ctrl + u (up)

向下翻半屏,按鍵: ctrl + d (down)

☆ 快速定位到指定行(重點(diǎn))

數(shù)字 + G

150G

注意:常用于錯誤定位

#vim /var/log/boot.log-20200219

4.2、復(fù)制

① 復(fù)制光標(biāo)所在行

按鍵:yy

粘貼:在想要粘貼的地方按下p 鍵【將粘貼在光標(biāo)所在行的下一行】,如果想粘貼在光標(biāo)所在行之前,則使用P鍵

② 以光標(biāo)所在行為準(zhǔn)(包含當(dāng)前行),向下復(fù)制指定的行數(shù)按鍵:數(shù)字yy,如5yy

#vim 1.txt 在其中輸入如下,可以用來測試5yy,比較清晰

linux文件管理39



4.3、剪切/刪除

① 剪切/刪除光標(biāo)所在行

按鍵:dd (刪除之后下一行上移)

注意:dd 嚴(yán)格意義上說是剪切命令,但是如果剪切了不粘貼就是刪除的效果。

② 剪切/刪除光標(biāo)所在行為準(zhǔn)(包含當(dāng)前行),向下刪除/剪切指定的行

按鍵:數(shù)字dd (刪除之后下一行上移)

③ 剪切/刪除光標(biāo)所在的當(dāng)前行(光標(biāo)所在位置)之后的內(nèi)容,但是刪除之后下一行不上移

按鍵:D (刪除之后當(dāng)前行會變成空白行)

4.4、撤銷/恢復(fù)

撤銷:u(undo)

恢復(fù):ctrl + r 恢復(fù)(取消)之前的撤銷操作【重做,redo】

5、Vim末行模式操作(重點(diǎn))

5.1、進(jìn)入末行模式

進(jìn)入方式:由命令模式進(jìn)入,按下: 或者/ (表示查找)即可進(jìn)入末行模式

退出方式:

① 按下Esc鍵

② 連按 2 次Esc鍵

③ 刪除末行全部輸入字符

那末行模式有哪些作用?我們能使用末行模式做什么呢?

5.2、末行模式相關(guān)功能

① 保存操作(write)

輸入: :w 保存文件 (了解)

輸入: :w 路徑 另存為(了解)

linux文件管理40


② 退出(quit)

輸入: :q 退出文件(了解)

默認(rèn)情況下,退出的時候需要對已經(jīng)進(jìn)行修改的文件進(jìn)行保存:w ,然后才能退出

③ 保存并退出(掌握,常用)

輸入: :wq 保存并且退出

linux文件管理41

④ 強(qiáng)制(!)(掌握,常用)

輸入: :q! 表示強(qiáng)制退出,剛才做的修改操作不做保存

linux文件管理42


備注:以后我們在更改系統(tǒng)配置文件時,很多時候不想保存之前的更改,甚至我們只想查看,沒想更改。這時候一律使用q!退出,可以保證我們的文件不被誤更改

⑤ 搜索/查找

輸入: /關(guān)鍵詞,再按下回車 【按下/也是進(jìn)入末行模式的方式之一】

在搜索結(jié)果中切換上/下一個結(jié)果:N/n (大寫N代表上一個結(jié)果,小寫n代表next)

如果需要取消高亮,則需要在末行模式中輸入: :noh 【no highlight】

⑥替換(了解)

通常在修改配置文件的時候,不建議大家批量替換,避免替換了一些自己不知道的內(nèi)容

:s/搜索的關(guān)鍵詞/新的內(nèi)容 替換光標(biāo)所在行的第一處符合條件的內(nèi)容(只替換1次)

linux文件管理41


:s/搜索的關(guān)鍵詞/新的內(nèi)容/g 替換光標(biāo)所在行的全部符合條件的內(nèi)容

linux文件管理48

:%s/搜索的關(guān)鍵詞/新的內(nèi)容 替換整個文檔中每行第一個符合條件的內(nèi)容

:%s/搜索的關(guān)鍵詞/新的內(nèi)容/g 替換整個文檔中所有符合條件的內(nèi)容

⑦ 顯示行號

輸入: :set nu ,nu代表number

linux文件管路45

如果想取消顯示,則輸入: :set nonu

linux文件管理46


⑧ set paste與set nopaste(了解)

為什么要使用paste模式?

問題:在終端Vim中粘貼代碼時,發(fā)現(xiàn)插入的代碼會有多余的縮進(jìn),而且會逐行累加。原因是終端把粘貼的文本存入鍵盤緩存(Keyboard Buffer)中,Vim則把這些內(nèi)容作為用戶的鍵盤輸入來處理。導(dǎo)致在遇到換行符的時候,如果Vim開啟了自動縮進(jìn),就會默認(rèn)的把上一行縮進(jìn)插入到下一行的開頭,最終使代碼變亂。

在粘貼數(shù)據(jù)之前,輸入下面命令開啟paste模式

:set paste

粘貼完畢后,輸入下面命令關(guān)閉paste模式

:set nopaste

6、編輯模式操作

6.1進(jìn)入和退出編輯模式

按字母i進(jìn)入編輯模式,按ESC鍵退出編輯模式,回到命令模式

7、可視化模式下復(fù)制

按鍵:ctrl + v(可視塊)或V(可視行)或v(可視),然后按下↑ ↓ ← →方向鍵來選中需要

復(fù)制的區(qū)塊,按下y 鍵進(jìn)行復(fù)制(不要按下yy),最后按下p 鍵粘貼

退出可視模式按下Esc

1).多行注釋:

a.首先按esc進(jìn)入命令行模式下,按下Ctrl + v,進(jìn)入列(也叫區(qū)塊)模式;

linux文件管理47


b.在行首使用上下鍵選擇需要注釋的多行;

linux文件管理48


c.按下鍵盤(大寫)“I”鍵,進(jìn)入插入模式;

linux文件管理49


d.然后輸入注釋符(“#”);

linux文件管理50


e.最后按 兩下“Esc”鍵。

linux文件管理51


2).刪除多行注釋:

a.首先按esc進(jìn)入命令行模式下,按下Ctrl + v, 進(jìn)入列模式;

b.選定要取消注釋的多行的第一列

linux文件管理52


c.按del鍵即可

8、Vim的一些實(shí)用功能

8.1、代碼著色

之前說過vim 是vi 的升級版本,其中比較典型的區(qū)別就是vim 更加適合coding,因?yàn)関im比vi 多一個代碼著色的功能,這個功能主要是為程序員提供編程語言升的語法顯示效果,如下:

#vim index.php
在文件中添加以下內(nèi)容:
<?php
echo 'hello world';
?>
末行模式輸入:syntax off和syntax on可看到效果

linux文件管理53


在實(shí)際應(yīng)用中,我們?nèi)绾慰刂浦@示與否?

syntax:語法,臨時調(diào)整

開啟顯示: :syntax on

關(guān)閉顯示: :syntax off

8.2、異常退出

什么是異常退出:在編輯文件之后并沒有正常的去wq(保存退出),而是遇到突然關(guān)閉終端或者斷電的情況,則會顯示下面的效果,這個情況稱之為異常退出:

linux文件管理54

解決辦法:將交換文件(在編程過程中產(chǎn)生的臨時文件)刪除掉即可【在上述提示界面按下D 鍵,或者使用rm 指令刪除交換文件】

linux文件管理56

8.3、退出方式

回顧:在vim中,退出正在編輯的文件可以使用:q 或者:wq

除了上面的這個語法之外,vim 還支持另外一個保存退出(針對內(nèi)容)方法:x

說明:

① :x 在文件沒有修改的情況下,表示直接退出(等價于:q),在文件修改的情況下表示保存并退出(:wq)

② 如果文件沒有被修改,但是使用wq 進(jìn)行退出的話,則文件的修改時間會被更新;但是如果文件


猜你喜歡:
linux云計(jì)算+運(yùn)維開發(fā)課程

分享到:
在線咨詢 我要報(bào)名
和我們在線交談!