Ubuntu – How to create a zip archive of a whole directory via terminal without hidden files

command linezip

I have a project with lots of hidden folders / files in it. I want to create a zip-archive of it, but in the archive shouldn't be any hidden folders / files. If files in a hidden folder are not hidden, they should also not be included.

I know that I can create a zip archive of a directory like this:

zip -r zipfile.zip directory

I also know that I can exclude files with the -x option, so I thought this might work:

zip -r zipfile.zip directory -x .*

It didn't work. All hidden directories were still in the zip-file.

Best Answer

This also excludes hidden files in unhidden directories:

find /full_path -path '*/.*' -prune -o -type f -print | zip ~/file.zip -@