linux 压缩与解压缩

时间:2022-06-01 10:16:13

常用的压缩类型有

.gz, .tar, .tar.gz, zip, .bz2, .tar.bz2

 

.gz(不保留源文件,不能压缩目录,压缩比不错)

gzip a.txt  #得到a.gz(不保留源文件)
gunzip a.gz  #得到a.txt(不保留源文件)

 

.tar(只打包,不压缩)

tar -cf a.tar a.txt #把a.txt打包成a.tar
tar -xf a.tar         #解压缩a.tar

 

.tar.gz (tar与gzip结合,只是在tar参数中增国了一个z)

tar -zcf a.tar.gz a.txt #把a.tzt打包成a.tar.gz
tar -zxf a.tar.gz         #解压缩a.tar.gz

 .zip(linux与window都可以兼容)

#压缩
[root@AY14 txt]# zip a.zip a.txt
  adding: a.txt (deflated 55%)

#解压缩
[root@AY14 txt]# unzip a.zip
Archive:  a.zip
replace a.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
  inflating: a.txt

 

.bz2 (.gz的升级版本,加-k可以保留源文件)

#把a.txt压缩成a.txt.bz2,并且保留源文件
[root@AY14 txt]# bzip2 -k a.txt
[root@AY14 txt]# ls
a.txt  a.txt.bz2 

#解压a.txt.bz2,得到a.txt
[root@AY14 txt]# bunzip2 a.txt.bz2

 .tar.bz2 (tar与bz2结合)

#压缩文件加fFolder, 得到bFolder.tar.gz2
[root@AY14 txt]# tar -jcf bFolder.tar.bz2 bFolder
[root@AY14 txt]# ls
a.txt  bFolder  bFolder.tar.bz2


#解压
[root@AY14 txt]# tar -jxf bFolder.tar.bz2

 

注意:

生成.tar.gz与.tar.bz2时,用的命令都是tar 只是参数有一点点不一样

注意细节: 

c: 表示压缩(创建一个压缩文件)

x:表示解压

f:表示指定压缩包的文件名(好像f参数要放在最后一位)

z:表示用的是gzip

j:表示用的是bzip2

 

tar -zcf 压缩名的名字.tar.gz 源文件名
tar -jcf 压缩名的名字.tar.bz2 源文件名

tar -zxf 压缩名的名字.tar.gz
tar -jxf 压缩名的名字.tar.bz2