Mac中命令行zip压缩文件或者目录时,取出隐藏文件和系统文件的方法

基本命令:

zip <压缩包名.zip> <压缩文件...>

去除系统文件和隐藏文件的关键参数是

-x   exclude the following names (压缩时不包括的文件名)

1、压缩目录,只去除当前目录下的隐藏文件

zip 压缩包.zip 压缩目录/* -x ".*"

例如压缩当前目录下的test目录下所有文件

zip test.zip ./test/* -x ".*"

这里是不会递归压缩test目录下的子目录,如果要将子目录下的文件也打包压缩怎么办呢?使用另外一个参数

-r   recurse into directories (递归目录)

修改上面的命令即:zip -r test.zip ./test/* -x ".*"

注意此时的压缩只是将test目录下的隐藏文件去除了,并没有将子目录下的隐藏文件去除,那么子目录下的隐藏文件如何去除呢?

继续修改命令:

zip -r test.zip ./test/* -x "*/.*" -x ".*"

至此,压缩目录时就会去除目录下的隐藏文件了

==================================================

更简便的方法:

修改当前用户根目录下的.bash_profile文件(也可以放到环境配置文件中),在文件内容下添加

 alias zip='zip -x "*/.*" -x ".*"'

保存退出。并执行source .bash_profile命令即可生效。

原文地址:https://www.cnblogs.com/linxyz/p/3750780.html