Linux zip/unzip压缩解压

zip/unzip

zip简介

zip文件格式是一种数据压缩和文档储存的文件格式,ZIP通常使用后缀名“.zip”,它的MIME格式为application/zip。zip格式文件是Windows和Linux系统都通用的压缩文件类型。当前,ZIP格式属于几种主流的压缩格式之一,因此如果在网络上传播和分发文件,zip格式往往是最常用的选择。

zip命令

zip命令将一般的文件或者目录进行压缩或者解压,默认生成以zip为后缀名的压缩包
zip用于压缩文件,而unzip用于解压缩文件。

安装

Linux如果没有该命令,则请使用一下命令安装

yum install -y zip

语法

其基本语法如下所示:

zip [选项] [指定文件名] [压缩文件或路径]

zip常用参数如下所示:
-c, --entry-comments 给压缩文件添加注释
-d , --delete 从压缩包删除指定文件
-D 压缩包不创建目录名称
-f ,--freshen 与参数 -u 类似,不仅更新已有文件,而且也添加压缩包没有的文件
-i files, --include files 仅向压缩包添加指定的文件
-m , --move 将原始文件添加到压缩包删除原文件
-q , --quiet 静默模式
-r , --recurse-paths 递归处理指定目录和子目录
-T , --test 检查压缩包的完整性
-u , --update将较新的文件更新替换到压缩包中
-v, --verbose 显示详细过程
-x files--exclude files 压缩文件时添加排除项
-# (-0~-9) 设置压缩级别,-0:不压缩文件,-1:最快压缩速度,-9:最好压缩强度,默认为-6

实例

压缩文件

[root@localhost ~]# zip /root/test.zip /root/test.txt
  adding: root/test.txt (stored 0%)

压缩文件,并设置密码

[root@localhost ~]# zip -e /root/test.zip /root/test.txt
Enter password:        #输入压缩密码
Verify password:	   #再次输入压缩密码
  adding: root/test.txt (stored 0%)

检查压缩文件的完整性

[root@localhost ~]# zip -T test.zip
test of test.zip OK

压缩文件并添加注释

[root@localhost ~]# zip -c /root/test.zip /root/test.txt
  adding: root/test.txt (stored 0%)
Enter comment for root/test.txt:
zip file     #在这里添加注释

向已压缩文件中添加文件

[root@localhost ~]# zip -u /root/test.zip /root/test2.txt
  adding: root/test2.txt (stored 0%)

压缩目录

#压缩/root/dir目录
[root@localhost ~]# zip -r /root/dir.zip /root/dir        
  adding: root/dir/ (stored 0%)

压缩目录并排除指定文件

#压缩/root/dir目录,但是排除/root/dir/test.txt文件
[root@localhost ~]# zip -r /root/dir.zip /root/dir -x /root/dir/test.txt
  adding: root/dir/ (stored 0%)
  adding: root/dir/test1.txt (stored 0%)
  adding: root/dir/test2.txt (stored 0%)

unzip命令

使用unzip命令可以查看和解压zip文件

语法

其基本语法如下所示:

uzip [选项] [压缩包名称]

unzip常用参数
选项 说明

  • -l 显示压缩包中的内容
  • -t 检查压缩包的完整性
  • -o 强制覆盖已存在的文件而不提示
  • -j 不处理压缩文件中的原有目录路径
  • -d exdir 指定解压目录

实例

解压压缩包到当前文件夹

[root@localhost ~]# unzip /root/test.zip
Archive:  test.zip

解压压缩包到指定目录

[root@localhost ~]# unzip  /root/test.zip -d /root/test
Archive:  /root/test.zip
 extracting: /root/test/root/test.txt

检查压缩包完整性

[root@localhost testfile]# unzip -t testfile.zip
Archive:  testfile.zip
    testing: testfile/            OK
    testing: testfile/install-sh   OK
    ...
    testing: testfile/pybuilddir.txt   OK
No errors detected in compressed data of testfile.zip.

查看压缩文件,但不解压文件

[root@localhost ~]# unzip -v dir.zip
Archive:  dir.zip
 Length   Method    Size  Cmpr    Date    Time   CRC-32   Name
--------  ------  ------- ---- ---------- ----- --------  ----
       0  Stored        0   0% 11-22-2019 20:42 00000000  root/dir/
       0  Stored        0   0% 11-22-2019 20:42 00000000  root/dir/test1.txt
       0  Stored        0   0% 11-22-2019 20:42 00000000  root/dir/test2.txt
--------          -------  ---                            -------
       0                0   0%                            3 files

显示压缩包内容

[root@localhost testfile]# unzip -l testfile.zip
Archive:  testfile.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  07-20-2018 12:50   testfile/
     7122  06-27-2018 11:07   testfile/install-sh
   101855  06-27-2018 11:07   testfile/setup.py
        0  07-20-2018 12:37   testfile/.vsts/
 13965984  07-20-2018 12:50   testfile/python
       26  07-20-2018 12:50   testfile/pybuilddir.txt
---------                     -------
186791269                     4771 files

删除压缩包中指定的文件

[root@localhost testfile]# zip testfile.zip -d testfile/*.o
deleting: testfile/Modules/config.o
deleting: testfile/Modules/getpath.o
deleting: testfile/Modules/main.o

你可能感兴趣的:(Linux教程,linux,centos,服务器,运维)