Архивирование содержимого папки без включения самой папки


78

У меня есть каталог, folderкоторый выглядит так:

folder
      -> root_folder
                    -> some files

Я хочу заархивировать этот каталог zipped_dir, я попытался:

zip -r zipped_dir.zip folder/*

Но это создает ZIP, который выглядит следующим образом:

zipped_dir
          -> folder
                   -> root_folder
                                 -> some files

другими словами, это каталог, содержимое которого я хочу сжать. Как я могу исключить этот родительский каталог из ZIP, ничего не перемещая?

IE я хотел бы этот конечный результат:

zipped_dir
          -> root_folder
                        -> some files

Ответы:


75

Попробуйте использовать эту команду (вы поймете идею)

cd folder; zip -r ../zipped_dir.zip *

Может быть, есть другой способ, но это самый быстрый и простой для меня :)


2
это прекрасно работает, делая этот трюк. обратите внимание: это будет делать chroot .
loretoparisi

эквивалент:zip -r zipped_dir.zip folder/*
Тобиас Колб

5
@TobiasKolb, может быть, вы не читаете вопрос. ОП не хотят иметь папку в сохраненном пути в zip.
Ромео Нинов

2
Кажется, единственный способ сделать это
Роберт

1
@PabloDiaz, в моем примере cd -будет делать работу (только одна команда) :) Илиcd ..
Ромео Нинов

31

Использование -j; например:zip -r -j zipped_dir.zip folder/*

Это не zip 'root_folder'.


7
Я получаю сообщение об ошибке, если у меня есть два файла с одинаковым именем.
Крис

11
OP, вероятно, хочет удалить только родительский каталог, но не все.
Tokland

Тем не менее , создает каталоги zip -r -j package.zip ./dist/static/*делает архивную структуруdist/static/myfiels
deathangel908

4
это также сгладит файлы дочерних каталогов.
Sumit Ramteke

3
-jвариант устранить все данные каталога и сохранять только файлы. То есть хранить все файлы в одном каталоге «плоским» способом.
Роберт


0

Это то, что работает для меня:

7z a zipped.zip ./rootDir/*

Это создаст zipархив с корнем: любые файлы / каталоги внутри rootDir.

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