Contents

Linux - 壓縮與打包工具 tar

Linux tar 壓縮及打包工具使用方式

Linux - 壓縮與打包工具 tar

1. 常用的三種壓縮演算法:

  • gz
  • bz2
  • xy
壓縮演算法 壓縮比 壓縮速率
gz
bz2
xy

2. 單一檔案使用方式:

2.1 gzip / gunzip

2.1.1 gz 壓縮
1
gzip <filename>
2.1.2 gz 解壓縮
1
gunzip <filename>.gz

2.2 bzip2 / bunzip2

2.2.1 bz2 壓縮
1
bzip2 <filename>
2.2.2 bz2 解壓縮
1
bunzip2 <filename>.bz2

2.3 xz / gunbzip2

2.2.1 xz 壓縮
1
xz <filename>
2.2.2 xz 解壓縮
1
unxz <filename>.xz
Note
上述任一壓縮演法算只能針對單一檔案進行壓縮,無法針對目錄一併壓縮

3. tar 整個目錄及檔案進行打包:

3.1 tar 打包操作

  • 將指定目錄或是檔案打包為 backup.tar 檔案
1
tar cvf backup.tar /home /tmp example.sh
  • 參數:
    • -c: 打包成 tar 檔
    • -v: 顯示執行詳情
    • -f: 打包完成的檔案名稱
    • -xatts: 將ACL權限及SElinux屬性一併打包

3.2 tar 檢驗打包內容操作

  • 查驗 backup.tar 檔案內容
1
tar tvf backup.tar 
  • 參數:
    • -t: 印出打包內容
    • -v: 顯示執行詳情
    • -f: 查看的tar檔案名稱

3.3 tar 解開打包操作

  • 解開 backup.tar 檔案
1
tar xvf backup.tar 
  • 參數:
    • -x: 解開打包
    • -v: 顯示執行詳情
    • -f: tar檔案名稱

3.2 tar 檢驗打包內容操作

  • 查驗 backup.tar 檔案內容
1
tar tvf backup.tar 
  • 參數:
    • -t: 印出打包內容
    • -v: 顯示執行詳情
    • -f: 查看的tar檔案名稱

4 tar + 壓縮/解壓縮一起執行

4.1 tar + 壓縮

  • 將指定目錄或是檔案打包為 backup.tar 檔案,並執行壓縮
1
2
3
tar zcvf backup.tar.gz /home /tmp example.sh
tar jcvf backup.tar.bz2 /home /tmp example.sh
tar Jcvf backup.tar.xz /home /tmp example.sh
  • 參數:
    • -c: 打包成 tar 檔
    • -v: 顯示執行詳情
    • -f: 打包完成的檔案名稱
    • -xatts: 將ACL權限及SElinux屬性一併打包
    • 下方參數僅能選一:
      • -z: 使用 gzip 演算法壓縮
      • -j: 使用 bz2 演算法壓縮
      • -J: 使用 xz 演算法壓縮

4.2 tar + 解壓縮

  • 將 backup.tar 解開打包並解壓縮
1
2
3
tar zxvf backup.tar.gz /home /tmp example.sh
tar jxvf backup.tar.bz2 /home /tmp example.sh
tar Jxvf backup.tar.xz /home /tmp example.sh
  • 參數:
    • -x: 解開打包
    • -v: 顯示執行詳情
    • -f: 解開檔案名稱
    • 下方參數僅能選一:
      • -z: 使用 gzip 演算法解壓縮
      • -j: 使用 bz2 演算法解壓縮
      • -J: 使用 xz 演算法解壓縮

附錄- 熟悉 Windows 的 zip

安裝相關套件

  • Linux 要執行 zip 壓縮或是解壓縮需額外安裝套件(以 Redhat 為例)
1
sudo yum install zip unzip -y

zip 壓縮

1
2
zip output.zip <filename>
zip -ry output.zip <dir>
  • 參數:
    • -r: 將目錄打包
    • -y: sork link 一併打包

zip 解壓縮

1
unzip output.zip 


如果你還沒有註冊 Like Coin,你可以在文章最下方看到 Like 的按鈕,點下去後即可申請帳號,透過申請帳號後可以幫我的文章按下 Like,而 Like 最多可以點五次,而你不用付出任何一塊錢,就能給我寫這篇文章的最大的回饋!