Linux系统管理:使用zip和unzip进行压缩和解压缩

压缩 zip

压缩文件


压缩目录


如果想排除指定目录或者文件,那么需要注意其中的陷阱,假设workspace目录结构如下所示:


现在我想压缩workspace目录,但是排除目录1它下面所有的文件,对于zip命令来说可以使用 -x 选项排除文件和目录,能够想到的方法包括:

  1. zip -r workspace1.zip workspace/ -x workspace/1/*
  2. zip -r workspace2.zip workspace/ -x ‘workspace/1/*’
  3. zip -r workspace3.zip workspace/ -x workspace/1/
  4. zip -r workspace4.zip workspace/ -x workspace/1

首先给出答案,然后给出解释吧。不得不说,确实有点烦躁。无论如何压缩完记得使用unzip -t 检查一下内容是否正确。

提示:如果想排除多个文件或者目录,直接以相同的格式附在后面即可。


下面来看一下这4种写法的区别:


从中可以得出以下结论:如果想要排除某个目录以及它下面的所有文件,那么必须添加 引 ’ 和 星 *,例如:方法2:zip -r workspace2.zip workspace/ -x ‘workspace/1/*’


从方法3和方法4可以看出:在某些场景下,目录后面加不加 / 表示的含义不同,例如这里不加 / 表示文件,加了/表示目录。

如果workspace目录下有一个空文件夹3


这时就可以看出 目录名3 后面加不加 / 的区别了。


压缩为不超过指定大小的多个文件

可以使用 -s 选项+大小 创建指定大小的zip文件,单位可以包括 k (kilobytes), m (megabytes), g (gigabytes), 或者 t (terabytes).


还可以指定压缩比,压缩比越大文件越小,但是时间越长。

-压缩级别 压缩级别是从 1~9 的数字,-1 代表压缩速度更快,-9 代表压缩效果更好。

解压缩 Unzip

检查压缩文件是否损坏


查看压缩文件的内容


要查看文件的详细信息,如文件权限和存档文件的总大小,请使用 -Z 选项


解压缩文件


解压缩到指定目录


抑制 unzip 命令的输出 (-q)


覆盖现有文件 (-o)



                                                        

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年10月17日
下一篇 2022年10月17日

相关推荐