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
-czfpo tardotyczą: cwskazuje, że chcesz utworzyć archiwum tar, zstosuje się gzipna pośredniej archiwum tar, a fto dla późniejszego końcowego nazwy pliku folder_name.tar.gz.
gzip file.txtzastępuje oryginalny plik.
gzip -k file.txtdo „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.exta następnie zastąpi go filename.ext.gzw tym samym katalogu.
gzip filename.ext
Jeśli nie chcesz utracić oryginalnego pliku, musisz przesłać dane wyjściowe gzip -cdo 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 compressi uncompress. Tworzą „mądrzejszy” gzip, ponieważ nie kompresuje pliku, jeśli powiększy się po procesie kompresji. Następujące polecenie zastępuje filename.extsię filename.ext.Zw 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 -dflagą. Ten tryb będzie zastąpić plik filename.ext.gzze filename.extw 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 -cdale można wywoływać wiele plików i łączyć je w taki sam sposób, jak catpolecenie konkatowania plików tekstowych. Jedyną wadą jest to, że pliki muszą być wyposażone w .Zsufiks, aby działał ...
zcat filename.ext.Z
zcat file_a.Z file_b.Z file_c.Z
Ale nie bój się! zcatnadal 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
uncompressWrapper 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.txtzachowa oryginał i utworzy file.txt.gz. Zobaczyć gzip --help.
Tak, to jest poprawne. gzipmoże kompresować tylko plik. tarkoduje zawartość katalogów w jednym pliku, który można dodatkowo sprężonego za pomocą gzip, bzip2, lzmalub cokolwiek innego.
objective-cale pytasz o wiersz poleceń.