109

In Linux I can zip all(except hidden files) in current directory by doing:

zip 1.zip *

But how do I include the hidden files?

john-jones
  • 7,490
  • 18
  • 53
  • 86

8 Answers8

197

EDIT: The correct way is zip -r 1.zip .

The commands shown in my previous answer below are incorrect because they also include the parent directory.


Have you tried this:

zip yourfile.zip sourcedir/* .*

or you in your case

zip 1.zip * .[^.]*

It should include all hidden files also.

Rafa
  • 2,879
  • 2
  • 21
  • 27
Gunnar
  • 2,585
  • 4
  • 21
  • 22
24

Or you can add more simple

zip 1.zip ./
pictoru
  • 722
  • 6
  • 17
17

Just to be sure it is not forgotten since this is a forum for developers and a good number of us use git.

An easy way to get only what you want in the zip is to use git archive -o filename.zip branch

code
  • 4,073
  • 3
  • 27
  • 47
7

If you want to zip all files (+hidden files) Kindly using: zip -r namefiles.zip . The "." is all files in folder.

zip -r namefiles.zip "folder will zip"
D z
  • 105
  • 1
  • 3
6

On macOS 10.15.7 I had to separatelly add all dot leading files (\.*) and rest of the files (*):

zip -r file.zip \.* *
Viliam Jobko
  • 305
  • 3
  • 8
2

if you don't have rights to save zip file in current dir you can go to dir where you have rights and type

zip -r 1.zip /path/to/source/dir/.

However when if in .../some_dir you type

unzip 1.zip

then your files will be decompress into .../some_dir/path/to/source/dir/

Kamil Kiełczewski
  • 85,173
  • 29
  • 368
  • 345
1

If you'd like to save some subdirectory of the current directory recursively with hidden and regular files just type

$ zip -r backup_subdirectory.zip backup_subdirectory/. backup-subdirectory/*

And for unzipping:

$ unzip backup_subdirectory.zip 

Or even simpler by using tar for creating an archive:

$ tar czvf backup_subdirectory.tar.gz backup_subdirectory/

And for extracting all files from the archive:

$ tar xzvf backup_subdirectory.tar.gz
Vitalii
  • 53
  • 1
  • 7
1
zip -r 1.zip .* -x "../*"

Just doing zip -r 1.zip .* will include the parent folder as well so the trick is to exclude the parent folder using -x "../*"

Arpan Sarkar
  • 2,301
  • 2
  • 13
  • 24