[Linux] .tar .tar.gz 常用壓縮打包指令 (打包、壓縮、解壓縮)

在 Linux 之中如果遇到需要將一堆檔案壓縮或打包成單一個檔案時,使用的並不是我們在Windows下常用的 .zip、.rar、7z 這種壓縮格式,而是使用 Linux 平台專屬的 .tar 或 .tar.gz 這種類型的打包壓縮格式;其中 .tar 主要是將檔案打包成單一檔案,可以將其想像成 .zip 的存在一樣;而 .tar.gz 則是在增加上壓縮的能力,可以將它想像成類似 .rar 這種比較高壓縮比的打包形式。在網路上下載的大多數Linux資源不外乎都是使用 .tar.gz 這個格式來壓縮打包的,因此這篇文章簡單的說明要如何在 Linux 下壓縮打包與解壓縮 tar 格式的壓縮檔!這也是 Linux 很基本常用的指令之一哦!

通常在各個版本的Linux裡面,都會預設安裝好 tar 與 gzip 兩個壓縮套件!
如果發現沒有安裝的話再進行安裝 「 # yum install tar 」或 「 # yum install gzip」

.tar

存取 tar 格式的套件名稱為「tar」,此格式僅進行打包,並沒有使用壓縮。

解壓縮

tar xvf File.tar

打包(無壓縮)

tar cvf File.tar DirName

 

.tar.gz

存取 .tar.gz 格式的套件為「gzip」,此格式會進行打包並且壓縮。

解壓縮

tar zxvf File.tar.gz

壓縮

tar zcvf File.tar.gz DirName

 


詳解說明:

.tar 代表該文件僅打包,並未壓縮!
若為 .tar.gz 則表示除了打包之外,還使用gzip進行壓縮!
因此後者在解壓縮時需在指令前方再加上一個 z 以便透過gzip來運行。

不過通常在網路上找到的相關資料都會是經過壓縮的,
而遇到.tar 的操作方式也僅與 .tar.gz 差別在於,指令最前方加上一個 z 而已。

 

指令說明:

z:透過gzip去進行壓縮或解壓縮
c:建立一個新檔案
x:從檔案中提取

 

.tar.gz 壓縮:

tar zcvf 壓縮後的檔名.tar.gz 要壓縮的資料夾

如果,壓縮的檔名只有指定檔名沒有包含路徑的話,
他將會存在當前使用者的home目錄下 (/root 或 /home/username )
當然你也可以在檔名中包含路徑使他直接存到你指定的位置去!

範例:
tar zcvf File.tar.gz /home/ABC
  這會將 /home/ABC 這個資料夾壓縮成 File.tar.gz 並且放置在User目錄下

tar zcvf /home/ABC.tar.gz /home/ABC
  這會將 /home/ABC 這個資料夾壓縮成 ABC.tar.gz 並放置於/home/下

.tar.gz 解壓縮:

tar zcvf 壓縮檔的檔名.tar.gz (解壓縮的路徑)

解壓縮的路徑 是選填的參數,如果不填寫的話她則會自動解壓縮到預設的位置
預設的路徑位置是直接存在當前user的根目錄下(/root 或 /home/UserName),

如果你想要省去一個搬移的動作,那麼你可以在第三個參數中填入要解壓縮的路徑,檔案就會直接解壓縮到該處去!

範例:
tar zxvf File.tar.gz
  會將位於User目錄的File.tar.gz檔案內的資料解壓縮到User目錄(/root/ or /home/UserName)

tar zxvf /home/Richar/File.tar.gz /var/www
  將 /home/Richar/File.tar.gz 這個檔案的內容解壓縮到 /var/www 下

 

其他

在 Windows 下要如何 解壓縮 或 壓縮 .tar.gz 的檔案

Windows系統內建的 zip 工具只支援 .zip 這個格式的壓縮檔,而另一個常見的壓縮軟體 WinRAR 在壓縮的部分雖然還多支援了 .rar 格式,不過仍然無法存取 .tar.gz 這個格式的壓縮檔,而在Windows底下一個支援 .tar.gz 的壓縮軟體,這邊特別推薦 7-zip 這套開源免費的壓縮軟體,它支援解壓縮 Linux 中常見的壓縮格式,在壓縮方面它只支援將檔案打包成 .tar 格式,而無法將檔案壓縮打包成 .tar.gz 格式,這算是小小美中不足的地方。

 

.zip .7z .rar的壓縮與解壓縮

這些其他類型的壓縮檔案,在Linux下預設是無法壓縮與解壓縮的,皆需要額外安裝插件才能夠運作,
不過因為這都是各自不同的軟體,各有各自的不同之處,因此就另外寫文章來示範啦。

 


參考資料

維基百科 tar : https://zh.wikipedia.org/wiki/Tar

延伸閱讀

Linux – 相關文章列表
[Linux] Linux (CentOS) 常使用的基本指令

1 thought on “[Linux] .tar .tar.gz 常用壓縮打包指令 (打包、壓縮、解壓縮)”

  1. Pingback: Linux - 相關文章列表 - RicharLin.tw

Comments are closed.