Comprimi il contenuto di una cartella senza includere la cartella stessa


78

Ho una directory chiamata folderche assomiglia a questa:

folder
      -> root_folder
                    -> some files

Voglio comprimere questa directory in zipped_dir, ho provato:

zip -r zipped_dir.zip folder/*

Ma questo genera un ZIP simile al seguente:

zipped_dir
          -> folder
                   -> root_folder
                                 -> some files

in altre parole, include la directory di cui voglio comprimere i contenuti. Come posso escludere questa directory principale dallo ZIP, senza spostare nulla?

IE Vorrei questo risultato finale:

zipped_dir
          -> root_folder
                        -> some files

Risposte:


75

Prova a usare questo comando (otterrai l'idea)

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

Forse c'è un altro modo, ma questo è il più veloce e semplice per me :)


2
funziona perfettamente facendo quel trucco. nota: farà un chroot .
Loretoparisi,

equivalente:zip -r zipped_dir.zip folder/*
Tobias Kolb,

5
@TobiasKolb, forse non leggi la domanda. OP non vuole avere una cartella nel percorso memorizzato in zip.
Romeo Ninov,

2
Sembra l'unico modo per farlo
Robert,

1
@PabloDiaz, nel mio esempio cd -farà il lavoro (solo un comando) :) Oppurecd ..
Romeo Ninov,

31

Utilizzare -j; per esempio:zip -r -j zipped_dir.zip folder/*

Non comprime 'root_folder'.


7
Ottengo un errore con questo se ho due file con lo stesso nome.
Chris,

11
OP probabilmente desidera rimuovere solo la directory principale, non tutte.
tokland

Crea ancora directory zip -r -j package.zip ./dist/static/*rende la struttura dell'archiviodist/static/myfiels
deathangel908,

4
appiattisce anche i file della directory figlio.
Sumit Ramteke,

3
l' -jopzione elimina tutte le informazioni sulla directory e salva solo i file. Cioè, per archiviare tutti i file in una directory in modo "piatto".
Robert,

5
zip -r -D zipped.zip *

-D indica a zip di non creare directory.


0

Questo è ciò che funziona per me:

7z a zipped.zip ./rootDir/*

Creerà un ziparchivio con root: qualsiasi file / directory all'interno rootDir.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.