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?

linux  zip 

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

-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.


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.


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 .

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.