基本命令:
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命令即可生效。