2010-07-09 11:58:42 +0000 2010-07-09 11:58:42 +0000
67
67
Advertisement

Polecenie do 'gzip' folderu?

Advertisement

Jestem nowy w obsłudze wiersza poleceń Maca. Jak utworzyć gzip folderu w Mac OS X? Kilka osób powiedziało mi, że jeśli chcesz utworzyć gzip folderu, powinieneś go najpierw “tarować”, a następnie “gzipować”. Czy to jest poprawne?

Advertisement
Advertisement

Odpowiedzi (6)

132
132
132
2010-07-09 12:10:37 +0000

Tar jest narzędziem do archiwizacji, a gzip jest narzędziem do kompresji. Aby skompresować cały katalog, najpierw musisz go zarchiwizować do pojedynczego pliku. To właśnie jest zadanie tar. a następnie skompresować zarchiwizowany plik. Oba te zadania można wykonać w jednym poleceniu tar z odpowiednią opcją.

tar -czf folder\_name.tar.gz folder\_name/

Jeśli nie chcesz tworzyć archiwum tar (być może chcesz skompresować tylko pojedynczy plik), możesz użyć bezpośrednio polecenia gzip.

gzip file.txt

Spowoduje to utworzenie skompresowanego pliku o nazwie plik.txt.gz

14
14
14
2015-03-25 02:35:06 +0000

Jeśli ktoś wciąż znajduje to pytanie podczas wyszukiwania “gzip w Macu”, napisałem przewodnik, który może być przydatny dla kogoś innego. Oto on:

Kompresja

Najbardziej podstawowe polecenie skompresuje plik filename.ext, a następnie zastąpi go plikiem filename.ext.gz w tym samym katalogu.

gzip filename.ext

Jeśli nie chcesz stracić oryginalnego pliku, musisz przetworzyć wyjście gzip -c do pliku.

gzip -c filename.ext > anotherfile.gz

Możemy również kompresować ze standardowego wejścia, dzięki czemu możemy kompresować dane wyjściowe innych poleceń.

cat filename.ext | gzip > anotherfile.gz

OS X posiada również komendy compress i uncompress. Dzięki nim gzip jest “mądrzejszy”, ponieważ nie kompresuje pliku, jeśli urósłby on po procesie kompresji. Poniższa komenda zastępuje filename.ext na filename.ext.Z w tym samym katalogu.

compress filename.ext

Dekompresja

Aby przywrócić plik do jego naturalnego, nieskompresowanego stanu, możesz użyć gzipa lub innego z wrapperów. Tryb dekompresji gzipa jest wywoływany z flagą -d. Tryb ten zamieni plik filename.ext.gz na filename.ext w tym samym katalogu. Istnieje również skrót o nazwie gunzip, który zrobi to samo.

gzip -d filename.ext.gz
gunzip filename.ext.gz

Możemy również przekazać zdekompresowany plik na standardowe wyjście, aby zapisać go do innego pliku.

gzip -cd filename.ext.gz > anotherfile
gunzip -c filename.ext.gz > anotherfile

Innym szybkim sposobem na odczytanie zawartości gzipa na standardowe wyjście jest zcat, jest to w zasadzie to samo co wywołanie gzip -cd, ale możesz wywołać wiele plików i zlecić ich konkatenację w taki sam sposób jak komenda cat konkatenuje pliki tekstowe. Jedyną wadą jest to, że twoje pliki muszą mieć przyrostek .Z, aby to zadziałało…

zcat filename.ext.Z
zcat file_a.Z file_b.Z file_c.Z

Ale nie bój się! zcat jest wciąż użyteczny, ponieważ potrafi dekompresować pliki z standardowego wyjścia. Możesz więc w zasadzie przekazać swoje pliki do zcata, aby zostały zdekompresowane w oknie terminala.

cat filename.ext.gz | zcat

Jest to bardzo przydatne, jeśli chcesz szybko sprawdzić zawartość pliku, możesz nawet zapisać wyjście zcat do pliku, tak samo łatwo.

cat filename.ext.gz | zcat > anotherfile

Program uncompress działa jak gzip -cd, ale szuka plików z rozszerzeniem .Z, aby zastąpić je w bieżącym katalogu, więc musisz tylko podać nazwę pliku, który chcesz przywrócić, ale nie szkodzi, jeśli wywołasz go z rozszerzeniem .Z, ponieważ program to zignoruje.

compress filename.ext
uncompress filename.ext

Mam nadzieję, że mój poradnik jest dla Ciebie przydatny :)

4
Advertisement
4
4
2010-07-09 12:03:04 +0000
Advertisement

MacOS X to Unix, więc to powinno działać (to samo działa na GNU/Linux)

tar czvf compressed.tar.gz folder
3
3
3
2010-07-09 22:42:42 +0000

Aby dodać do odpowiedzi @taskinoor: jeśli używasz wersji jednoplikowej, aka

gzip file.txt

bądź świadomy, że oryginalny plik (file.txt) zostanie usunięty i będziesz miał tylko file.txt.gz

Umieściłbym to jako komentarz, ale nie mam wystarczająco karmy, aby to zrobić :=)

3
Advertisement
3
3
2010-07-09 12:04:07 +0000
Advertisement

Tak, musisz najpierw sparsować katalog. Polecenie tar może zrobić obie rzeczy:

tar -czf archiv.tar.gz mydir/

rozpakuj swój archiv:

tar -xzf archiv.tar.gz
1
1
1
2010-07-09 12:04:43 +0000

Tak, to jest poprawne. gzip może skompresować tylko plik. tar koduje zawartość katalogu do pojedynczego pliku, który może być dalej skompresowany przy użyciu gzip, bzip2, lzma lub czegokolwiek innego.

Advertisement

Pytania pokrewne

12
7
5
15
3
Advertisement