天天看點

linux壓縮歸檔指令gzip、bzip2、xz、tar、zip速查

1. gzip

2. bzip2

3. xz

4. tar

5. zip

本文使用運作環境如下: 作業系統:Ubuntu Linux 18.04 64 bit 編譯環境:gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)

本文歸納常用壓縮指令<code>gzip</code>、<code>bzip2</code>、<code>xz</code>、<code>tar</code>、<code>zip</code>指令的速查用法,檢視詳細選項用法可以參考另一篇文章linux檔案壓縮程式gzip、bzip2、xz、tar、zip詳解

序号

指令示例

備注

1

<code>gzip 1.txt</code>

壓縮<code>1.txt</code>檔案且不保留<code>1.txt</code>原檔案

2

<code>gzip -d 1.txt.gz</code>或<code>gunzip 1.txt.gz</code>

解壓<code>1.txt.gz</code>檔案且不保留原檔案

3

<code>gzip -c 1.txt &gt; 1.txt.gz</code>或<code>gzip -k 1.txt</code>

壓縮<code>1.txt</code>且保留原檔案,<code>&gt;</code>号之後的檔案可以自定義

4

<code>gzip -cd 1.txt.gz &gt; 1.txt</code>或者<code>gzip -dk 1.txt.gz</code>

解壓<code>1.txt.gz</code>且保留原檔案,<code>&gt;</code>号之後的檔案可以自定義

5

<code>gzip -kv 1.txt</code>/<code>gzip -dkv 1.txt.gz</code>

壓縮/解壓時顯示資訊

6

<code>gzip -cvk9 1.txt &gt; 1.txt.gz</code>

壓縮<code>1.txt</code>檔案時指定最佳壓縮比

7

<code>zcat 1.txt.gz</code>或<code>zmore 1.txt.gz</code>或<code>zless 1.txt</code>

檢視壓縮檔案内容

8

<code>zgrep -n 'he' 1.txt.gz</code>

查找壓縮檔案中的<code>he</code>字元串

<code>bzip2 1.txt</code>

<code>bzip2 -d 1.txt.bz2</code>或<code>bunzip2 1.txt.bz2</code>

解壓<code>1.txt.bz2</code>檔案且不保留原檔案

<code>bzip2 -c 1.txt &gt; 1.txt.bz2</code>或<code>bzip2 -k 1.txt</code>

壓縮<code>1.txt</code>且保留原檔案

<code>bzip2 -cd 1.txt.bz2 &gt; 1.txt</code>或<code>bzip2 -dk 1.txt.bz2</code>

解壓<code>1.txt.bz2</code>且保留原檔案

<code>bzip2 -kv 1.txt</code>/<code>bzip2 -dkv 1.txt.bz2</code>

<code>bzip2 -kv9 1.txt</code>

<code>bzcat 1.txt.bz2</code>或<code>bzmore 1.txt.bz2</code>或<code>bzless 1.txt.bz2</code>

<code>bzgrep -n 'bz' 1.txt.bz2</code>

查找壓縮檔案中的<code>bz</code>字元串

<code>xz 1.txt</code>

壓縮<code>1.txt</code>且不保留<code>1.txt</code>原檔案

<code>xz -d 1.txt.xz</code>或<code>unxz 1.txt.xz</code>

解壓<code>1.txt.xz</code>檔案且不保留原檔案

<code>xz -c 1.txt &gt; 1.txt.gz</code>或<code>xz -k 1.txt</code>

<code>xz -cd 1.txt.xz &gt; 1.txt</code>或<code>xz -dk 1.txt.xz</code>

解壓<code>1.txt.xz</code>且保留原檔案

<code>xz -kv 1.txt</code>/<code>xz -dkv 1.txt.xz</code>

<code>xz -kv9 1.txt</code>

<code>xzcat 1.txt.xz</code>或<code>xzmore 1.txt.xz</code>或<code>xzless 1.txt.xz</code>

<code>xzgrep -n 'xz' 1.txt.xz</code>

查找壓縮檔案中的<code>xz</code>字元串

前面介紹的<code>gzip</code>、<code>bzip2</code>和<code>xz</code>指令隻能壓縮一個檔案,而對于壓縮整個目錄或将多個檔案壓縮成一個檔案就顯得無能為力了,<code>tar</code>指令提供了這樣一種功能:将多個檔案或目錄打包成一個檔案,同時支援使用<code>gzip</code>、<code>bzip2</code>、<code>xz</code>指令對打包後的檔案進行壓縮,是以常見的字尾為<code>.tar.gz</code>、<code>.tar.bz2</code>、<code>.tar.xz</code>。

<code>tar -czv -f union.tar.gz ./</code>

将目前目錄遞歸打包壓縮成一個檔案,壓縮檔案命名為union.tar.gz

<code>tar -czv -f a-e.tar.gz {a..e}.txt</code>

将多個檔案(a.txt~e.txt共5個檔案)打包壓縮成一個檔案,命名為a-e.tar.gz

<code>tar -tv -f union.tar.gz</code>

檢視打包壓縮檔案中有哪些檔案

<code>tar -xzv -f a-e.tar.gz</code>

解壓打包壓縮檔案到目前目錄,保留a-e.tar.gz源檔案

<code>tar -xzv -f a-e.tar.gz -C tmp/</code>

解壓到指定目錄,這裡解壓到目前目錄建立的<code>tmp</code>目錄

<code>zip</code>指令相容<code>windows</code>系統的<code>zip</code>格式,前面介紹的<code>gzip</code>、<code>bzip2</code>、<code>xz</code>均不能整個壓縮目錄,<code>zip</code>指令提供了這樣的支援,但<code>zip</code>指令不提供檢視檔案内容的支援。壓縮用<code>zip</code>指令,解壓用<code>unzip</code>指令。

<code>zip -qr tmp.zip tmp/</code>

壓縮<code>tmp/</code>目錄

<code>unzip tmp.zip</code>

解壓<code>tmp.zip</code>到目前檔案夾

<code>unzip tmp.zip -d extrac/</code>

解壓到指定檔案夾,檔案夾不存在時自動建立

<code>unzip -l tmp.zip</code>

檢視zip壓縮檔案結構