天天看點

【Linux原理】第四章目錄和檔案管理(二)

在Linux系統中,絕大多數的配置檔案都是以普通文本格式儲存的,這些配置檔案決定着系統及相關服務,程式的運作特性。

一、檢視檔案内容。

1、cat指令---顯示并連接配接(concatenate)檔案的内容。在實際應用中更多的用于檢視檔案内容。如果需要檢視多個檔案的内容,可以添加多個檔案路徑,中間以空格隔開。格式為:

[root@lisi benet]# cat aaa.txt bbb.txt表示同時檢視aaa.txt和bbb。

2、more和less指令----分頁檢視檔案内容。當檔案中的内容過多時使用,便于我們從頭到尾仔細的閱讀檔案内容。

當使用more時會在左下角顯示整個檔案中的百分比,使用空格鍵可以向下翻一屏,按b向上翻一屏,按q退出并傳回到剛才的指令環境。但是這種方式,一旦翻到最後一頁将沒法向上翻會自動退出。

[root@lisi ~]# more /etc/httpd/conf/httpd.conf檢視網站配置檔案。隻要是以.conf結尾的東西都是配置檔案。

還可以結合管道符号“|”另外使用less時不會自動退出。

3、head和tail指令----檢視檔案開頭或末尾的部分内容。

Head是顯示檔案開頭的一部分内容;tail是顯示末尾的一部分内容。可以使用-n選項(n為具體行數)指定需要顯示的多少。若不指定預設隻顯示十行。例如:

[root@lisi ~]# head -4 /etc/passwd表示檢視使用者賬戶檔案,passwd是用來儲存使用者賬戶的檔案。

Tail指令通常用于檢視系統日志或者某些較新的記錄資訊。配合-f選項時,還可以跟蹤檔案末尾内容的動态更新。使用Ctrl+C終止。

二、統計和檢索檔案内容。

1、wc指令----統計檔案内容中的單詞數量(word count)、行數等。

 -l:統計檔案内容中的行數。

 -w:統計檔案内容中的單詞個數(以空格或者制表位作為分割)。

 -c:統計檔案内容中的位元組數。(注意wc隻統計檔案的内容)。

[root@lisi ~]# wc -l /etc/passwd表示統計出目前系統中所擁有的使用者賬戶數量。還可以跟管道符号進行合作顯示,例如:下面表示隻顯示

[root@lisi ~]# find /etc -name "*.conf" | wc -l多少行以.conf結尾的。

預設将統計指定檔案的行數l、單詞w、位元組c三個選項。

2、grep指令----檢索、過濾檔案内容。

