Kompresować pliki z terminala OS X?


50

W Finderze istnieje wspaniała możliwość kliknięcia prawym przyciskiem myszy pliku lub katalogu, wybrania kompresji z menu rozwijanego i uzyskania skompresowanego pliku.

Czy można zrobić to samo z terminalu?

Odpowiedzi:


69

To się nazywa zip.

Spowoduje to dodanie pliku filedo archiwum file.zip:

zip file.zip file

Oczywiście, aby dodać więcej plików, po prostu dodaj je jako argumenty do polecenia. Sprawdź man zipwięcej opcji.

Często będziesz chciał pominąć te nieznośne .DS_Storepliki, na przykład kompresując cały folder folderdo folder.zip:

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

co to jest (1) po słowie zip?
Jacob Raccuia


Czy to zwykły stary GNU zip dostarczany z systemem OS X?
mwfearnley,

@mwfearnley Pod macOS to jest Copyright (c) 1990-2008 Info-ZIP. developer.apple.com/legacy/library/documentation/Darwin/…
slhck 11.11.17

zepsuł się link do strony podręcznika .. po prostu użyj man zipw wierszu poleceń
commonpike

15

Aby skompresować pliki dokładnie tak, jak skompresowałoby je polecenie Findera, użyj:

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

Zobacz man dittoszczegóły:

 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
To najlepsza odpowiedź, ponieważ tworzy identyczny zamek błyskawiczny, podczas gdy zamek błyskawiczny lub smoła CLI jest inny i nieco mniejszy. Podobne pytanie z tą samą odpowiedzią: stackoverflow.com/questions/10738505/...
Henry Blyth

5

Istnieje tar (1) i gzip (lub bzip2 lub lzma). Tar jest używany do zwijania wielu plików do jednego archiwum, podczas gdy jeden z pozostałych trzech służy do kompresji.

W wierszu poleceń wywołujesz tar z kilkoma opcjami, aby utworzyć archiwum i gzip.

Na przykład:

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

To -c utworzy archiwum ag -z ipped o nazwie -f ile z katalogu -C hange-folder-to i będzie zawierać wszystkie pliki w folderze Pobrane. Opcja -C jest opcjonalna, a argumenty pliku źródłowego zostaną pobrane z bieżącego folderu, jeśli zostaną pominięte.

W celach informacyjnych: samouczek tar

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.