Dosyaları OS X terminalinden sıkıştırmak?


50

Finder'da, bir dosyaya veya dizine sağ tıklamak, açılır listeden sıkıştırmayı seçmek ve sıkıştırılmış bir dosyaya son vermek için harika bir yetenek vardır.

Aynı şeyi terminalden yapmak mümkün mü?

Yanıtlar:


69

Buna denir zip.

Bu dosyayı filearşive ekler file.zip:

zip file.zip file

Elbette, daha fazla dosya eklemek için onları komuta argüman olarak eklemeniz yeterli. man zipDaha fazla seçenek için göz atın .

Genellikle, bu sinir bozucu .DS_Storedosyaları dahil etmek , örneğin tüm klasörü folderiçine sıkıştırmak gibi atlamak istersiniz folder.zip:

zip -vr folder.zip folder/ -x "*.DS_Store"

zip kelimesinin arkasındaki (1) sözcük nedir?
Jacob Raccuia


OS X ile gelen düz eski GNU zip mi?
mwfearnley

@mwfearnley macOS altında, bu Copyright (c) 1990-2008 Info-ZIP. developer.apple.com/legacy/library/documentation/Darwin/…
slhck

manpage link kırıldı .. sadece man zipkomut satırında kullanın
commonpike

15

Dosyaları tam olarak Finder komutu gibi sıkıştırmak için bunları kullanın:

ditto -c -k --sequesterRsrc --keepParent src_directory archive.zip

Detaylar man dittoiçin bakınız:

 The command:
       ditto -c -k --sequesterRsrc --keepParent src_directory archive.zip
 will create a PKZip archive similarly to the Finder's Compress function-
 ality.

3
Bu en iyi cevap, aynı bir zip ürettiği için CLI zip veya katranın farklı ve biraz daha küçük olması nedeniyle. Aynı cevabı olan benzer bir soru: stackoverflow.com/questions/10738505/…
Henry Blyth

5

Orada katran (1) ve gzip (veya bzip2 veya lzma). Tar bir çok dosyayı bir arşive çekmek için kullanılırken, diğer üçünden biri sıkıştırmak için kullanılır.

Komut satırında, arşiv oluşturmak ve onu sıkıştırmak için birkaç seçenek içeren tar komutunu çağırırsınız.

Örneğin:

tar -c -z -f myarchive.tar.gz -C /home/username Downloads

Bu wil -c , -C hange-folder-dizininden -f ile ismini taşıyan ag -z ılgili bir arşivi yeniden gösterir ve Yüklemeler klasöründeki tüm dosyaları içerir. -C seçeneği isteğe bağlıdır ve ihmal edilirse kaynak dosya argümanları geçerli klasörden alınacaktır.

Referans için: tar öğretici

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.