文章目录
  • ↑标题
  • ↓评论
  • zip|压缩文件/目录(zip in shell)

    #Shell手册 #压缩解压 穿卡芦苇

    基本用法

    • 压缩一个文件📃
        zip demo.zip demo.txt  
    • 压缩一个文件夹📁
        使用 -r 选项。   假设当前目录下有个“work”文件夹,   举例:zip -r work.zip work  

    压缩时排除文件或文件夹

    自定义排除文件/文件夹,使用 -x 选项(小写的 x)

    排除文件夹

    还是以“work”文件夹举例,

    • 假设要排除 work 根路径下的“node_modules”文件夹,
        zip -r work.zip work -x "/node_modules/*"  
    • 要排除 work 路径下所有的“node_modules”文件夹,包括 work 的子目录里的。
        zip -r work.zip work -x "*/node_modules/*"  
    • 排除名称以“_”开头的文件夹
        合理使用通配符“*”,   zip -r work.zip work -x "*/_*/*"   以“_”开头的文件不会被排除  

    排除文件

    • 排除根目录下的单个文件
        例如要排除“foo.tmp”,   zip -r work.zip work -x foo.tmp  
    • 排除所有非必要的 Mac 资源/系统文件
        例如 “_MACOSX”、 “.DS_Store” 文件,   zip -r work.zip work -x "*/_MACOSX" -x "*/.DS_Store"  
    • 排除所有后缀名为“.tmp” 的文件
        zip -r work.zip work -x "*/*.tmp"  
    • 排除文件名以“_”开头的所有文件
        zip -r work.zip work -x "*/_*"   ⚠️注意:以“_”开头的子文件夹也会被排除  

    排除规则很多?

    可以把排除规则放在一个文件里,例如“exclude.lst”,每行一个,不要用""引号。例如:

    exclude.lst 文件内容:

    */_MACOSX
    */.DS_Store
    */node_modules/*
    */_*/*
    

    命令:zip -r work.zip work [email protected]

    只压缩指定的文件/文件夹

    使用 -i 选项(include) 更多命令参考:https://ss64.com/osx/zip.html

    相关文章


    (正文结束。芝士就是力量!