shell命令之zip压缩和解压

一、压缩

1.1压缩单个文件

file.*表示某一类型的文件(eg: file.txt、file.cfg、file.ini、file.db、file.dat、file.xml等);

在当前目录下,将file.*文件压缩为filename.zip;

1.2压缩多个文件

在当前目录下,将file1.*和file2.*文件一起压缩为filename.zip;

还要一起压缩的文件继续在后面加上即可,以此类推;

1.3压缩单个目录

dir表示某一目录(即文件夹),目录为空或者非空都可以;

在当前目录下,将dir目录及dir目录下的所有文件压缩为filename.zip;

但是去掉-r 的话就会只压缩一个空的目录,目录里的文件不会被压缩;

-r可以放在压缩文件前面或者后面都可以,即:

1.4压缩多个目录

在当前目录下,将dir1和 dir2目录及dir1和 dir2目录下的所有文件压缩为filename.zip;

-r可以放在压缩文件前面或者后面都可以,即:

还要一起压缩的目录继续在后面加上即可,以此类推;

二、解压

2.1解压至当前目录

将filename.zip文件解压到当前目录;

2.2解压至指定目录

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,也就是将符号链接存储为链接,而不是引用文件。

或者写成:

猜你喜欢

转载自blog.csdn.net/weixin_44498669/article/details/128493456
今日推荐