How do I make a .zip file that contains every file AND every folder in the directory?
Asked
Active
Viewed 3.8e+01k times
4 Answers
183
zip -r foo.zip dir_path
Wesley Rice
- 2,180
- 1
- 12
- 7
-
1The -r means recursive and tells it to go through all of the sub folders. You don't really need the `.zip` on the filename (`foo.zip`) as it will create this anyway. – user2924019 Jul 21 '16 at 07:50
-
@user2924019's comment that you dont need to specify the zip name is not true in CentOS7. – killjoy Jan 21 '18 at 16:14
-
-
4Well, we've come to what is known as a Mexican standoff, now haven't we? – seizethecarp Mar 02 '18 at 21:51
-
1I'm on CentOS-7 (7.5 to be exact). I ran `zip -r foo my_folder` and ended up with a `foo.zip`. Hopefully this standoff can finally come to an end. – harperville Jun 24 '20 at 02:08
-
`zip -r foo.zip dir1_path dir2_path dir3_path` to archive multiple directories. – igor Jul 26 '23 at 21:53
25
Try:
zip -r filename.zip /path/to/folder
Note - this will go recursively, i.e. it will zip all folders and all subfolders of the given folder.
icyrock.com
- 5,247
- 2
- 31
- 30
-
where obviously `/path/to/folder` can be a regex, like `/path/to/folder/myprefix*`, which will put in the archive only the files and folders starting by `myprefix`. – Tms91 Jun 29 '23 at 15:48
6
Use the -r option. From zip(1):
-rTravel the directory structure recursively; for example:
zip -r foo foo
The name of the zip file comes first. "Recursively" means that the zip file will include subfolders of the given folder, the subfolders of those folders, and so on.
PleaseStand
- 4,879
- 1
- 19
- 24
4
If you are bound to a zip, I'd use:
zip -r zipfilename directoryPath
The -r is the key, but you can find all the options here.
Amal Murali
- 806
- 1
- 9
- 23