Архивирование папок и их содержимого в файл .zip в Linux


80

Как мне сделать файл .zip, который содержит каждый файл И каждую папку в каталоге?

linux  zip 

Это должен быть .zip или вы просто после сжатого файла?

1
Я использую tar: tar -zcvf archive.tar.gz directory / unix.stackexchange.com/questions/93139/…
njuhgn

Ответы:


124
zip -r foo.zip dir_path

Параметр -r означает рекурсивный и указывает, что он должен пройти через все подпапки. Вам не нужно .zipуказывать имя файла ( foo.zip), так как оно все равно будет создано .
user2924019

Комментарий @ user2924019 о том, что вам не нужно указывать имя почтового индекса, неверен в CentOS7.
killjoy

CentOS7 именно там, где я это проверял.
user2924019

1
Ну, мы пришли к тому, что известно как мексиканское противостояние, не так ли?
seizethecarp

16

Пытаться:

zip -r filename.zip /path/to/folder

Обратите внимание - это будет происходить рекурсивно, то есть будет происходить архивирование всех папок и всех подпапок данной папки.


5

Используйте -rопцию. Из почтового индекса (1) :

Путешествовать по структуре каталогов рекурсивно; например:

zip -r foo foo

Имя zip-файла идет первым. «Рекурсивно» означает, что ZIP-файл будет включать в себя подпапки данной папки, подпапки этих папок и т. Д.


Куда отправляется файл .zip после архивирования?
Сирадж Алам

3

Если вы связаны с почтовым индексом, я бы использовал:

zip -r zipfilename directoryPath

Это -rключ, но вы можете найти все варианты здесь .

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.