Odpowiedzi:
Tar to narzędzie do archiwizacji, a gzip to narzędzie do kompresji. Aby skompresować pełny katalog, najpierw musisz zarchiwizować go w jednym pliku. Właśnie tym zadaniem jest smoła. a następnie kompresujesz zarchiwizowany plik. Możesz wykonać oba zadania jednym poleceniem tar z odpowiednią opcją.
tar -czf nazwa_folderu.tar.gz nazwa_folderu /
Jeśli nie chcesz tworzyć archiwum tar (możesz chcieć skompresować tylko jeden plik), możesz bezpośrednio użyć polecenia gzip.
gzip file.txt
Stworzy skompresowany plik o nazwie file.txt.gz
-czf
po tar
dotyczą: c
wskazuje, że chcesz utworzyć archiwum tar, z
stosuje się gzip
na pośredniej archiwum tar, a f
to dla późniejszego końcowego nazwy pliku folder_name.tar.gz
.
gzip file.txt
zastępuje oryginalny plik.
gzip -k file.txt
do „zatrzymywania” (nie usuwania) pliku wejściowego.
Jeśli ktoś nadal znajduje to pytanie podczas wyszukiwania „gzip na Macu”, napisałem przewodnik, że może być przydatny dla kogoś innego. Oto jest:
Najbardziej podstawowe polecenie skompresuje plik, filename.ext
a następnie zastąpi go filename.ext.gz
w tym samym katalogu.
gzip filename.ext
Jeśli nie chcesz utracić oryginalnego pliku, musisz przesłać dane wyjściowe gzip -c
do pliku.
gzip -c filename.ext > anotherfile.gz
Możemy również kompresować ze standardowego wejścia, więc możemy kompresować dane wyjściowe innych poleceń.
cat filename.ext | gzip > anotherfile.gz
OS X jest również wyposażony w polecenia compress
i uncompress
. Tworzą „mądrzejszy” gzip, ponieważ nie kompresuje pliku, jeśli powiększy się po procesie kompresji. Następujące polecenie zastępuje filename.ext
się filename.ext.Z
w tym samym katalogu.
compress filename.ext
Aby przywrócić plik do stanu nieskompresowanego, możesz użyć gzip lub innego opakowania. Tryb dekompresji gzip jest wywoływany z -d
flagą. Ten tryb będzie zastąpić plik filename.ext.gz
ze filename.ext
w tym samym katalogu. Istnieje także skrót gunzip
, który zrobi to samo.
gzip -d filename.ext.gz
gunzip filename.ext.gz
Możemy również przesłać zdekompresowany plik do standardowego wyjścia, aby zapisać go w innym pliku.
gzip -cd filename.ext.gz > anotherfile
gunzip -c filename.ext.gz > anotherfile
Innym szybkim sposobem odczytywania zawartości gzip na standardowe wyjście jest to zcat
, że jest to w zasadzie to samo, co wywoływanie, gzip -cd
ale można wywoływać wiele plików i łączyć je w taki sam sposób, jak cat
polecenie konkatowania plików tekstowych. Jedyną wadą jest to, że pliki muszą być wyposażone w .Z
sufiks, aby działał ...
zcat filename.ext.Z
zcat file_a.Z file_b.Z file_c.Z
Ale nie bój się! zcat
nadal jest przydatny, ponieważ może dekompresować ze standardowego wyjścia. Możesz więc w zasadzie potokować swoje pliki do Zcat, aby rozpakować je w oknie terminala.
cat filename.ext.gz | zcat
Jest to bardzo przydatne, jeśli chcesz naprawdę szybko sprawdzić zawartość pliku, a nawet zapisać wynik programu zcat w pliku, równie łatwo.
cat filename.ext.gz | zcat > anotherfile
uncompress
Wrapper działa podobnie gzip -cd
, ale wygląda na pliki z rozszerzeniem .Z zastąpić je w bieżącym katalogu, więc trzeba tylko podać nazwę pliku, który chcesz przywrócić, ale to jest w porządku, jeśli nazwać to z rozszerzeniem .z, jak program zignoruje to.
compress filename.ext
uncompress filename.ext
Mam nadzieję, że mój przewodnik okaże się przydatny :)
Tak, najpierw musisz spakować katalog. Polecenie tar może wykonywać zarówno:
tar -czf archiv.tar.gz mydir/
wypakuj swoje archiwum:
tar -xzf archiv.tar.gz
Aby dodać do odpowiedzi @taskinoor: jeśli używasz wersji z jednym plikiem, alias
gzip file.txt
pamiętaj, że oryginalny plik (plik.txt) zostanie usunięty, a będziesz mieć tylko plik.txt.gz
Umieściłbym to jako komentarz, ale nie mam dość karmy, aby to zrobić: =)
gzip --keep file.txt
zachowa oryginał i utworzy file.txt.gz
. Zobaczyć gzip --help
.
Tak, to jest poprawne. gzip
może kompresować tylko plik. tar
koduje zawartość katalogów w jednym pliku, który można dodatkowo sprężonego za pomocą gzip
, bzip2
, lzma
lub cokolwiek innego.
objective-c
ale pytasz o wiersz poleceń.