Spakowanie folderów i ich zawartości do pliku .zip w systemie Linux

80

Jak zrobić plik .zip, który zawiera każdy plik ORAZ każdy folder w katalogu?


źródło
Czy to musi być plik .zip, czy zaraz po skompresowanym pliku?
1
Używam 'tar': tar -zcvf archive.tar.gz katalog / unix.stackexchange.com/questions/93139/…
njuhgn

Odpowiedzi:

124
zip -r foo.zip dir_path
Wesley Rice
źródło
-R oznacza rekurencyjny i każe mu przejść przez wszystkie podfoldery. Tak naprawdę nie potrzebujesz .zipnazwy pliku ( foo.zip), ponieważ i tak ją utworzy.
user2924019,
Komentarz @ user2924019, że nie trzeba określać nazwy zip, nie jest prawdziwy w CentOS7.
killjoy
CentOS7 jest dokładnie tam, gdzie to przetestowałem.
user2924019
1
Cóż, doszliśmy do tak zwanego meksykańskiego dystansu, prawda?
seizethecarp
16

Próbować:

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

Uwaga - przejdzie rekursywnie, tzn. Spakuje wszystkie foldery i wszystkie podfoldery danego folderu.

icyrock.com
źródło
5

Użyj -ropcji. Od zip (1) :

-r

Podróżuj rekurencyjnie po strukturze katalogów; na przykład:

zip -r foo foo

Nazwa pliku zip jest najważniejsza. „Rekurencyjnie” oznacza, że ​​plik zip będzie zawierać podfoldery danego folderu, podfoldery tych folderów i tak dalej.

Proszę wstać
źródło
Gdzie idzie plik .zip po skompresowaniu?
Siraj Alam
3

Jeśli jesteś związany zipem, użyłbym:

zip -r zipfilename directoryPath

To -rjest klucz, ale wszystkie opcje znajdziesz tutaj .

Amal Murali
źródło