轉載自:http://qiupeng.itpub.net/post/8489/55305
tar命令
tar可以為文件和目錄創建檔案。利用tar,用戶可以為某一特定文件創建檔案(備份文件),也可以在檔案中改變文件,或者向檔案中加入新的文件。tar最初被用來在磁帶上創建檔案,現在,用戶可以在任何設備上創建檔案,如軟盤。利用tar命令,可以把一大堆的文件和目錄全部打包成一個文件,這對于備份文件或將幾個文件組合成為一個文件以便于網絡傳輸是非常有用的。Linux上的tar是GNU版本的。
語法:tar [主選項+輔選項] 文件或者目錄
使用該命令時,主選項是必須要有的,它告訴tar要做什么事情,輔選項是輔助使用的,可以選用。
主選項:
c 創建新的檔案文件。如果用戶想備份一個目錄或是一些文件,就要選擇這個選項。
r 把要存檔的文件追加到檔案文件的未尾。例如用戶已經作好備份文件,又發現還有一個目錄或是一些文件忘記備份了,這時可以使用該選項,將忘記的目錄或文件追加到備份文件中。
t 列出檔案文件的內容,查看已經備份了哪些文件。
u 更新文件。就是說,用新增的文件取代原備份文件,如果在備份文件中找不到要更新的文件,則把它追加到備份文件的最后。
x 從檔案文件中釋放文件。
輔助選項:
b 該選項是為磁帶機設定的。其后跟一數字,用來說明區塊的大小,系統預設值為20(20*512 bytes)。
f 使用檔案文件或設備,這個選項通常是必選的。
k 保存已經存在的文件。例如我們把某個文件還原,在還原的過程中,遇到相同的文件,不會進行覆蓋。
m 在還原文件時,把所有文件的修改時間設定為現在。
M 創建多卷的檔案文件,以便在幾個磁盤中存放。
v 詳細報告tar處理的文件信息。如無此選項,tar不報告文件信息。
w 每一步都要求確認。
z 用gzip來壓縮/解壓縮文件,加上該選項后可以將檔案文件進行壓縮,但還原時也一定要使用該選項進行解壓縮。
例1:把/home目錄下包括它的子目錄全部做備份文件,備份文件名為usr.tar。
$ tar cvf usr.tar /home
例2:把/home目錄下包括它的子目錄全部做備份文件,并進行壓縮,備份文件名為usr.tar.gz 。
$ tar czvf usr.tar.gz /home
例3:把usr.tar.gz這個備份文件還原并解壓縮。
$ tar xzvf usr.tar.gz
例4:查看usr.tar備份文件的內容,并以分屏方式顯示在顯示器上。
$ tar tvf usr.tar | more
要將文件備份到一個特定的設備,只需把設備名作為備份文件名。
例5:用戶在/dev/fd0設備的軟盤中創建一個備份文件,并將/home 目錄中所有的文件都拷貝到備份文件中。
$ tar cf /dev/fd0 /home
要恢復設備磁盤中的文件,可使用xf選項:
$ tar xf /dev/fd0
如果用戶備份的文件大小超過設備可用的存貯空間,如軟盤,您可以創建一個多卷的tar備份文件。M選項指示tar命令提示您使用一個新的存貯設備,當使用M選項向一個軟驅進行存檔時,tar命令在一張軟盤已滿的時候會提醒您再放入一張新的軟盤。這樣您就可以把tar檔案存入幾張磁盤中。
$ tar cMf /dev/fd0 /home
要恢復幾張盤中的檔案,只要將第一張放入軟驅,然后輸入有x和M選項的tar命令。在必要時您會被提醒放入另外一張軟盤。
$ tar xMf /dev/fd0
gzip命令
減少文件大小有兩個明顯的好處,一是可以減少存儲空間,二是通過網絡傳輸文件時,可以減少傳輸的時間。gzip是在Linux系統中經常使用的一個對文件進行壓縮和解壓縮的命令,既方便又好用。
語法:gzip [選項] 壓縮(解壓縮)的文件名
各選項的含義:
-c 將輸出寫到標準輸出上,并保留原有文件。
-d 將壓縮文件解壓。
-l 對每個壓縮文件,顯示下列字段:
壓縮文件的大小
未壓縮文件的大小
壓縮比
未壓縮文件的名字
-r 遞歸式地查找指定目錄并壓縮其中的所有文件或者是解壓縮。
-t 測試,檢查壓縮文件是否完整。
-v 對每一個壓縮和解壓的文件,顯示文件名和壓縮比。
-num 用指定的數字num調整壓縮的速度,-1或–fast表示最快壓縮方法(低壓縮比),-9或–best表示最慢壓縮方法(高壓縮比)。系統缺省值為6。
假設一個目錄/home下有文件mm.txt、sort.txt、xx.com。
例1:把/home目錄下的每個文件壓縮成.gz文件。
$ cd /home
$ gzip *
$ ls
m.txt.gz sort.txt.gz xx.com.gz
例2:把例1中每個壓縮的文件解壓,并列出詳細的信息。
$ gzip -dv *
mm.txt.gz 43.1%—–replaced with mm.txt
sort.txt.gz 43.1%—–replaced with sort.txt
xx.com.gz 43.1%—–replaced with xx.com
$ ls
mm.txt sort.txt xx.com
例3:詳細顯示例1中每個壓縮的文件的信息,并不解壓。
$ gzip -l *
compressed uncompr. ratio uncompressed_name
277 445 43.1% mm.txt
278 445 43.1% sort.txt
277 445 43.1% xx.com
$ ls
mm.txt.gz sort.txt.gz xx.com.gz
例4:壓縮一個tar備份文件,如usr.tar,此時壓縮文件的擴展名為.tar.gz
$ gzip usr.tar
$ ls
usr.tar.gz
unzip命令
用MS Windows下的壓縮軟件winzip壓縮的文件如何在Linux系統下展開呢?可以用unzip命令,該命令用于解擴展名為.zip的壓縮文件。
語法:unzip [-cflptuvz][-agCjLMnoqsVX][-P <密碼>][.zip文件][文件][-d <目linux unzip 錄>][-x <文件>] 或 unzip [-Z]
各選項的含義分別為:
-x<文件> 指定不要處理.zip壓縮文件中的哪些文件。
-v 查看壓縮文件目錄,但不解壓。
-t 測試文件有無損壞,但不解壓。
-d 目錄 把壓縮文件解到指定目錄下。
-z 只顯示壓縮文件的注解。
-n 不覆蓋已經存在的文件。
-o 覆蓋已存在的文件且不要求用戶確認。
-j 不重建文檔的目錄結構,把所有文件解壓到同一目錄下。
-c 將解壓縮的結果顯示到屏幕上,并對字符做適當的轉換。
-f 更新現有的文件。
-l 顯示壓縮文件內所包含的文件。
-p 與-c參數類似,會將解壓縮的結果顯示到屏幕上,但不會執行任何的轉換。
-u 與-f參數類似,但是除了更新現有的文件外,也會將壓縮文件中的其他文件解壓縮到目錄中。
-a 對文本文件進行必要的字符轉換。
-b 不要對文本文件進行字符轉換。
-C 壓縮文件中的文件名稱區分大小寫。
-L 將壓縮文件中的全部文件名改為小寫。
-M 將輸出結果送到more程序處理。
-P<密碼> 使用zip的密碼選項。
-q 執行時不顯示任何信息。
-s 將文件名中的空白字符轉換為底線字符。
-V 保留VMS的文件版本信息。
-X 解壓縮時同時回存文件原來的UID/GID。
-d<目錄> 指定文件解壓縮后所要存儲的目錄。
-Z unzip -Z等于執行zipinfo指令
[.zip文件] 指定.zip壓縮文件。
[文件] 指定要處理.zip壓縮文件中的哪些文件。
例1:將壓縮文件text.zip在當前目錄下解壓縮。
$ unzip text.zip
例2:將壓縮文件text.zip在指定目錄/tmp下解壓縮,如果已有相同的文件存在,要求unzip命令不覆蓋原先的文件。
$ unzip -n text.zip -d /tmp
例3:查看壓縮文件目錄,但不解壓。
$ unzip -v text.zip
zgrep命令
這個命令的功能是在壓縮文件中尋找匹配的正則表達式,用法和grep命令一樣,只不過操作的對象是壓縮文件。如果用戶想看看在某個壓縮文件中有沒有某一句話,便可用zgrep命令。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