用于在檔案中查找并顯示包含指定字元串的行,可以直接指定關鍵字元串作為查找條件(如“^word”表示以word開頭;“word$”表示以word結尾;“^#”表示以#号開頭;“^$”表示空行;)格式如下:

grep   [選項]  查找條件  目标檔案的位置

 -i:查找内容時忽略大小寫(ignore case)。

 -v:反轉查找(invert),即輸出與查找條件不符合的行。

[root@lisi]# grep -i "jis" /etc/php.ini表示忽略大小寫,在php.ini檔案中查找内容為“jis”的行。

注意:是查找檔案内容,路徑後面要跟明确的檔案,不是目錄。

在Linux系統字元界面中#号開頭的都是注釋文字,不起任何作用。是以在想很友好的檢視全文的情況下就會用到反轉查找“-v”。例:

[root@lisi ]# grep -v "^#" /etc/yum.conf | grep -v "^$"這是一條反轉查找的指令,前面是不顯示以#号開頭的意思;中間是目錄及檔案位置;然後輸出給管道符号後面的指令,表示不顯示空行。

三、備份與恢複文檔。

1、第一種壓縮和解壓縮工具gzip和gunzip指令。

使用gzip制作的壓縮檔案預設的擴充名為“.gz”制作時使用“-9”選項可以提高壓縮的比率。原始檔案不再保留。壓縮例如:

[root@lisi ~]# gzip install.log表示壓縮目前目錄下的install.log日志。

需要高壓縮的話加“-9”選項。

當需要解壓縮時,需要使用-d選項,具體的用法是:

[root@lisi ~]# gzip -d install.log.gz另外一種方法是↓:兩種方法

[root@lisi ~]# gunzip install.log.gz都可以解gzip的壓縮檔案。

2、使用bzip2和bunzip2指令壓縮和解壓縮檔案。

使用bzip2制作的壓縮檔案預設的擴充名為“.bz2”。原始檔案也是不再保留。使用方法和gzip一樣。隻能壓縮檔案。bzip2更高效一點,使用“-r 後面跟目錄”可以對目錄裡面的檔案進行一次性全部壓縮。

3、使用tar歸檔和釋放工具。

在實際的備份中,通常在歸檔的同時也會将封包件進行壓縮,以便節省磁盤空間,使用tar時選項前的“-”号可以省略。常用選項:

 -c:建立(create).tar格式的封包件。

 -C:解包時指定釋放的目标檔案夾。

 -f:表示使用歸檔檔案。這是必選項。

 -j:調用bzip2程式進行壓縮或解壓。

 -p:打包時保留檔案及目錄的權限。

 -P:打包時保留檔案及目錄的絕對路徑。

 -t:清單檢視包内的檔案。

 -v:輸出詳細資訊(verbose),顯示解壓過程。

 -x:解開.tar格式的封包件。

 -z:調用gzip程式進行壓縮或解壓。

制作歸檔檔案,可以了解為備份加壓縮,不删原件,格式如下:

tar  [選項]  歸檔及壓縮檔案名…  需要歸檔的源檔案或目錄…

[root@lisi ~]# tar cvjf accp.tar.bz2 ./install.log ./benet這條指令的意思是c建立歸檔、v顯示過程、j使用bzip2壓縮、f必選項;accp是名稱(字尾最好寫全);後面兩個是需要歸檔的檔案或目錄。

從歸檔檔案中恢複資料,解壓釋放的基本格式如下所示:

tar  [選項]  需要解壓的歸檔及壓縮檔案名…  [-C 目标目錄]

預設情況下,恢複出的資料将釋放到目前目錄中,如果要恢複到指定檔案夾,還需要結合-C選項來指定位置。例如:

[root@lisi ~]# tar jvxf accp.tar.bz2 -C /  表示釋放到根目錄。

三、使用vi文本編輯器。

Vi是一個功能強大的全螢幕文本編輯工具,vim是vi的增強版本,在vi上擴充了很多使用功能,但是習慣上也将vim稱作vi。在Linux系統中所有檔案都是可以進行配置的。

Vi編輯器的工作模式。

 指令模式:啟動時的預設模式,此模式中主要完成如光标移動、字元串查找以及删除複制查找粘貼檔案内容等相關操作。

 輸入模式:主要的操作就是錄入檔案内容,處于輸入模式時在編輯器的最後一行會出現插入“--INSERT--”的狀态提示資訊。

 末行模式:該模式可以設定vi編輯環境、儲存檔案、退出編輯器以及對檔案内容進行查找替換等操作,最後一行會出現冒号。

從指令模式按冒号“:”可以進入末行模式;而如果按a、i、o等鍵可以進入輸入模式;在末行和輸入模式按ESC鍵傳回指令模式。

1、指令模式的基本操作,執行單獨的vi就可以進入指令模式,還會顯示相關的版本資訊。若要編輯的檔案并不存在,則vi将根據該檔案名稱打開一個新的空檔案。相當于建立了。

在vi的指令模式中,可以輸入特定的按鍵(稱之為vi操作指令,注意差別于Linux系統指令)下面是模式切換的一些按鍵和作用:

 a:在目前光标位置之後插入内容。

 A:在光标所在行的末尾(行尾)插入内容。

 i:在目前光标位置之前插入内容。

 I:在光标所在行的開頭(行首)插入内容。

 L:是在本頁的最後一行行首插入内容。

 o:在光标所在行的後面插入一個新行。

 O:在光标所在行的前面插入一個新行。

2、移動光标。最基本的使用方法是“↑↓←→”四個方向鍵。

 使用page down或快捷鍵Ctrl+F向下翻動一整頁内容。

 使用page Up或快捷鍵Ctrl+B向上翻動一整頁内容。

其中的page down和page Up同樣适用于vi的輸入模式。

行内快速跳轉

 按home鍵或“^”或數字0鍵将快速跳轉到本行的行首。

 按end鍵或$鍵将光标快速跳轉到本行的行尾。

home鍵和end鍵同樣也适用在vi編輯器的輸入模式中。

行間快速跳轉

 使用1G或者gg可跳轉到檔案内容的第一行。

 使用G可以跳轉的檔案的最後一行。

 使用指令#G,跳轉檔案中的第#行(#代表數字)。

為了便于檢視行間跳轉結果,可以在末行模式使用:set nu指令即可顯示行号,執行:set nonu指令可以取消顯示行号。

3、在vi編輯器的指令模式中删除、複制和粘貼。

 使用x或del按鍵删除光标處的單個字元。x是往後面删除;X是往前面删除。

 使用指令dd删除光标所在行,使用#dd的形式還可以删除從光标處開始的#行内容(#号是具體數字)。

 使用按鍵指令d^删除目前光标之前到行首的所有字元。

 使用按鍵指令d$删除目前光标處到行尾的所有字元。

 使用dw删除光标所在的單詞。

 使用按鍵ddp可以進行上下行對調,把光标所在行和下面一行調。

 複制指令,使用按鍵yy複制目前行整行的内容到剪切闆,使用#yy還可以複制從光标處開始的#行内容。

 粘貼操作,在vi編輯器中前一次被複制或删除的内容将會儲存到剪切闆緩存器中,按p鍵即可将緩存器中的内容粘貼到光标位置處之後,按P鍵則會粘貼光标之前。(注意大小寫)

 使用shift+r鍵會連續替換光标所在單詞。Replace替換。

4、在vi編輯器的指令模式中查找檔案内容。

按 / 鍵後可以輸入指定的字元串,從光标處開始向後查找,然後按n鍵向後檢視下一個結果,按N鍵檢視上一個查找結果;如果按?鍵則從光标處向前查找。此時按n鍵向上檢視搜尋結果,按N鍵向下。

5、撤銷編輯及儲存和退出。u鍵指令用于取消最近一次的操作,并回複操作結果,可以多次重複按u鍵執行恢複操作;U鍵指令用于取消對目前所在行所做的所有編輯。

在vi的指令模式中,可以按ZZ按鍵儲存檔案内容并退出。

四、末行模式中的基本操作。在指令模式中按“:”進入末行模式。

1、儲存檔案及退出vi編輯器。

 :w指令儲存檔案,若需要另存為其他檔案,則需要指定新的檔案名,必要時還可以指定檔案路徑。

 退處vi編輯器可以使用:q進行退處或者使用:q!指令強行退出(不儲存即退出)。

 儲存并退處。可以使用指令:qw或:x來實作和指令模式中的ZZ。

2、打開新檔案或讀入其他檔案内容。

 在目前的vi編輯器中,執行“:e 新的檔案”形式的末行指令可以編輯(edit)新檔案。

 在目前檔案中讀入其他檔案内容。執行“:r 其他檔案”形式的末行指令可以讀入(read)其他檔案内容,并将其複制到目前光标位置行的下一行開始。

3、替換檔案内容。在vi的末行模式中,可以将特定的字元替換成新的内容,使用替換功能的末行指令格式如下:

:[替換範圍]  sub或s  /舊的内容/新的内容[/g]

上述格式中關鍵字為sub(substitute,替換)也可以簡寫為s。

替換範圍是可選部分,預設時隻對目前行的内容進行替換。一般有兩種方式:

 %:在整個檔案内容中進行查找并替換。

 n,m:在指定行數範圍以内的檔案内容中進行查找并替換。

繼續閱讀