1. 程式人生 > >在Linux下對文件或者目錄進行打包壓縮

在Linux下對文件或者目錄進行打包壓縮

linux下 file clip ont ocl str http ron pbo

一、壓縮命令[compress/gzip/bzip2]:

壓縮只能對文件,不能對目錄,目錄要先打包,然後再壓縮。

(1)compress

(2)gzip

1、壓縮文件

[cpp] view plain copy
  1. gzip hosts #將hosts壓縮成hosts.gz,不保留原文件
  2. gzip -c hosts > xx/hosts.gz #將hosts壓縮成hosts.gz,保留原文件,還可以指定路徑

2、查看壓縮文件內容

[cpp] view plain copy
  1. zcat hosts.gz

3、解壓

[cpp] view plain copy
  1. gzip -d hosts.gz #不指定路徑的解壓,解壓到當前目錄下、不保留壓縮文件
  2. gzip -d -c hosts.gz > xx/hosts #指定路徑的解壓,同時保留壓縮文件

(3)bzip

1、壓縮文件

[cpp] view plain copy
  1. bzip2 hosts.bz2 #將hosts壓縮成hosts.bz2,不保留原文件
  2. bzip2 -c hosts > xx/hosts.bz2 #將hosts壓縮成hosts.gz,保留原文件,還可以指定路徑<span style="font-size:18px;">
  3. </span>

2、查看壓縮文件內容

[cpp] view plain copy
  1. bzcat hosts.bz2

3、解壓

[cpp] view plain copy
  1. bzip2 -d hosts.bz2 #不指定路徑的解壓,解壓到當前目錄下、不保留壓縮文件
  2. bzip2 -d -c hosts.bz2 > xx/hosts #指定路徑的解壓,同時保留壓縮文件

總結:

-c:指定路徑、保留文件

-d:解壓

gzip、bzip2默認不保留原文件/壓縮文件。

二、打包/壓縮命令[tar]

2.1 打包/解包:

(1)打包單個文件

[cpp] view plain copy
  1. tar cvf aa.tar aa #默認保留原文件
  2. tar cvf aa.tar aa --remove-file #打包後刪除原文件

(2)打包多個文件

[cpp] view plain copy
  1. tar cvf ab.tar aa bb #默認保留原文件
  2. tar cvf aa.tar aa bb --remove-file #打包後刪除原文件

(3)查看包裏的內容

[cpp] view plain copy
  1. tar tvf aa.tar

(4)解包

[cpp] view plain copy
  1. tar xvf aa.tar #不指定路徑的解包,解包到當前目錄下
  2. tar xvf aa.tar -C xx/aa #指定路徑的解包

2.2 打包並壓縮/解壓並解包:

以gzip格式

(1)打包單個文件並壓縮

[cpp] view plain copy
  1. tar zcvf aa.tar.gz aa #保留原文件
  2. tar zcvf aa.tar.gz aa --remove-file #不保留原文件

(2)打包多個文件並壓縮

[cpp] view plain copy
  1. tar zcvf ab.tar.gz aa bb #保留原文件
  2. tar zcvf ab.tar.gz aa bb --remove-file #不保留原文件

(3)解壓

[cpp] view plain copy
  1. tar zxvf ab.tar.gz #不指定路徑解壓、解包
  2. tar zxvf ab.tar.gz -C xx/ab #指定路徑解壓、解包

以bizp2格式

(1)打包單個文件並壓縮

[cpp] view plain copy
  1. tar jcvf aa.tar.bz2 aa #保留原文件
  2. tar jcvf aa.tar.bz2 aa --remove-file #不保留原文件

(2)打包多個文件並壓縮

[cpp] view plain copy
  1. tar jcvf ab.tar.bz2 aa bb #保留原文件
  2. tar jcvf ab.tar.bz2 aa bb --remove-file #不保留原文件

(3)解壓

[cpp] view plain copy
  1. tar jxvf ab.tar.bz2 #不指定路徑解壓、解包
  2. tar jxvf ab.tar.bz2 -C xx/ab #指定路徑解壓、解包


總結:

-C:指定路徑

--remove-file:刪除原文件

tar命令默認保留原文件。

在Linux下對文件或者目錄進行打包壓縮