当前位置: 首页 > news >正文

linux zip压缩排除目录,Linux系统zip压缩命令详细参数,附文件排除选项的正确用法...

这次给博客添加了纯代码缓存之后,发现缓存文件竟然达到了50多MB!而我的服务器每次还需要同步至七牛,文件体积的增加都会增加文件远程同步备份的时间。因此,我第一想到的办法就是在网站ZIP压缩打包的时候排除缓存文件夹。

下面是从网上找来的ZIP命令参数:

zip Linux上适用的参数:

-1 : 最快压缩,压缩率最差。

-9 : 最大压缩,压缩率最佳。

-b : 暂存文件的路径。这个参数一般在要产生的 zip 文件存在,而硬盘现有空间不足时。

-c : 替新增或更新的文件增加一行注解。

-d : 从 zip 文件移出一个文件。

-D : 不要在 zip 文件中储存文件的目录信息。

-f : 以新文件取代现有文件。

-F : 修复已经损毁的压缩文件。

-g : 将文件压缩附加到 zip 文件中。

-h : 显示辅助说明。

-i : 指定要含入的某些特定文件。

-j : 只储存文件的名称,不含目录。

-k : 强迫使用 MSDOS 格式文件名。

-l : 将 CR ( Carriage Return ) LF ( Line Feed ) 转换成 LF,一般是要将 MS-DOS 上的文本文件压缩后拿到 UNIX 下使用时才使用此参数。这只适用于文本文件 ( .txt ),如果用于二进制文件则会造成二进制文件损毁。

-L : 显示 zip 命令的版权。

-m : 将特定文件移入 zip 文件中,并且删除特定文件。

-n : 不压缩特定扩展名的文件。

-o : 将 zip 文件的时间设成最后修正 zip 文件的时间。

-q : 安静模式,不会显示相关讯息和提示。

-r : 包括子目录。

-t : 只处理 mmddyy 日期以后的文件。

-T : 测试 zip 文件是否正常。

-u : 只更新改变过的文件和新文件。

-v : 显示版本资讯或详细讯息。

-x : 不需要压缩的文件。

-y : 将 symbolic link 压缩,而不是压缩所连结到的文件。

-z : 为 zip 文件增加注解。

-# : 设定压缩速度,-0 表示不压缩,-1 表示最快速度的压缩,

-9 :表示最慢速度的压缩 ( 最佳化的压缩 ),预设值为 -6。

[email protected] : 从标准输入读取文件名称。

其中-x参数表示不需要压缩的文件。按tar命令操作经验,我直接如下执行命令:

zip -9r -x *cache* backupfile.zip /www/backupdir

发现报如下错误:

zip error: Invalid command arguments (nothing to select from)

然后man了一下,找到如下-x参数说明:

dc8de622d7d5edf804c0b04aaec66e4a.png

按照-x的参数说明

-x files

--exclude files

Explicitly exclude the specified files, as in:

zip -r foo foo -x \*.o

which will include the contents of foo in foo.zip while excluding all the files that end in .o. The backslash avoids the shell filename

substitution, so that the name matching is performed by zip at all directory levels.

如下继续测试:

[[email protected]_Server ~]# zip -r -x \*.txt test.zip test1/

zip error: Invalid command arguments (nothing to select from)

0a2c0557b36ea0b68b6842a8f600efc8.png

还是报同样错误!真是奇怪了!

最终,经多次测试,才知道zip命令压缩文件时正确的排除方法(-r表示包含子目录文件):

zip -rx=excludefiles zipfile.zip filepath

比如,要压缩test文件目录及目录下的所有文件,而要排除所有txt格式,执行如下命令即可:

zip -r -x=*.txt test.zip test1

900b74c75e482649e0e892d82fcef170.png

又比如,我现在要压缩网站文件时排除所有缓存文件:

zip -rx=zhang.ge/cache/* zhang.ge.zip /wwwroot/zhang.ge

原来,-x参数是用等号来连接需要排除的通配关键词的!网上分享的参数都是那么简单一句【-x : 不需要压缩的文件】,却没人分享具体使用方法!而Linux系统下man命令关于zip的介绍,居然也不对,真是奇怪,难道就没人用过这个参数么?

唉,估计大伙都使用tar --excludes去了。

哦了,本文主要是为了补充一下zip排除文件的正确方法,希望能解决你的燃眉之急。

相关文章:

  • linux 内核版本 4.4,Linux Kernel 4.4 正式发布下载
  • linux内核找不到sata分区表,分区表坏了,我的linux不见了
  • amd支持的Linux内核,Linux Kernel 4.7.2版本发布:改善对AMDGPU和ARM64的支持
  • linux grep 获取当天时间段,linux – 如何在一个时间范围内grep httpd error_log?
  • Linux内核i2c通信,绝对干货!基于Cortex-A9,分析Linux内核I2C架构
  • linux中文本文件过滤搜索,Linux命令(八)过滤文本 grep
  • linux获得ram地址,Linux 如何查看系統硬體的記憶體(RAM)資訊
  • linux qt多屏幕输出,QT5 Ubuntu下c++调用linux命令、显示输出、执行多条命令
  • linux 获取时间间隔,获取时间间隔避免误差的方法
  • linux下for循环怎么退出,Linux之for循环进程终止的方法
  • linux cp scp rsync,为什么我的rsync与纯cp甚至scp相比都这么慢?
  • c语言队列的基本操作实验报告,数据结构栈和队列实验报告C语言源码(程序在C-Free下通过) .doc...
  • c语言单片机掉电模式程序,单片机掉电唤醒程序求解
  • 优秀C语言程序设计,C语言程序设计_优秀讲义.ppt
  • c语言交换ab排序流程图,各种排序的流程图 大家帮忙弄一下
  • 2017-08-04 前端日报
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • Debian下无root权限使用Python访问Oracle
  • Flex布局到底解决了什么问题
  • gitlab-ci配置详解(一)
  • Git同步原始仓库到Fork仓库中
  • Java精华积累:初学者都应该搞懂的问题
  • JSONP原理
  • k8s 面向应用开发者的基础命令
  • mockjs让前端开发独立于后端
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • vue--为什么data属性必须是一个函数
  • 判断客户端类型,Android,iOS,PC
  • 前端设计模式
  • 如何解决微信端直接跳WAP端
  • 用Visual Studio开发以太坊智能合约
  • C# - 为值类型重定义相等性
  • 阿里云API、SDK和CLI应用实践方案
  • (3)nginx 配置(nginx.conf)
  • (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)...
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (C++)八皇后问题
  • (Matlab)使用竞争神经网络实现数据聚类
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (四)汇编语言——简单程序
  • (算法二)滑动窗口
  • (学习日记)2024.03.25:UCOSIII第二十二节:系统启动流程详解
  • (转)EXC_BREAKPOINT僵尸错误
  • (状压dp)uva 10817 Headmaster's Headache
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .a文件和.so文件
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器
  • .net的socket示例