Linux使用zip压缩命令压缩文件实现方式(排除不需要的文件)

 更新时间:2026年04月02日 10:38:56   作者:阿珊和她的猫  
Linux中使用zip命令压缩文件的方法,包括-r参数指定压缩包名,-x参数排除特定文件,-j只保存文件内容不保存目录结构等选项

概念

  • zip -r xxx.zip zzz -x dirname
  • xxx 文件名
  • zzz 目录名
  • -r 参数跟的是压缩包名
  • 没有参数的是要压缩的目录或者文件
  • -x 参数跟的是要排除的文件和目录

举例

比如:

zip -r code03.zip  inurse-egg-server -x /inurse-egg-server/node_modules/*
  • code03是我们压缩到本地的名字(自己命名)
  • inurse-egg-server是我们线上存在的要压缩的文件
  • -x 后面接着的/inurse-egg-server/node_modules/*是我们要排除的文件

(注意最前面需要加/斜杠)

可以用 man zip 命令查看命令的说明手册

Linux zip 命令用于压缩文件。

zip 是个使用广泛的压缩程序,压缩后的文件后缀名为 .zip。

  • A 调整可执行的自动解压缩文件。
  • -b<工作目录> 指定暂时存放文件的目录。
  • -c 替每个被压缩的文件加上注释。
  • -d 从压缩文件内删除指定的文件。
  • -D 压缩文件内不建立目录名称。
  • -f 更新现有的文件。
  • -F 尝试修复已损坏的压缩文件。
  • -g 将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件。
  • -h 在线帮助。
  • -i<范本样式> 只压缩符合条件的文件。
  • -j 只保存文件名称及其内容,而不存放任何目录名称。
  • -J 删除压缩文件前面不必要的数据。
  • -k 使用MS-DOS兼容格式的文件名称。
  • -l 压缩文件时,把LF字符置换成LF+CR字符。
  • -ll 压缩文件时,把LF+CR字符置换成LF字符。
  • -L 显示版权信息。
  • -m 将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。
  • -n<字尾字符串> 不压缩具有特定字尾字符串的文件。
  • -o 以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同。
  • -q 不显示指令执行过程。
  • -r 递归处理,将指定目录下的所有文件和子目录一并处理。
  • -S 包含系统和隐藏文件。
  • -t<日期时间> 把压缩文件的日期设成指定的日期。
  • -T 检查备份文件内的每个文件是否正确无误。
  • -u 与 -f 参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。
  • -v 显示指令执行过程或显示版本信息。
  • -V 保存VMS操作系统的文件属性。
  • -w 在文件名称里假如版本编号,本参数仅在VMS操作系统下有效。
  • -x<范本样式> 压缩时排除符合条件的文件。
  • -X 不保存额外的文件属性。
  • -y 直接保存符号连接,而非该连接所指向的文件,本参数仅在UNIX之类的系统下有效。
  • -z 替压缩文件加上注释。
  • -$ 保存第一个被压缩文件所在磁盘的卷册名称

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • linux 分区,格式化,挂载的命令详细介绍

    linux 分区,格式化,挂载的命令详细介绍

    这篇文章主要介绍了linux 分区,格式化,挂载的命令详细介绍的相关资料,这里对命令进行了详解并附简单实例说明该如何实现,需要的朋友可以参考下
    2016-11-11
  • Linux内存泄露的原因排查和解决方案(内存管理方法)

    Linux内存泄露的原因排查和解决方案(内存管理方法)

    文章主要介绍了运维团队在Linux处理LB服务内存暴涨、内存报警问题的过程,从发现问题、排查原因到制定解决方案,并从中学习了Linux内存管理的相关知识
    2025-02-02
  • linux如何关闭numa

    linux如何关闭numa

    这篇文章主要介绍了linux如何关闭numa问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • Linux系统常用命令速查指南

    Linux系统常用命令速查指南

    这篇文章主要为大家详细介绍了Linux中的系统常用命令,部署流程及故障排查方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2026-04-04
  • linux本机进程间通信之UDS详解

    linux本机进程间通信之UDS详解

    文章介绍了Unix域套接字(UDS)的使用方法,这是一种在同一台主机上不同进程间通信的方式,UDS支持三种套接字类型:SOCK_STREAM、SOCK_DGRAM和SOCK_SEQPACKET,创建UDS需要指定协议族AF_UNIX和相应的套接字类型,与AF_INET不同
    2025-03-03
  • Linux内核参数调整方法

    Linux内核参数调整方法

    由于Linux的内核参数信息都存在内存中,因此可以通过命令直接修改,并且修改后直接生效。但是,当系统重新启动后,原来设置的参数值就会丢失,而系统每次启动时都会自动去/etc/sysctl.conf文件中读取内核参数,因此将内核的参数配置写入这个文件中,是一个比较好的选择。
    2017-11-11
  • CentOS+Nginx+PHP+MySQL详细配置(图解)

    CentOS+Nginx+PHP+MySQL详细配置(图解)

    CentOS+Nginx+PHP+MySQL详细配置(带有图解),需要的朋友可以参考下。
    2011-03-03
  • Linux利用inotify和rsync服务实现数据实时同步的原理解析

    Linux利用inotify和rsync服务实现数据实时同步的原理解析

    inotify是系统内核的一个监控服务,属于操作系统内核的一个特有机制,用于监控文件的信息变化,这篇文章主要介绍了Linux利用inotify和rsync服务实现数据实时同步,需要的朋友可以参考下
    2022-10-10
  • Ubuntu搭建Eclipse+JDK+SDK的Android开发环境

    Ubuntu搭建Eclipse+JDK+SDK的Android开发环境

    本篇文章主要介绍了Ubuntu搭建Eclipse+JDK+SDK的Android开发环境,有兴趣的同学可以了解一下。
    2016-11-11
  • Linux环境宿主机进入Docker容器实现过程

    Linux环境宿主机进入Docker容器实现过程

    文章介绍了如何在Linux宿主机中进入Docker容器,并提供了进入MySQL容器的示例命令,还介绍了如何在Docker和宿主机之间复制文件
    2025-10-10

最新评论