歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> 關於Unix >> tar命令使用

tar命令使用

日期:2017/3/6 15:29:28   编辑:關於Unix
tar命令使用 壓縮:tar cvfz 目標文件 源文件1 [源文件2...] 例如:tar cvfz m.tar.gz hello.cpp hello.h //m.tar.gz是目標文件,hello.cpp和hello.h是源文件 解壓:tar xvfz 目標文件 例如:tar xvfz m.tar.gz //在當前目錄下將壓縮包文件m.tar.gz解壓縮 上 tar命令使用

壓縮:tar cvfz 目標文件 源文件1 [源文件2...]
例如:tar cvfz m.tar.gz hello.cpp hello.h
//m.tar.gz是目標文件,hello.cpp和hello.h是源文件
解壓:tar xvfz 目標文件
例如:tar xvfz m.tar.gz //在當前目錄下將壓縮包文件m.tar.gz解壓縮

上面的簡單用法基本夠用了,以下是從別的地方轉來的其他一些用法,但我從來沒用過,暫時存放一下。

1.文件或目錄打包:tar -cvf /u0/temp2.tar /usr/lib

將/usr/lib目錄下的文件與子目錄打包成一個文件庫為/u0/temp2.tar。

tar -cvf /u0/temp2.tar /usr/lib *.c *.f

將/usr/lib目錄下的*.c *.f等文件(不含子目錄)打包。注意:如果指定文件如*.c *.f或*.*,則打包時均不含子目錄。如果指定為.或*,則含子目錄。

2.壓縮:compress /u0/temp2.tar壓縮為/u0/temp2.tar.z

3.解壓:uncompress /u0/temp2.tar.Z則還原為/u0/temp2.tar

4.解包展開:tar -xvf /u0/temp2.tar

若以相對路徑打包的,解包時,以相對路徑存放展開的文件數據;若以絕對路徑打包的,解包時,以絕對路徑存放展開的文件數據。若指定展開的文件名,須注意文件的目錄路徑。

5.顯示:tar -tvf /u0/temp2.tar 顯示文件庫內的文件名稱。當指定文件名時,亦須注意文件的路徑。

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


Copyright © Linux教程網 All Rights Reserved