Bir klasörün içeriğini, klasörün kendisini eklemeden sıkıştırın


77

Buna folderbenzeyen bir dizin var :

folder
      -> root_folder
                    -> some files

Bu dizini sıkıştırmak istiyorum zipped_dir, denedim:

zip -r zipped_dir.zip folder/*

Ancak bu şuna benzeyen bir ZIP oluşturur:

zipped_dir
          -> folder
                   -> root_folder
                                 -> some files

Başka bir deyişle, içeriğini sıkıştırmak istediğim dizin. Hiçbir şey taşımadan bu üst dizini ZIP'den nasıl çıkarabilirim?

IE Bu son sonucu istiyorum:

zipped_dir
          -> root_folder
                        -> some files

Yanıtlar:


75

Bu komutu kullanmaya çalışın (fikri anlayacaksınız)

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

Belki başka bir yolu var, ama bu benim için en hızlı ve en basit :)


2
Bu mükemmel bir şekilde bu numarayı yapıyor. not: yapacak chroot .
loretoparisi

eşdeğeri:zip -r zipped_dir.zip folder/*
Tobias Kolb,

5
@ TobiasKolb, belki soruyu okumazsın. OP , zip içinde kayıtlı yolun içinde klasörün olmasını istemiyor .
Romeo Ninov

2
Yapmanın tek yolu görünüyor
Robert

1
@PabloDiaz, örneğimde cd -işi yapacak (sadece bir komut) :) Veyacd ..
Romeo Ninov

30

Kullanın -j; Örneğin:zip -r -j zipped_dir.zip folder/*

'Root_folder' dosyasını sıkıştırmaz.


7
Aynı adda iki dosya varsa, bu konuda bir hata alıyorum.
Chris,

11
OP muhtemelen sadece üst dizinin kaldırılmasını istiyor, hepsini değil.
tokland

Yine de dizin zip -r -j package.zip ./dist/static/*oluşturur arşiv yapısını yapardist/static/myfiels
deathangel908

4
Bu aynı zamanda alt dizin dosyalarını da düzleştirir.
Sumit Ramteke

3
-jseçenek tüm dizin bilgileri ortadan kaldırmak ve dosyaları kaydedin. Yani, tüm dosyaları tek bir dizinde "düz" bir şekilde saklamak için.
Robert

5
zip -r -D zipped.zip *

-D zip'i dizin oluşturmamasını söyler.


0

İşte benim işime yarayan bu:

7z a zipped.zip ./rootDir/*

zipKök ile bir arşiv oluşturur : içindeki herhangi bir dosya / dizin rootDir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.