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
命令含义
- 打包:将一堆文件或目录什么的变成一个总的文件。
- 压缩:将一个大的文件经过某种压缩算法变成一个小文件。
为什么要区分这两个概念呢?因为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 解压