命令 zip 用于压缩文件使用,zip压缩格式是Windows与Linux等多平台通用的压缩格式

2023-04-12 13:47:08 卿卿小孩 82

图片关键词

在 Linux 系统中,命令 zip 用于压缩文件使用,zip压缩格式是Windows与Linux等多平台通用的压缩格式。和gzip命令相比,zip命令 压缩文件后不仅不会删除源文件,而且还可以压缩目录。


语法:

zip [选项] [文件或目录]

参数说明:

-r 将指定目录下的所有文件和目录一起压缩

-x 压缩文件时排除某个文件

-q 不显示压缩信息


案例:

压缩test.py文件

[root@VM_0_5_centos ~]# cd test
[root@VM_0_5_centos test]# ls
test01.py  test.log  test.py
[root@VM_0_5_centos test]# zip testpy.zip ./test.py
  adding: test.py (stored 0%)
[root@VM_0_5_centos test]# ls
test01.py  test.log  test.py  testpy.zip
[root@VM_0_5_centos test]#

压缩目录

[root@VM_0_5_centos test]# mkdir test01
[root@VM_0_5_centos test]# ls
test01  test01.py  test.log  test.py  testpy.zip
[root@VM_0_5_centos test]# zip test01.zip ./test01
  adding: test01/ (stored 0%)
[root@VM_0_5_centos test]# ls
test01  test01.py  test01.zip  test.log  test.py  testpy.zip
[root@VM_0_5_centos test]#

排除压缩 (排除test.log文件)

[root@VM_0_5_centos test]# ls
test01  test01.py  test01.zip  test.log  test.py  testpy.zip
[root@VM_0_5_centos test]# zip -r all.zip ./* -x test.log
  adding: test01/ (stored 0%)
  adding: test01.py (stored 0%)
  adding: test01.zip (stored 0%)
  adding: test.py (stored 0%)
  adding: testpy.zip (stored 0%)
[root@VM_0_5_centos test]# ls
all.zip  test01  test01.py  test01.zip  test.log  test.py  testpy.zip
[root@VM_0_5_centos test]# rm -rf test01 test01.py test01.zip test.log test.py testpy.zip     # 除了压缩文件,删除其他文件
[root@VM_0_5_centos test]# unzip all.zip      # 解压文件看是否有test.log文件
Archive:  all.zip
   creating: test01/
 extracting: test01.py
 extracting: test01.zip
 extracting: test.py
 extracting: testpy.zip
[root@VM_0_5_centos test]# ls
all.zip  test01  test01.py  test01.zip  test.py  testpy.zip              # 解压后没有test.log文件
[root@VM_0_5_centos test]#

将多个文件压缩为一个zip压缩包的命令如下。

zip myfile.zip file1 file2 …

将多个同种文件压缩为一个zip包的命令如下,如下面将所有jpg文件压缩到一个压缩包里。

zip myfile.zip *.jpg

将一个目录压缩为一个压缩文件,命令如下。

zip -r myfile.zip folder

将一个目录下的所有文件压缩为一个压缩包,命令如下。

zip -r myfile.zip folder

分卷

工作中经常遇到大文件需要分卷压缩的情况(如百度网盘限制单文件上传大小、微信限制单文件发送大小),因此也经常需要解压分卷压缩的文件。这在有图形软件的Windows上是很容易的事情,但对于没有图形界面的Linux服务器,则需要了解一下命令。

首先我们来看如何分卷压缩文件,其实分为两个步骤,那就是压缩和分卷,先产生一个大的压缩包在对其进行分卷即可。

先是生成压缩包。

然后对压缩包进行分卷拆分,-s命令指定每个卷的大小,其中k表示kB,m表示MB,g表示GB而t表示TB。

zip -s 1g test.zip --out ziptest

比如我这里将一个2.9G的大文件拆分为1G的分卷文件,产生如下的一些文件,其中test.zip是原始压缩文件,后面的ziptest前缀的就是分卷压缩的结果,通常我们收到的分卷压缩文件就是这种格式。

├── test.zip
├── ziptest.z01
├── ziptest.z02
└── ziptest.zip


网站首页
电话咨询
案例展示
QQ客服