Geçerli dizindeki her şeyi sıkıştır


84

Geçerli dizindeki dosya ve klasörler dahil her şeyi Ubuntu'daki tek bir ZIP dosyasına sıkıştırmak ve paketlemek istiyorum.

Bunun için en uygun komut ne olurdu (ve eğer varsa, yüklenmesi gereken aracın adı)?

Düzenleme: Bir klasörü veya birkaç dosyayı dışlamam gerekirse ne olur?

Yanıtlar:


103

Yüklemek zipve kullanmak

zip -r foo.zip .

Sıkıştırma oranını değiştirmek -0için -9( hiç) ile (en) arasındaki bayrakları kullanabilirsiniz.

Dosyalar hariç -xbayrakla yapılabilir . Man sayfasından:

-x files
--exclude files
          Explicitly exclude the specified files, as in:

                 zip -r foo foo -x \*.o

          which  will  include the contents of foo in foo.zip while excluding all the files that end in .o.  The backslash avoids the shell filename substitution, so that the name matching
          is performed by zip at all directory levels.

          Also possible:

                 zip -r foo foo -x@exclude.lst

          which will include the contents of foo in foo.zip while excluding all the files that match the patterns in the file exclude.lst.

          The long option forms of the above are

                 zip -r foo foo --exclude \*.o

          and

                 zip -r foo foo --exclude @exclude.lst

          Multiple patterns can be specified, as in:

                 zip -r foo foo -x \*.o \*.c

          If there is no space between -x and the pattern, just one value is assumed (no list):

                 zip -r foo foo -x\*.o

          See -i for more on include and exclude.

+1 Bir klasör veya dosyayı dışlamak istersem ne olur?
Terry Li

1
@TerryLiYifeng Bu konuda bilgimi içeren cevabımı düzenledim
SkaveRat

18

Sanırım Google üzerinden bu soruya gelen birçok kişi "zip" yazdıklarında "arşivle ve sıkıştır" anlamına geliyor. Bir alternatif zip formatında olan katran :

tar -czf copy.tar.gz whatever/

burada sıkıştırılmış arşiv dosyası copy.tar.gz olacaktır ve içerikler klasördeki her şey olacaktır.

 -c, --create
       create a new archive
 -z, --gzip, --gunzip --ungzip
 -f, --file ARCHIVE
       use archive file or device ARCHIVE

1
Xz için seçenek şudur--J or --xz
Anwar Anwar
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.