⑴ linux下tar的打包使用
分析如下:
一、Linux下的tar命令詳解
1、tar -c:建立壓縮檔案
2、tar -x:解壓
3、tar -t:查看內容
4、tar -r:向壓縮歸檔文件末尾追加文件
5、tar -u:更新原壓縮包中的文件
二、壓縮
1、tar -cvf jpg.tar *.jpg// 將目錄里所有jpg文件打包成jpg.tar
2、tar -czf jpg.tar.gz *.jpg// 將目錄里所有jpg文件打包成jpg.tar後,並且將其用gzip壓縮,生成一個gzip壓縮過的包,命名為jpg.tar.gz
3、tar -cjf jpg.tar.bz2 *.jpg// 將目錄里所有jpg文件打包成jpg.tar後,並且將其用bzip2壓縮,生成一個bzip2壓縮過的包,命名為jpg.tar.bz2
4、tar -cZf jpg.tar.Z *.jpg// 將目錄里所有jpg文件打包成jpg.tar後,並且將其用compress壓縮,生成一個umcompress壓縮過的包,命名為jpg.tar.Z
5、rar a jpg.rar *.jpg// rar格式的壓縮,需要先下載rar for linux
6、zip jpg.zip *.jpg// zip格式的壓縮,需要先下載zip for linux
三、解壓
1、tar -xvf file.tar// 解壓 tar包
2、tar -xzvf file.tar.gz// 解壓tar.gz
3、tar -xjvf file.tar.bz2// 解壓 tar.bz2
4、tar -xZvf file.tar.Z// 解壓tar.Z
5、unrar e file.rar// 解壓rar
6、unzip file.zip// 解壓zip
四、具體操作方法:
1、如圖看到的示例,用tar命令來打包這些文件以及目錄。(文件目錄以自己實際情況為准,這里用做參考用例)
linux中的tar命令
tar(磁帶歸檔)命令是linux系統中被經常用來將文件存入到一個歸檔文件中的命令。
其常見的文件擴展包括:.tar.gz 和 .tar.bz2, 分別表示通過了gzip或bzip演算法進一步進行了壓縮。
在本教程中我們會管中窺豹一下在linux桌面或伺服器版本中使用tar命令來處理一些創建和解壓歸檔文件的日常工作的例子。
使用tar命令
tar命令在大部分linux系統默認情況下都是可用的,所以你不用單獨安裝該軟體。
tar命令具有兩個壓縮格式,gzip和bzip,該命令的「z」選項用來指定gzip,「j」選項用來指定bzip。同時也可以創建非壓縮歸檔文件。
1.解壓一個tar.gz歸檔
一般常見的用法是用來解壓歸檔文件,下面的命令將會把文件從一個tar.gz歸檔文件中解壓出來。
復制代碼代碼如下:$ tar -xvzf tarfile.tar.gz這里對這些參數做一個簡單解釋-
x - 解壓文件 v - 冗長模式,在解壓每個文件時列印出文件的名稱。 z - 該文件是一個使用 gzip 壓縮的文件。 f - 使用接下來的tar歸檔來進行操作。這些就是一些需要記住的重要選項。
解壓 tar.bz2/bzip 歸檔文件
具有bz2擴展名的文件是使用bzip演算法進行壓縮的,但是tar命令也可以對其進行處理,但是需要通過使用「j」選項來替換「z」選項。
復制代碼代碼如下:$ tar -xvjf archivefile.tar.bz22.將文件解壓到一個指定的目錄或路徑
為了將文件解壓到一個指定的目錄中,使用「-C」選項來指定路徑,此處的「C」是大寫「C」。
復制代碼代碼如下:$ tar -xvzf abc.tar.gz -C /opt/folder/然後,首先需要確認目標目錄是否存在,畢竟tar命令並不會為你創建目錄,所以如果目標目錄不存在的情況下該命令會失敗。
3. 提取出單個文件
為了從一個歸檔文件中提取出單個文件,只需要將文件名按照以下方式將其放置在命令後面。
復制代碼代碼如下:$ tar -xz -f abc.tar.gz "./new/abc.txt"在上述命令中,可以按照以下方式來指定多個文件。
復制代碼代碼如下:$ tar -xz -f abc.tar.gz "./new/cde.txt" "./new/abc.txt"4.使用通配符來解壓多個文件
通配符可以用來解壓於給定通配符匹配的一批文件,例如所有以".txt"作為擴展名的文件。
復制代碼代碼如下:$ tar -xz -f abc.tar.gz --wildcards "*.txt"5. 列出並檢索tar歸檔文件中的內容
如果你僅僅想要列出而不是解壓tar歸檔文件的中的內容,使用「-t」(test)選項, 下面的命令用來列印一個使用gzip壓縮過的tar歸檔文件中的內容。
復制代碼代碼如下:$ tar -tz -f abc.tar.gz可以將輸出通過管道定向到grep來搜索一個文件,或者定向到less命令來瀏覽內容列表。 使用"v"冗長選項將會列印出每個文件的額外詳細信息。
對於 tar.bz2/bzip文件,需要使用"j"選項。
結合上述的命令和grep命令來檢索歸檔文件,如下所示。簡單吧!
復制代碼代碼如下:$ tar -tvz -f abc.tar.gz | grep abc.txt6.創建一個tar/tar.gz歸檔文件
現在我們已經學過了如何解壓一個tar歸檔文件,是時候開始創建一個新的tar歸檔文件了。tar命令可以用來將所選的文件或整個目錄放入到一個歸檔文件中,以下是相應的樣例。
下面的命令使用一個目錄來創建一個tar歸檔文件,它會將該目錄中所有的文件和子目錄都加入到歸檔文件中。
復制代碼代碼如下:$ tar -cvf abc.tar ./new/上述命令不會創建一個壓縮的的歸檔文件,只是一個普通的歸檔文件,只是將多個文件放入到一個歸檔文件中並沒有真正地壓縮每個文件。
為了使用壓縮,可以分別使用「z」或「j」選項進行gzip或bzip壓縮演算法。
復制代碼代碼如下:$ tar -cvzf abc.tar.gz ./new/文件的擴展名其實並不真正有什麼影響。「tar.gz」 和「tgz」是gzip壓縮演算法壓縮文件的常見擴展名。 「tar.bz2」和「tbz」是bzip壓縮演算法壓縮文件的常見擴展名(LCTT 譯註:歸檔是否是壓縮的和採用哪種壓縮方式並不取決於其擴展名,擴展名只是為了便於辨識。)。
7. 在添加文件之前進行確認
一個有用的選項是「w」,該選項使得tar命令在添加每個文件到歸檔文件之前來讓用戶進行確認,有時候這會很有用。
使用該選項時,只有用戶輸入「y」時的文件才會被加入到歸檔文件中,如果你不輸入任何東西,其默認表示是一個「n」。
復制代碼代碼如下:# 添加指定文件8. 加入文件到存在的歸檔文件中
「r」選項可以被用來將文件加入到已存在的歸檔文件中,而不用創建一個新的歸檔文件,下面是一個簡單的樣例:
復制代碼代碼如下:$ tar -rv -f abc.tar abc.txt文件並不能加入到已壓縮的歸檔文件中(gz 或 bzip)。文件只能被加入到普通的歸檔文件中。
9. 將文件加入到壓縮的歸檔文件中(tar.gz/tar.bz2)
之前已經提到了不可能將文件加入到已壓縮的歸檔文件中,然而依然可以通過簡單的一些把戲來完成。使用gunzip命令來解壓縮歸檔文件,然後將文件加入到歸檔文件中後重新進行壓縮。
復制代碼代碼如下:$ gunzip archive.tar.gz對於bzip文件分別使用bzip2和bunzip2。
10.通過tar來進行備份
一個真實的場景是在固定的時間間隔內來備份目錄,tar命令可以通過cron調度來實現這樣的一個備份,以下是一個樣例 :
復制代碼代碼如下:$ tar -cvz -f archive-$(date +%Y%m%d).tar.gz ./new/使用cron來運行上述的命令會保持創建類似以下名稱的備份文件 :'archive-20150218.tar.gz'。
當然,需要確保日益增長的歸檔文件不會導致磁碟空間的溢出。
11. 在創建歸檔文件時進行驗證
"W"選項可以用來在創建歸檔文件之後進行驗證,以下是一個簡單例子。
復制代碼代碼如下:$ tar -cvW -f abc.tar ./new/需要注意的是驗證動作不能在壓縮過的歸檔文件上進行,只能在非壓縮的tar歸檔文件上執行。
這次就先到此為止,可以通過「man tar」命令來查看tar命令的的手冊。