一、压缩
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