Comprime el contenido de una carpeta sin incluir la carpeta misma


78

Tengo un directorio llamado folderque se ve así:

folder
      -> root_folder
                    -> some files

Quiero comprimir este directorio zipped_dir, intenté:

zip -r zipped_dir.zip folder/*

Pero esto genera un ZIP que se ve así:

zipped_dir
          -> folder
                   -> root_folder
                                 -> some files

en otras palabras, incluye el directorio cuyo contenido quiero comprimir. ¿Cómo puedo excluir este directorio padre del ZIP sin mover nada?

IE me gustaría este resultado final:

zipped_dir
          -> root_folder
                        -> some files

Respuestas:


75

Intente usar este comando (obtendrá la idea)

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

Tal vez hay otra manera, pero esto es más rápido y más simple para mí :)


2
esto funciona perfectamente haciendo ese truco. nota: hará a chroot .
loretoparisi

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

55
@TobiasKolb, tal vez no leas la pregunta. OP no quiere tener la carpeta en la ruta almacenada en zip.
Romeo Ninov

2
Parece la única forma de hacerlo
Robert

1
@PabloDiaz, en mi ejemplo cd -hará el trabajo (solo un comando) :) Ocd ..
Romeo Ninov

31

Uso -j; por ejemplo:zip -r -j zipped_dir.zip folder/*

No comprimirá 'root_folder'.


77
Me sale un error con este si tengo dos archivos con el mismo nombre.
Chris

11
OP probablemente solo quiere eliminar el directorio principal, no todos.
tokland

Todavía crea directorios zip -r -j package.zip ./dist/static/*hace que la estructura de archivodist/static/myfiels
deathangel908

44
también aplana los archivos del directorio secundario.
Sumit Ramteke

3
la -jopción elimina toda la información del directorio y solo guarda archivos. Es decir, almacenar todos los archivos en un directorio de forma "plana".
Robert

5
zip -r -D zipped.zip *

-D indica a zip que no cree directorios.


0

Esto es lo que funciona para mí:

7z a zipped.zip ./rootDir/*

Creará un ziparchivo con root: cualquier archivo / directorio dentro rootDir.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.