您的位置 首页 php

linux压缩与解压

zip

 zip -r xxx.zip ./*
unzip filename
  

unzip

解压时指定 字符集

解压windows下压缩的zip包:

 unzip -O CP936 xxx.zip (用GBK, GB18030也可以) 
  

gzip

 -a或--ascii  使用ASCII文字模式。
-d或--decompress或----uncompress  解开压缩文件。
-l或--list  列出压缩文件的相关信息。
-r或--recursive  递归处理,将指定目录下的所有文件及子目录一并处理。
-v或--verbose  显示指令执行过程。
-V或--version  显示版本信息。


  

gzip不能压缩目录
想要压缩目录可以使用如下方式:
tar -zcvf test.tar.gz test

GZIP 与zip区别主要是适应系统不同,还有就是压缩率不一样;

gzip为高压,可以把文件压缩得更小
gzip是 LINUX 下面用的格式,一般在Linux下解压,如果用Windows下的程序解压有可能丢失其中某些文件或属性

解压指定编码

乱码场景:
zip是在windows下面打包的,压缩时的编码默认是GBK
在LINUX上解压,用的是UTF-8

 gzip -O "GBK"  xxx.zip
  

tar

命令含义

  1. 打包:将一堆文件或目录什么的变成一个总的文件。
  2. 压缩:将一个大的文件经过某种压缩算法变成一个小文件。

为什么要区分这两个概念呢?因为Linux中的很多压缩程序只能针对一个文件进行压缩,所以当你想要压缩一大堆文件时,首先需要打个包,然后压缩。
tar是打包,gzip、bzip2 是压缩,tar可以在打包后同时调用其他压缩命令。

为了方便用户在打包解包的同时压缩或解压文件,tar命令提供了一种特殊的功能,就是可以在打包解包的同时调用其他的压缩程序,比如:gzip,bzip2等。

使用

-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件

这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

-z:有gzip属性的
-j:有 bz2 属性的
-Z:有 compress 属性的
-v:显示所有过程
-O:将文件解开到标准输出

下面的参数-f是必须的

-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

 tar -cf all.tar *.jpg
  

这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。

 tar -rf all.tar *.gif
  

这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。

 tar -uf all.tar logo.gif
  

这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

 tar -tf all.tar
  

这条命令是列出all.tar包中所有文件,-t是列出文件的意思

 tar -xf all.tar
  

这条命令是解出all.tar包中所有文件,-t是解开的意思

压缩

 tar -cvf jpg.tar *.jpg
  

//将目录里所有jpg文件打包成jpg.tar

 tar -czf jpg.tar.gz *.jpg
  

//将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz

 tar -cjf jpg.tar.bz2 *.jpg
  

//将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2

 tar -cZf jpg.tar.Z *.jpg
  

//将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z

 rar a jpg.rar *.jpg
  

//rar格式的压缩,需要先下载rar for linux

 zip jpg.zip *.jpg
  

//zip格式的压缩,需要先下载zip for linux

解压

 tar -xvf file.tar //解压 tar包  
  
tar -xzvf file.tar.gz //解压tar.gz  
  
tar -xjvf file.tar.bz2   //解压 tar.bz2  
  
tar -xZvf file.tar.Z   //解压tar.Z  
  
unrar e file.rar //解压rar  
  
unzip file.zip //解压zip
  

总结

 1、*.tar 用 tar -xvf 解压  
  
2、*.gz 用 gzip -d或者 gunzip  解压  
  
3、*.tar.gz和*.tgz 用 tar -xzf 解压  
  
4、*.bz2 用 bzip2 -d或者用bunzip2 解压  
  
5、*.tar.bz2用tar -xjf 解压  
  
6、*.Z 用 uncompress 解压  
  
7、*.tar.Z 用tar -xZf 解压  
  
8、*.rar 用 unrar e解压  
  
9、*.zip 用 unzip 解压  

文章来源:智云一二三科技

文章标题:linux压缩与解压

文章地址:https://www.zhihuclub.com/80225.shtml

关于作者: 智云科技

热门文章

网站地图