shell命令之zip压缩和解压
Posted 123OOOO
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell命令之zip压缩和解压相关的知识,希望对你有一定的参考价值。
一、压缩
1.1压缩单个文件
zip filename.zip file.*
file.*表示某一类型的文件(eg: file.txt、file.cfg、file.ini、file.db、file.dat、file.xml等);
在当前目录下,将file.*文件压缩为filename.zip;
1.2压缩多个文件
zip filename.zip file1.* file2.*
在当前目录下,将file1.*和file2.*文件一起压缩为filename.zip;
还要一起压缩的文件继续在后面加上即可,以此类推;
1.3压缩单个目录
zip -r filename.zip dir
dir表示某一目录(即文件夹),目录为空或者非空都可以;
在当前目录下,将dir目录及dir目录下的所有文件压缩为filename.zip;
但是去掉-r 的话就会只压缩一个空的目录,目录里的文件不会被压缩;
-r可以放在压缩文件前面或者后面都可以,即:
zip filename.zip -r dir
1.4压缩多个目录
zip -r filename.zip dir1 dir2
在当前目录下,将dir1和 dir2目录及dir1和 dir2目录下的所有文件压缩为filename.zip;
-r可以放在压缩文件前面或者后面都可以,即:
zip filename.zip -r dir1 dir2
还要一起压缩的目录继续在后面加上即可,以此类推;
二、解压
2.1解压至当前目录
unzip filename.zip
将filename.zip文件解压到当前目录;
2.2解压至指定目录
unzip filename.zip -d specdir
specdir表示目标目录,specdir目录在当前目录下,目录为空或者非空都可以;
将filename.zip压缩到specdir目录里;
-d只可以放在压缩文件后面,不可以放在压缩文件前面;
如果目标目录不在当前目录下,需解压到其他地方,则换上完整的目录即可;
三、常见error
3.1 zip压缩报错:zip warning: name not matched: xxx/xxx/xxx
压缩的文件是个符号链接文件,解决方法是加上-y参数,意思是store symbolic links as the link instead of the referenced file,也就是将符号链接存储为链接,而不是引用文件。
zip -r -y filename.zip dir
或者写成:
zip -ry filename.zip dir
用shell压缩多个文件夹为zip
参考技术A压缩为bcd.zip,保存在a文件夹中,如果要静默模式,zip命令加-q选项。
文件格式:
另指计算机文件压缩算法,原名真空,发明者为菲尔·卡茨,他于1989年1月公布了该格式的资料。
标准 ZIP 压缩文件格式分析:标准 zip 文件格式由三部分组成:zip 压缩数据段、中央目录区、中央目录区尾部。其中 zip 压缩数据段又分为 zip 文件头信息和压缩数据。如图 1、2、3 所示。带☆的是在文件修复中经常用到的。
扩展资料:
命令参数:
Copyright (C) 1990-1999 Info-ZIP
Type 'zip "-L"' for software license。
Zip 2.3 (November 29th 1999). Usage。
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]。
The default action is to add or replace zipfile entries from list, which。
can include the special name - to compress standard input。
If zipfile and list are omitted, zip compresses stdin to stdout。
-f freshen: only changed files -u update: only changed or new files。
参考资料来源:百度百科-Zip
以上是关于shell命令之zip压缩和解压的主要内容,如果未能解决你的问题,请参考以下文章