更新時間:2020-03-12 來源:黑馬程序員 瀏覽量:
學習目標
1、了解文件命名規則和工作中的建議命名規則
2、會創建和刪除目錄mkdir/rmdir
3、會創建和刪除文件touch/rm
4、了解復制cp和移動mv的區別會使用tar命令進行壓縮和解壓縮
5、掌握VIM的保存退出wq和不保存強制退出q!掌握VIM的快捷鍵yy,dd,gg,G,u
6、會使用tail命令查看文件
7、會使用find命令按文件名稱查找文件
本文目錄
除了字符“/”之外,所有的字符都可以使用,但是要注意,在目錄名或文件名中,不建議使用某些特殊字符,例如, <、>、?、* 等,盡量避免使用。
如果一個文件名中包含了特殊字符,例如空格,那么在訪問這個文件時就需要使用引號將文件名括起來。
建議文件命名規則:
由于linux嚴格區分大小寫,所以盡量都用小寫字母
如果必須對文件名進行分割,建議使用"_",例如:itheima_bj_2020.log
a.txt
001.txt
002.txt
tongxunlu.txt
tongxunlu_bj_caiwu.txt
目錄名或文件名的長度不能超過 255 個字符
Linux目錄名或文件名是區分大小寫的。如 itheima、ITheima、yunwei 和 Yunwei ,是互不相同的目錄名或文件名。
不要使用字符大小寫來區分不同的文件或目錄。
建議文件名一律使用小寫字母
Linux文件的擴展名對 Linux 操作系統沒有特殊的含義,Linux 系統并不以文件的擴展名開分區文件類型。例如,itheima.exe 只是一個文件,其擴展名 .exe 并不代表此文件就一定是可執行的。
在Linux系統中,文件擴展名的用途為了使運維人員更好的區分不同的文件類型。
在日常工作中,我們經常需要對Linux的文件或目錄進行操作,常見操作包括新建,刪除,更改,查看,復制,移動等。
在實際應用中,與目錄相關的操作主要有兩個:創建目錄與刪除目錄
① mkdir創建目錄
命令: mkdir (make directory,創建目錄)
作用:創建目錄
語法:#mkdir [參數選項] 路徑(包含目錄名)
常見參數:
-p:遞歸創建所有目錄,如果想創建多層不存在的路徑,可以使用-p參數實現。-p表示parents,父級的意思
用法一:mkdir 不加參數,路徑(需要包含目錄名稱)
示例代碼:
#mkdir /usr/local/nginx
含義:在/usr/local目錄下,創建一個文件夾名為nginx
特別注意:mkdir命令默認不能隔級創建目錄,必須要求要創建的目錄所在的目錄一定要存在
用法二:mkdir 加-p參數,路徑(需要包含目錄名稱)
用法三:mkdir 路徑1 路徑2 路徑3
示例代碼:
#mkdir /usr/local/a /usr/local/b /usr/local/c
含義:在/usr/local目錄下,同時創建a,b,c文件夾
mkdir命令總結
問題:一臺剛剛安裝好的Centos系統,小明想建立/xiaoming/zuoye/shuxue,應該使用mkdir還是mkdir -p?
答案A mkdir
答案B mkdir -p
② 刪除目錄
命令: rmdir(remove directory縮寫)
作用:刪除空目錄
語法:#rmdir [參數選項] 路徑(包含目錄名)
常見參數:
-p:遞歸刪除所有空目錄
用法一:rmdir 不加參數,路徑(需要包含目錄名稱)
示例代碼:
#rmdir /usr/local/nginx
用法二:rmdir 路徑1 路徑2 路徑3
示例代碼:
#rmdir /usr/local/a /usr/local/b /usr/local/c
含義:同時刪除a,b,c三個空目錄
用法三:rmdir -p 路徑(需要包含目錄名稱)
示例代碼:
#rmdir -p itheima/tomcat
含義:遞歸刪除目錄,刪除tomcat和itheima目錄
首先刪除子目錄,刪除成功后,刪除上級目錄,直至結束。
rmdir命令總結
在實際應用中,與文件相關的操作主要有兩個:創建文件與刪除文件
① 創建文件
命令:touch
作用:創建文件
語法:# touch 文件路徑 [文件路徑2 文件路徑3 …]
用法一:touch 路徑(包含文件名)
示例代碼:
#touch readme.txt
含義:在當前路徑下創建一個文件 readme.txt
用法二:touch 路徑1(包含文件名) 路徑2(包含文件名) 路徑3(包含文件名)
示例代碼:
#touch 1.txt 2.txt 3.txt
含義:在當前路徑下創建1.txt 2.txt 3.txt三個文件
用法三(了解):touch 路徑1(包含文件名){1..n}
示例代碼:
#touch {1..5}.txt
含義:在當前路徑下創建1.txt 2.txt 3.txt 4.txt 5.txt三個文件
其中
1表示開始的數字
..表示連續的
5表示結束的數字
touch命令總結
#touch readme.txt 在當前目錄下創建文件
#touch /readme.txt 在根目錄下創建文件
② 刪除文件
命令:rm(remove縮寫)
作用:刪除文件或文件夾
語法:rm [參數選項] 文件或文件夾
選項:-r :遞歸刪除,主要用于刪除目錄,可刪除指定目錄及包含的所有內容,包括所有子目錄和文件-f :強制刪除,不提示任何信息。操作前一定要慎重!!!
用法一:rm 路徑(包含文件名)
示例代碼:
#rm readme.txt
含義:刪除當前路徑下文件 readme.txt
提示信息:remove regular empty file 'readme.txt' ?
用法二:rm -r 路徑(通常為目錄名)
示例代碼:
#rm -r itheima
含義:刪除當前文件夾下的itheima文件夾及其包含的所有子文件夾/文件
提示信息:descend into directory 'itheima/'?
含義:是否進入itheima目錄?
rm命令總結
#rm readme.txt 帶確認的刪除文件
#rm -r shop 帶確認的刪除目錄
#rm -rf shop 不帶確認刪除目錄及其所有子目錄和文件
① 復制操作
命令:cp (copy縮寫,復制操作)
作用:復制文件/文件夾到指定的位置
語法:#cp [參數選項] 源路徑(含文件名) 目標路徑(如不指定文件名,則文件名不變)
常見參數:-r:recursion,遞歸,用于復制目錄
用法一:cp 源路徑 目標路徑(不指定文件名)
示例代碼:
#cp /root/itheima.txt /usr/local/
含義:將/root目錄下的itheima.txt文件拷貝到/usr/local下,文件名不變
用法二:cp 源路徑 目標路徑(指定文件名)
示例代碼:
#cp /root/itheima.txt /usr/local/heimayunwei.txt
含義:將/root目錄下的itheima.txt文件拷貝到/usr/local下,重命名為heimayunwei.txt
用法三:cp -r 源路徑(包含目錄名) 目標路徑
示例代碼:
#cp -r /root/chuanzhiboke /usr/local/
含義:將/root目錄下的chuanzhiboke目錄完整拷貝到/usr/local下
cp命令總結
#cp readme.txt /usr/local/ 當前目錄下的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,移動,剪切)
作用:可以在不同的目錄之間移動文件或目錄,也可以對文件和目錄進行重命名
語法:#mv [參數] 源文件 目標路徑(不指定文件名)
mv與cp的區別:
☆ mv 與 cp 命令不一樣,不管是針對文件還是針對文件夾都不需要加類似 -r 的選項。
☆ 默認在移動的過程中文檔名稱名稱是不變的,變的是路徑
用法一:mv 源文件 目標路徑(不指定文件名)
示例代碼:
#mv readme.txt /usr/local/
含義:將當前目錄下的readme.txt文件移動到/usr/local下,文件名不變
③ 重命名操作
命令:mv (move,移動,剪切)
語法:#mv [參數] 源文件 目標路徑(指定文件名)
用法三:mv 當前文件名 新文件名
示例代碼:
#mv itheima.txt heimacxy.txt
含義:將當前目錄下的itheima.txt文件重命名成 heimacxy.txt
前面我們說過,默認情況下文件名稱不變,但如果我們指定目標文件名稱,就變成了重命名操作。
用法四:mv 當前目錄名 新目錄名
示例代碼:
#mv shop shopping
含義:將當前目錄下的shop目錄重命名成 shopping
mv命令總結
#mv readme.txt /tmp/ 移動當前目錄下的readme.txt 到 /tmp目錄下,文件名不變
#mv /root/shop /tmp 移動root目錄下的 shop目錄 到 /tmp目錄下
#mv hello.txt readme.txt
#mv /root/shop1 /usr/local/shop2
新建目錄的時候,不要加點,或者說,不要建立一個類似 shop.txt這樣的目錄
打包,指的是一個文件或目錄的集合,而這個集合被存儲在一個文件中。歸檔文件沒有經過壓縮,占用的空間是其中所有文件和目錄的總和。
1.txt 5MB
2.txt 10MB
3.txt 20MB
123.tar 35MB
壓縮文件也是一個文件和目錄的集合,且這個集合也被存儲在一個文件中,但它們的不同之處在于,壓縮文件所占用的磁盤空間比集合中所有文件大小的總和要小。
123.tar.gz 不是35MB,是壓縮后的大小。
1)打包
命令:tar
作用:將多個文件打包成一個文件
語法:tar 選項 打包文件名 要打包的文件或目錄
常見參數:
-c,create 創建的意思
-v,顯示打包文件過程
-f,指定打包的文件名,此參數是必須加的。
-u,update縮寫,更新原打包文件中的文件(了解)
-t,查看打包的文件內容(了解)
注意:
在使用 tar 命令指定選項時可以不在選項前面輸入“-”。例如,使用“cvf”選項和 “-cvf”起到的作用一樣。使用 tar 命令歸檔的包通常稱為 tar 包(tar 包文件都是以“.tar”結尾的)。
示例代碼:
#tar -cvf abc.tar a.txt b.txt c.txt
含義:將當前目錄下的a.txt b.txt c.txt 打包成abc.tar文件,大小是三個文件的總合重點掌握CVF就可以了
用法二:tar -uf 現有包文件名 要追加的文件
示例代碼:
#tar -uf abc.tar d.txt
含義:將當前目錄下的d.txt 追加到abc.tar文件,大小是四個文件的總合
用法三:tar -tf 包文件名
示例代碼:
#tar -tf abc.tar
含義:查看abc.tar文件內容
2)打包并壓縮(重點)
Linux下,常用的壓縮工具有很多,比如 gzip、zip、bzip2、xz 等
tar 在打包的時候,是支持壓縮的,gzip 、bzip2 、xz 壓縮工具都可以在 tar 打包文件中使用。
命令:tar
作用:將多個文件打包并壓縮成一個文件,其實就是tar命令的三個壓縮參數
語法:tar 選項 打包文件名 要壓縮的文件或目錄
常見參數:
-z,壓縮為.gz格式
-j,壓縮為.bz2格式
-J,壓縮為.xz格式
-c,create 創建的意思
-x,解壓縮
-v,顯示打包文件過程
-f,file指定打包的文件名,此參數是必須加的。
-u,update縮寫,更新原打包文件中的文件(了解)
-t,查看打包的文件內容(了解)
替換c
替換f
注意:此處打包后的文件名叫做 abc.tar.gz,其中.gz表示使用gzip壓縮的tar文件,目的是方便運維人員識別文件
3)解壓
解壓的時候,把壓縮命令中的 c 換成 x 即可
1)zip壓縮
命令:zip
作用:兼容類unix與windows,可以壓縮多個文件或目錄
用法一:文件壓縮
用法一:zip 壓縮后的文件名 要壓縮的文件(一個或多個)
命令:unzip
作用:解壓文件
語法:unzip 要解壓的壓縮文件 [-d] 解壓目錄
選項:-d,directory縮寫,代表解壓文件到指定目錄下
用法一:解壓到當前目錄
用法二:解壓到指定目錄
zip命令總結
zip是壓縮
unzip是解壓縮
Vim文本編輯器,是由 vi 發展演變過來的文本編輯器,使用簡單、功能強大、是 Linux 眾多發行版的默認文本編輯器
vi(visual editor)編輯器通常被簡稱為vi,它是Linux和Unix系統上最基本的文本編輯器,類似于Windows系統下的notepad(記事本)編輯器。
Vim(Vi improved)是vi編輯器的加強版,比vi更容易使用。vi的命令幾乎全部都可以在vim上使用。
Centos通常都已經默認安裝好了 vi 或 Vim 文本編輯器
當命令行中輸入“Vim”顯示如下 所示的畫面時,視為 Vim 安裝成功
如果在命令行模式下輸入“vim”,輸出結果為“Command not found”,則表示此系統中未安裝 Vim。
錯誤信息:command not found...
含義:找不到這條命令,通常表示沒有安裝這條命令或者可能敲錯了命令
如果沒有安裝,可通過以下命令進行安裝
#yum install vim
后面會詳細介紹關于yum的使用,這里大家默認都已經安裝了vim。
Vim 中存在四種模式:
命令模式
編輯模式(輸入/插入模式)
可視化模式
末行模式(尾行模式)
①命令模式:使用VIM編輯器時,默認處于命令模式。在該模式下可以移動光標位置,可以通過快捷鍵對文件內容進行復制、粘貼、刪除等操作。
②編輯模式:在該模式下可以對文件的內容進行編輯
③末行模式:可以在末行輸入命令來對文件進行查找、替換、保存、退出等操作
④可視化模式:可以做一些列選操作
四種模式之間的關系:
命令:vim
作用:編輯文件
語法:vim 文件名
在任何模式下,都可以按兩下ESC回到命令模式,在命令模式輸入:wq 按回車鍵
在任何模式下,都可以按兩下ESC回到命令模式,在命令模式輸入:q! 按回車鍵
☆ 光標移動到首與尾
光標移動到文件第一行的行首,按鍵: gg
光標移動到文件最后一行的行首,按鍵: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)
☆ 快速定位到指定行(重點)
數字 + G
150G
注意:常用于錯誤定位
#vim /var/log/boot.log-20200219
① 復制光標所在行
按鍵:yy
粘貼:在想要粘貼的地方按下p 鍵【將粘貼在光標所在行的下一行】,如果想粘貼在光標所在行之前,則使用P鍵
② 以光標所在行為準(包含當前行),向下復制指定的行數按鍵:數字yy,如5yy
#vim 1.txt 在其中輸入如下,可以用來測試5yy,比較清晰
① 剪切/刪除光標所在行
按鍵:dd (刪除之后下一行上移)
注意:dd 嚴格意義上說是剪切命令,但是如果剪切了不粘貼就是刪除的效果。
② 剪切/刪除光標所在行為準(包含當前行),向下刪除/剪切指定的行
按鍵:數字dd (刪除之后下一行上移)
③ 剪切/刪除光標所在的當前行(光標所在位置)之后的內容,但是刪除之后下一行不上移
按鍵:D (刪除之后當前行會變成空白行)
撤銷:u(undo)
恢復:ctrl + r 恢復(取消)之前的撤銷操作【重做,redo】
進入方式:由命令模式進入,按下: 或者/ (表示查找)即可進入末行模式
退出方式:
① 按下Esc鍵
② 連按 2 次Esc鍵
③ 刪除末行全部輸入字符
那末行模式有哪些作用?我們能使用末行模式做什么呢?
① 保存操作(write)
輸入: :w 保存文件 (了解)
輸入: :w 路徑 另存為(了解)
② 退出(quit)
輸入: :q 退出文件(了解)
默認情況下,退出的時候需要對已經進行修改的文件進行保存:w ,然后才能退出
③ 保存并退出(掌握,常用)
輸入: :wq 保存并且退出
④ 強制(!)(掌握,常用)
輸入: :q! 表示強制退出,剛才做的修改操作不做保存
備注:以后我們在更改系統配置文件時,很多時候不想保存之前的更改,甚至我們只想查看,沒想更改。這時候一律使用q!退出,可以保證我們的文件不被誤更改
⑤ 搜索/查找
輸入: /關鍵詞,再按下回車 【按下/也是進入末行模式的方式之一】
在搜索結果中切換上/下一個結果:N/n (大寫N代表上一個結果,小寫n代表next)
如果需要取消高亮,則需要在末行模式中輸入: :noh 【no highlight】
⑥替換(了解)
通常在修改配置文件的時候,不建議大家批量替換,避免替換了一些自己不知道的內容
:s/搜索的關鍵詞/新的內容 替換光標所在行的第一處符合條件的內容(只替換1次)
:s/搜索的關鍵詞/新的內容/g 替換光標所在行的全部符合條件的內容
:%s/搜索的關鍵詞/新的內容 替換整個文檔中每行第一個符合條件的內容
:%s/搜索的關鍵詞/新的內容/g 替換整個文檔中所有符合條件的內容
⑦ 顯示行號
輸入: :set nu ,nu代表number
如果想取消顯示,則輸入: :set nonu
⑧ set paste與set nopaste(了解)
為什么要使用paste模式?
問題:在終端Vim中粘貼代碼時,發現插入的代碼會有多余的縮進,而且會逐行累加。原因是終端把粘貼的文本存入鍵盤緩存(Keyboard Buffer)中,Vim則把這些內容作為用戶的鍵盤輸入來處理。導致在遇到換行符的時候,如果Vim開啟了自動縮進,就會默認的把上一行縮進插入到下一行的開頭,最終使代碼變亂。
在粘貼數據之前,輸入下面命令開啟paste模式
:set paste
粘貼完畢后,輸入下面命令關閉paste模式
:set nopaste
按字母i進入編輯模式,按ESC鍵退出編輯模式,回到命令模式
按鍵:ctrl + v(可視塊)或V(可視行)或v(可視),然后按下↑ ↓ ← →方向鍵來選中需要
復制的區塊,按下y 鍵進行復制(不要按下yy),最后按下p 鍵粘貼
退出可視模式按下Esc
a.首先按esc進入命令行模式下,按下Ctrl + v,進入列(也叫區塊)模式;
b.在行首使用上下鍵選擇需要注釋的多行;
c.按下鍵盤(大寫)“I”鍵,進入插入模式;
d.然后輸入注釋符(“#”);
e.最后按 兩下“Esc”鍵。
a.首先按esc進入命令行模式下,按下Ctrl + v, 進入列模式;
b.選定要取消注釋的多行的第一列
c.按del鍵即可
之前說過vim 是vi 的升級版本,其中比較典型的區別就是vim 更加適合coding,因為vim比vi 多一個代碼著色的功能,這個功能主要是為程序員提供編程語言升的語法顯示效果,如下:
在實際應用中,我們如何控制著色顯示與否?
syntax:語法,臨時調整
開啟顯示: :syntax on
關閉顯示: :syntax off
什么是異常退出:在編輯文件之后并沒有正常的去wq(保存退出),而是遇到突然關閉終端或者斷電的情況,則會顯示下面的效果,這個情況稱之為異常退出:
解決辦法:將交換文件(在編程過程中產生的臨時文件)刪除掉即可【在上述提示界面按下D 鍵,或者使用rm 指令刪除交換文件】
回顧:在vim中,退出正在編輯的文件可以使用:q 或者:wq
除了上面的這個語法之外,vim 還支持另外一個保存退出(針對內容)方法:x
說明:
① :x 在文件沒有修改的情況下,表示直接退出(等價于:q),在文件修改的情況下表示保存并退出(:wq)
② 如果文件沒有被修改,但是使用wq 進行退出的話,則文件的修改時間會被更新;但是如果文件
猜你喜歡:
linux云計算+運維開發課程