Odpowiedzi:
Tar jest narzędziem do archiwizacji (Tape ARchive), zbiera tylko pliki i ich metadane razem i tworzy jeden plik. Jeśli chcesz później skompresować ten plik, możesz użyć gzip / bzip2 / xz. Dla wygody tar udostępnia argumenty do automatycznego skompresowania archiwum. Kasy na stronę man tar więcej szczegółów.
thing.tar.7z
z
i określa metodę kompresji na podstawie rozszerzenia, podczas gdy tar GNU ma osobne zZjJ
argumenty dla różnych metod kompresji.
zZjJ
kompresji tak jak tar GNU. Jednak automatycznie wykrywa kompresję podczas dekompresji, podczas gdy GNU tar zZjJ
również tego oczekuje .
tar
dekompresują się automatycznie, bez konieczności korzystania z -zZjJ
opcji.
tar
tworzy archiwa; Kompresja jest osobną funkcją. Jednak tar
sam może zmniejszyć zużycie miejsca, gdy jest używany do dużej liczby małych plików, które są mniejsze niż rozmiar klastra systemu plików. Jeśli system plików używa klastrów 1kb, nawet plik zawierający pojedynczy bajt zużyje 1kb (plus i-węzeł). tar
Archiwum nie ma tego narzutu.
BTW, plik ISO nie jest tak naprawdę „plikiem do przechowywania plików” - to w rzeczywistości obraz całego systemu plików (pierwotnie zaprojektowanego do użycia na płytach CD), a zatem jego struktura jest znacznie bardziej złożona.
Oryginalne polecenie tar systemu UNIX nie kompresowało archiwów. Jak wspomniano w komentarzu, tar Solaris nie kompresuje się. Ani HP-UX, ani AIX, FWIW. Zgodnie z konwencją archiwa nieskompresowane kończą się na .tar
.
Z GNU / Linux dostajesz GNU tar. (Możesz zainstalować GNU tar na innych systemach UNIX.) Domyślnie nie kompresuje się; jednak robi kompresji wynikającą z archiwum gzip (również przez GNU), jeśli dostarczy -z
. Tradycyjny sufiks dla plików spakowanych gzip jest .gz
taki, że często zobaczysz tarballi (slang dla archiwum tar, zwykle sugerujący, że został skompresowany), które kończą się na .tar.gz
. To zakończenie oznacza, że uruchomiono tar, a następnie gzip, np tar cf - .|gzip -9v > archive.tar.gz
. Znajdziesz także archiwa kończące się .tgz
np tar czf archive.tgz .
.
Edycja: www.linfo.org/tar.html przypomniało mi, że GNU tar obsługuje znacznie więcej funkcji niż tylko kompresowanie za pomocą gzip, i przypomniało mi, że sufiksy to coś więcej niż zwykłe konwencje. Mają wbudowaną semantykę. Obsługuje również bzip2 ( -j
for .bz2
) i stary kompres ( -Z
for .Z
). Potem spojrzałem na stronę podręcznika i przypomniano mi, że -a
automatycznie mapuje wybraną metodę kompresji na podstawie sufiksu.
Jeszcze jedna nitka. Jak mówi strona podręcznika systemowego tar Linux, GNU tworzy strony informacyjne, a nie strony podręcznika man, więc aby dowiedzieć się wszystkiego o tar tar GNU, uruchom info tar
.