Zazwyczaj zakładałem, że tar
było to narzędzie do kompresji, ale nie jestem pewien, czy faktycznie kompresuje pliki, czy jest to tak jak plik ISO, plik do przechowywania plików?
tar
compression
Doktor
źródło
źródło
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.
źródło
thing.tar.7z
z
i określa metodę kompresji na podstawie rozszerzenia, podczas gdy tar GNU ma osobnezZjJ
argumenty dla różnych metod kompresji.zZjJ
kompresji tak jak tar GNU. Jednak automatycznie wykrywa kompresję podczas dekompresji, podczas gdy GNU tarzZjJ
również tego oczekuje .tar
dekompresują się automatycznie, bez konieczności korzystania z-zZjJ
opcji.tar
tworzy archiwa; Kompresja jest osobną funkcją. Jednaktar
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.
źródło
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, nptar cf - .|gzip -9v > archive.tar.gz
. Znajdziesz także archiwa kończące się.tgz
nptar 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
.źródło
Narzędzie tar nie kompresuje się, dopóki nie podasz argumentu [nazwa pliku tar -z].
źródło