在Linux下对文件或者目录进行打包压缩

一、压缩命令[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命令默认保留原文件。

猜你喜欢

转载自www.cnblogs.com/hopelooking/p/8918890.html