Scroll to navigation

TAR(1) Podręcznik GNU TAR TAR(1)

NAZWA

tar - narzędzie archiwizujące

SKŁADNIA

Składnia tradycyjna

tar {A|c|d|r|t|u|x}[GnSkUWOmpsMBiajJzZhPlRvwo] [ARG...]

Składnia uniksowa

tar -A [OPCJE] -f ARCHIWUM ARCHIWUM...

tar -c [-f ARCHIWUM] [OPCJE] [PLIK...]

tar -d [-f ARCHIWUM] [OPCJE] [PLIK...]

tar -r [-f ARCHIWUM] [OPCJE] [PLIK...]

tar -t [-f ARCHIWUM] [OPCJE] [SKŁADOWA...]

tar -u [-f ARCHIWUM] [OPCJE] [PLIK...]

tar -x [-f ARCHIWUM] [OPCJE] [SKŁADOWA...]

Składnia GNU

tar {--catenate|--concatenate} [OPCJE] --file ARCHIWUM ARCHIWUM...

tar --create [--file ARCHIWUM] [OPCJE] [PLIK...]

tar {--diff|--compare} [--file ARCHIWUM] [OPCJE] [PLIK...]

tar --delete [--file ARCHIWUM] [OPCJE] [SKŁADOWA...]

tar --append [--file ARCHIWUM] [OPCJE] [PLIK...]

tar --list [--file ARCHIWUM] [OPCJE] [SKŁADOWA...]

tar --test-label [--file ARCHIWUM] [OPCJE] [ETYKIETA...]

tar --update [--file ARCHIWUM] [OPCJE] [PLIK...]

tar {--extract|--get} [--file ARCHIWUM] [OPCJE] [SKŁADOWA...]

UWAGA

Niniejsza strona podręcznika jest streszczeniem opisu GNU tar. Pełne informacje, w tym przykłady i zalecane sposoby użycia opisano w Podręczniku GNU Tar, dostępnym w formacie texinfo. Jeśli tar i czytnik info są prawidłowo zainstalowane w tym systemie, polecenie

info tar

powinno dać dostęp do pełnego podręcznika.

Podręcznik można przeglądać również korzystając z trybu info edytora emacs(1) oraz w różnych formatach pod adresem

W przypadku rozbieżności między niniejszym podręcznikiem systemowym a Podręcznikiem GNU Tar, ten ostatni należy uważać za rozstrzygający.

OPIS

GNU tar to program archiwizujący, zaprojektowany do umieszczania wielu plików w pliku pojedynczym (archiwum) oraz modyfikowania takich archiwów. Archiwum może być zwykłym plikiem lub urządzeniem (np. napędem taśmowym; stąd pochodzi zresztą nazwa programu, będąca skrótem od taśmowy archiwizator), zlokalizowanym na komputerze lokalnym lub zdalnym.

Style składni opcji

Opcje GNU tar można podać w trzech różnych stylach składni. W składni tradycyjnej pierwszy argument jest zlepkiem liter opcji, a wszystkie następne argumenty dostarczają argumenty opcjom, które ich wymagają. Argumenty są odczytywane w tej samej kolejności, co litery opcji. Wszelkie słowa wiersza poleceń, które pozostaną po przetworzeniu wszystkich opcji, są traktowane jako argumenty niebędące opcjami: plikami lub nazwami części archiwum.

Na przykład opcja c wymaga utworzenia archiwum, opcja v żąda większej szczegółowości komunikatów, a opcja f przyjmuje argument, który ustawia nazwę przedmiotowego archiwum. Poniższe polecenie, zapisane w składni tradycyjnej, poleca programowi tar na umieszczenie wszystkich plików z katalogu /etc w pliku archiwum etc.tar, szczegółowo wypisując archiwizowane pliku:

tar cfv etc.tar /etc

W składni uniksowej lub składni z krótkimi opcjami, każdą literę opcji poprzedza pojedyncza kreska, podobnie jak w innych narzędziach wiersza poleceń. Jeśli opcja przyjmuje argument, umiejscowiony jest on po opcji, albo jako oddzielne słowo wiersza poleceń, albo bezpośrednio (bez spacji) po opcji. Jednakże, jeśli opcja przyjmuje argument opcjonalny, argument musi być podany po literze opcji bez rozdzielenia spacją np. -g/tmp/snar.db.

Po kresce, można zlepić ze sobą dowolną liczbę opcji nieprzyjmujących argumentów np. -vkp. Opcja przyjmująca argument (obowiązkowy lub opcjonalny) może pojawić się na końcu takiego sklejenia np. -vkpf a.tar.

Przykład podany wyżej, wyglądałby następująco w składni z krótkimi opcjami:

tar -cvf etc.tar /etc
lub
tar -c -v -f etc.tar /etc

E składni GNU lub składni z długimi opcjami, każda opcja zaczyna się od dwóch kresek i ma znaczącą nazwę, składającą się z małych liter i kresek. Długą opcję można skrócić do początkowych liter, o ile dany skrót nie będzie wieloznaczny. Argumenty do długich opcji podaje się albo jako osobne słowa wiersza poleceń, występujące zaraz za opcją lub rozdzielając go od opcji znakiem równości, bez dodatkowych spacji. Argumenty opcjonalne można podawać tylko w ten ostatni sposób.

Oto kilka możliwości zapisania polecenia przykładowego w tej składni:

tar --create --file etc.tar --verbose /etc
lub (skracając pewne opcje):
tar --cre --file=etc.tar --verb /etc

Można łączyć jednoczesne korzystanie ze wszystkich składni, choć nie zaleca się tego w przypadku starych opcji.

Tryb operacji:

Opcje z poniższej tabeli przekazują GNU tar rodzaj operacji, jaką ma wykonać. Należy podać dokładnie jedną. Znaczenie argumentów niebędących opcjami, zależy od żądanego trybu operacji.

Dołącza archiwa na końcu innego archiwum. Argumenty są traktowane jako nazwy archiwów do przyłączenia. Wszystkie archiwa muszą mieć ten sam format jak archiwum, do którego następuje dołączenie, w innym przypadku archiwum może być nieodczytywalne w innych implementacjach programu tar niż GNU. Proszę zauważyć, że gdy poda się kilka archiwów, składowe z archiwów innych niż pierwsze, będą dostępne w końcowym archiwum tylko wtedy, gdy użyje się opcji -i (--ignore-zeros).

Nie można łączyć ze sobą archiwów skompresowanych.

Tworzy nowe archiwum. Argumenty dostarczają nazwy plików do zarchiwizowania. Katalogi są archiwizowane rekurencyjnie, chyba że podano opcję --no-recursion.
Znajduje różnice pomiędzy archiwum i systemem plików. Argumenty są opcjonalne i podają składowe archiwum do porównania. Jeśli nie poda się argumentu, przyjmowany jest bieżący katalog roboczy.
Usuwa z archiwum. Argumenty dostarczają nazwy składowe archiwum do usunięcia. Należy podać co najmniej jeden argument.

Opcja nie działa na archiwach skompresowanych. Jest dostępna tylko w składni długich opcji.

Dołącza pliki na końcu archiwum. Argumenty mają takie samo znaczenie jak w opcji -c (--create).
Wypisuje zawartość archiwum. Argumenty są opcjonalne. Gdy występują, określają nazwy składowych do wypisania.
Sprawdza etykietę archiwum i wychodzi. Przy użyciu bez argumentów, wypisuje etykietę archiwum (jeśli występuje) i wychodzi ze statusem 0. Jeśli poda się jeden lub więcej argumentów w wierszu polecenia, tar porównuje etykietę z każdym argumentem. Wychodzi z kodem 0 jeśli znajdzie dopasowanie lub z kodem 1 w przeciwnym przypadku. Nie jest wypisywane żadne wyjście, chyba że poda się jednocześnie opcję -v (--verbose).

Nie występuje krótki odpowiednik tej opcji.

Dodaje pliki, które są nowsze niż odpowiadające im kopie w archiwum. Argumenty mają takie samo znaczenie, jak przy opcjach -c i -r. Proszę zauważyć, że nowsze pliki nie zastępują swoich starszych kopii w archiwum, lecz są dodawane na końcu archiwum. Z tego względu wynikowe archiwum zawiera kilka składowych o tej samej nazwie, odpowiadających różnym wersjom tego samego pliku.
Rozpakowuje pliki z archiwum. Argumenty są opcjonalne. Gdy się je poda, określają nazwy składowych archiwum do wypakowania.
Pokazuje wbudowane wartości domyślne różnych opcji tar i wychodzi.
-?, --help
Wyświetla krótkie podsumowanie opcji i kończy działanie.
Wyświetla listę dostępnych opcji i wychodzi.
Wypisuje wersję programu oraz informacje o prawach autorskich i wychodzi.

OPCJE

Modyfikatory operacji

Sprawdza numer urządzenia przy tworzeniu archiwów przyrostowych (domyślnie).
Obsługuje nowy format GNU przyrostowych kopii zapasowych. PLIK jest nazwą pliku migawki, w którym tar przechowuje dodatkowe informacje używane do decydowania, które pliki uległy zmianie od poprzedniej przyrostowej kopii i z tego względu muszą być zrzucone ponownie. Jeśli PLIK nie będzie istniał przy tworzeniu archiwum, zostanie utworzony, a do wynikowego archiwum zostaną dodane wszystkie pliki (zrzut poziomu 0). Aby utworzyć przyrostowe archiwa niezerowego poziomu N, konieczna jest kopia pliku migawki utworzonego dla poziomu N-1, który należy podać jako PLIK.

Przy wypisywaniu oraz wypakowywaniu, faktyczna zawartość PLIKU nie jest sprawdzana, jest on potrzebny tylko ze względu na wymagania składni. Z tego względu często podaje się w tym miejscu /dev/null.

Używa METODY do wykrywania dziur w rzadkich plikach. Opcja wymusza --sparse. Prawidłowymi wartościami METODYseek i raw. Domyślną jest seek, natomiast tam, gdzie nie ma zastosowania, korzysta się z raw.
Obsługuje archiwum przyrostowe w starym formacie GNU.
Zakazuje kończenia działania programu z niezerowym kodem wyjścia po napotkaniu plików, które nie dają się odczytać.
Ustawia poziom zrzutu dla tworzonego archiwum przyrostowego. Obecnie istotny jest tylko --level=0: wówczas tar przytnie plik migawki przed zrzutem, co wymusi utworzenie zrzutu poziomu 0.
Zakłada, że archiwum jest przeszukiwalne. Zwykle tar automatycznie określa, czy archiwum da się przeszukać, czy nie. Opcja ta jest przeznaczona do stosowania w przypadkach, gdy to wykrycie zawiedzie. Działa tylko wtedy, gdy archiwum jest otwarte do odczytu (np. z opcjami --list lub --extract).
Nie sprawdza numerów urządzenia przy tworzeniu archiwów przyrostowych.
Zakłada, że archiwum jest nieprzeszukiwalne.
Przetwarza tylko N-te wystąpienie każdego pliku w archiwum. Opcja ta jest prawidłowa tylko w połączeniu z jednym z podpoleceń: --delete, --diff, --extract lub --list i gdy lista plików została podana albo w wierszu poleceń albo opcją -T. Domyślnym N jest 1.
Wyłącza część potencjalnie szkodliwych opcji.
Ustawia, której wersji formatu rzadkiego użyć. Opcja wymusza --sparse. Prawidłowymi wartościami są 0.0, 0.1 i 1.0. Szczegółowy opis formatów rzadkich można znaleźć w Podręczniku GNU Tar, aneksie D, rozdziale "Sparse Formats". Korzystając z czytnika info można go wyświetlić poleceniem: info tar 'Sparse Formats'.
Wydajnie obsługuje pliki rzadkie. Niektóre pliki w systemie plików mogą posiadać segmenty, które faktycznie nigdy nie były zapisane (często zdarza się tak z plikami baz danych tworzonymi w systemach takich jak DBM). Po podaniu tej opcji, tar postara się ustalić czy plik jest rzadki zanim go zarchiwizuje, a jeśli tak jest, zmniejszy wynikowy rozmiar archiwum tak, aby nie zrzucać pustych części pliku.

Sterowanie zamazywaniem

Opcje regulują działanie tar przy wypakowywaniu plików nad istniejącą kopią na dysku.

Nie zastępuje istniejących plików podczas wypakowywania.
Nie zastępuje istniejących plików, które są nowsze niż egzemplarze w archiwum.
Nie zastępuje istniejących dowiązań symbolicznych przy wypakowywaniu.
Zachowuje metadane istniejących katalogów.
Wypakowuje wszystkie pliki do KATALOGU lub, jeśli nie poda się argumentu, do podkatalogu nazwanego nazwą bazową (basename) archiwum (po usunięciu z nazwy standardowych przyrostków kompresji rozpoznawalnych przez --auto-compress).
Nadpisuje istniejące pliki podczas wypakowywania.
Nadpisuje metadane istniejących katalogów podczas wypakowywania (domyślne).
Rekurencyjnie usuwa wszystkie pliki w katalogu przed wypakowaniem do niego.
Usuwa pliki z dysku po dodaniu ich do archiwum.
Nie zastępuje istniejących plików podczas wypakowywania, po chichu je pomija.
Usuwa każdy plik przed wypakowaniem do niego.
Weryfikuje archiwum po jego utworzeniu.

Wybór strumienia wyjściowego

Ignoruje kody zakończenia podprocesów.
Traktuje niezerowe kody zakończenia procesów potomnych jako błąd (domyślne).
Wypakowuje pliki na standardowe wyjście.
Przekazuje pliki potokiem do POLECENIA. Argument jest ścieżką programu zewnętrznego, opcjonalnie z argumentami wiersza poleceń. Program ten zostanie wywołany, a zawartość wypakowywanego pliku przekazana mu na standardowe wejście. Dodatkowe dane zostaną przekazane przez następujące zmienne środowiskowe:
Typ pliku. Pojedyncza litera o następującym znaczeniu.

	f	Zwykły plik
	d	Katalog
	l	Dowiązanie symboliczne
	h	Dowiązanie zwykłe
	b	Urządzenie blokowe
	c	Urządzenie znakowe

Obecnie obsługiwane są tylko zwykłe pliki.

Tryb pliku, liczba ósemkowa.
Nazwa pliku.
Nazwa pliku, w postaci przechowywanej w archiwum.
Nazwa właściciela pliku.
Nazwa grupy posiadającej plik.
Czas ostatniego dostępu. Jest to liczba dziesiętna, reprezentujące sekundy od Epoki. Jeśli archiwum zapewnia nanosekundową precyzję czasu, nanosekundy są dołączane do znacznika czasu po kropce dziesiętnej.
Czas ostatniej modyfikacji.
Czas ostatniej zmiany statusu.
Rozmiar pliku.
Identyfikator użytkownika właściciela pliku.
Identyfikator grupy posiadającej plik.

Dodatkowo, poniższe zmienne zawierają informacje o trybie działania tar oraz o przetwarzanym archiwum:

Numer wersji GNU tar.
Nazwa przetwarzanego przez tar archiwum.
Bieżąca liczba jednocześnie przetwarzanych bloków ("blocking factor") tj. liczba 512-bajtowych bloków na rekord.
Kolejny numer przetwarzanej przez tar części archiwum (ustawione przy odczytywaniu archiwum wieloczęściowego).
Format przetwarzanego archiwum. Jeden z: gnu, oldgnu, posix, ustar, v7.
Krótka opcja (z początkowym dywizem) opisująca aktualne działanie tar.

Obsługa atrybutów plików

Zachowuje czasy dostępu zrzucanych plików, albo przez przywrócenie czasów po odczycie (METODA=replace, domyślnie), albo po prostu przez nieustawianie czasów (METODA=system)
Opóźnia ustawianie czasów modyfikacji i opóźnień rozpakowanych katalogów aż do końca rozpakowywania. Z opcji tej należy korzystać, gdy archiwum ma nietypową kolejność składowych.
Wymusza NAZWĘ jako grupę dodanych plików. Jeśli nie poda się ID-GRUPY, NAZWĄ może być nazwa użytkownika lub numeryczny identyfikator grupy. W takim przypadku, brakująca część (identyfikator grupy lub nazwa) zostaną pobrane z bazy danych grup bieżącej stacji.

Przy łącznym stosowaniu z --group-map=PLIK, opcja ma wpływ tylko na pliki, których grupy właścicielskiej nie wypisano w PLIKU.

Odczytuje mapę translacji grup z PLIKU. Puste wiersze są ignorowane. Komentarze wprowadza znak #, kończą się z końcem wiersza. Każdy niepusty wiersz w PLIKU określa tłumaczenie pojedynczej grupy. Musi składać się z dwóch pól, rozdzielonych dowolną liczbą odstępów:

STARA-GRUPA NOWA-GRUPA[:NOWY-ID-GRUPY]
    

STARA-GRUPA jest albo prawidłową nazwą grupy, albo identyfikatorem grupy poprzedzonym znakiem +. Jeśli nie podano NOWEGO-ID-GRUPY, NOWA-GRUPA również musi być albo prawidłową nazwą grupy, albo +ID-GRUPY. W innym przypadku, NOWA-GRUPA i NOWY-ID-GRUPY nie muszą być umieszczone w systemowej bazie danych grup

Efektem końcowym jest sytuacja, gdzie każdy plik wejściowy z własnością grupy STARA-GRUPA zostanie przechowany w archiwum z własnością grupy NOWA-GRUPA i GID NOWY-ID-GRUPY.

Wymusza ZMIANY trybu (symbolicznego) dodanych plików.
Ustawia czas modyfikacji (mtime) dodawanych plików. DATA-lub-PLIK jest albo datą/czasem w niemal dowolnym formacie, albo nazwą istniejącego pliku. W tym drugim przypadku zostanie użyty czas modyfikacji podanego pliku.
Nie dearchiwizuje czasu modyfikacji plików.
Odwołuje działanie wcześniejszej opcji --delay-directory-restore.
Wypakowuje pliki jako użytkownik uruchamiający program tar (domyślne dla zwykłych użytkowników).
Stosuje umask użytkownika przy wypakowywaniu uprawnień z archiwum (domyślne dla zwykłych użytkowników).
Posługuje się numerami użytkowników i grup, zamiast ich nazw.
Wymusza NAZWĘ jako właściciela dodanych plików. Jeśli nie poda się ID-UŻYTKOWNIKA, NAZWĄ może być nazwa użytkownika lub numeryczny identyfikator użytkownika. W takim przypadku, brakująca część (identyfikator użytkownika lub nazwa) zostaną pobrane z bazy danych użytkowników bieżącej stacji.

Przy łącznym stosowaniu z --owner-map=PLIK, opcja ma wpływ tylko na pliki, których właściciela nie wypisano w PLIKU.

Odczytuje mapę translacji użytkowników z PLIKU. Puste wiersze są ignorowane. Komentarze wprowadza znak #, kończą się z końcem wiersza. Każdy niepusty wiersz w PLIKU określa tłumaczenie pojedynczego użytkownika. Musi składać się z dwóch pól, rozdzielonych dowolną liczbą odstępów:

STARY-UŻYTKOWNIK NOWY-UŻYTKOWNIK[:NOWY-ID-UŻYTKOWNIKA]
    

STARY-UŻYTKOWNIK jest albo prawidłową nazwą użytkownika, albo identyfikatorem użytkownika poprzedzonym znakiem +. Jeśli nie podano NOWEGO-ID-UŻYTKOWNIKA, NOWY-UŻYTKOWNIK również musi być albo prawidłową nazwą użytkownika, albo +ID-UŻYTKOWNIKA. W innym przypadku, NOWY-UŻYTKOWNIK i NOWY-ID-UŻYTKOWNIKA nie muszą być umieszczone w systemowej bazie danych użytkowników.

Efektem końcowym jest sytuacja, gdzie każdy plik wejściowy z właścicielem STARY-UŻYTKOWNIK zostanie przechowany w archiwum z właścicielem NOWY-UŻYTKOWNIK i UID NOWY-ID-UŻYTKOWNIKA.

Ustawia uprawnienia wypakowanych plików na zachowane w archiwum (domyślne dla superużytkownika).
Próbuje wypakować pliki z tymi samymi właścicielami jak w archiwum (domyślne dla superużytkownika).
Przekazuje tar, że lista nazw plików do przetworzenia jest posortowana w tej samej kolejności jak pliki w archiwum.
Przy tworzeniu archiwum, sortuje wpisy katalogów zgodnie z KOLEJNOŚCIĄ, którą może być none, name albo inode.

Domyślnym ustawieniem jest --sort=none, przechowujące składowe archiwum w tej samej kolejności, jaką zwróci system operacyjny.

Opcja --sort=name zapewnia, że kolejność w tworzonym archiwum jest jednolita i odtwarzalna.

Opcja --sort=inode ogranicza liczbę przeszukiwań na dysku przy tworzeniu archiwum, co może znacznie skrócić czas archiwizacji. Ta kolejność sortowania jest obsługiwana tylko wtedy, jeśli dany system zapewnia wymagane informacje.

Atrybuty rozszerzone plików

Włącza obsługę ACL POSIX.
Wyłącza obsługę ACL POSIX.
Włącza obsługę kontekstu SELinux.
Wyłącza obsługę kontekstu SELinux.
Włącza obsługę atrybutów rozszerzonych.
Wyłącza obsługę atrybutów rozszerzonych.
Określa wzorzec wyłączenia kluczy atrybutów rozszerzonych. We WZORCU można korzystać tylko z wieloznaczników (wzorzec typu glob) np. --xattrs-exclude='user.*' obejmie atrybuty tylko z przestrzeni nazw użytkownika.
Określa wzorzec włączenia kluczy atrybutów rozszerzonych. We WZORCU można korzystać tylko z wieloznaczników (wzorzec typu glob).

Wybór i przełączanie między urządzeniami

Używa urządzenia lub pliku archiwum ARCHIWUM. Jeśli nie poda się tej opcji, tar na początku sprawdzi wartość zmiennej środowiskowej "TAPE". Jeśli będzie ustawiona, jej wartość zostanie użyta jako nazwa archiwum. W przeciwnym przypadku, tar przyjmie wbudowaną wartość domyślną. Można ją sprawdzić opcją --show-defaults, zostanie również wypisana na końcu wyniku polecenia tar --help.

Nazwa archiwum posiadająca dwukropek określa plik lub urządzenie na stacji zdalnej. Część przed dwukropkiem stanowi nazwę lub adres IP stacji, a część po dwukropku jest ścieżką pliku lub urządzenia np.:

--file=remotehost:/dev/sr0
    

Przed nazwą stacji można podać opcjonalną nazwę użytkownika, rozdzielając je znakiem @.

Domyślnie, dostęp do zdalnej stacji następuje poprzez polecenie rsh(1). Obecnie często korzysta się w zamian z ssh(1). Można to uczynić za pomocą następującej opcji wiersza polecenia:

--rsh-command=/usr/bin/ssh
    

Zdalna stacja powinna mieć zainstalowane polecenie rmt(8). Jeśli jego ścieżka nie jest taka jak domyślna wartość tar, można przekazać programowi tar prawidłową ścieżkę opcją --rmt-command.

Plik z archiwum jest lokalny nawet, jeżeli w jego nazwie występuje dwukropek.
Uruchamia COMMAND po osiągnięciu końca każdej taśmy (wymusza -M). Polecenie może mieć argumenty. Przy uruchomieniu, odziedziczy ono środowisko tar oraz następujące zmienne:
Numer wersji GNU tar.
Nazwa przetwarzanego przez tar archiwum.
Bieżąca liczba jednocześnie przetwarzanych bloków ("blocking factor") tj. liczba 512-bajtowych bloków na rekord.
Kolejny numer przetwarzanej przez tar części archiwum (ustawione przy odczytywaniu archiwum wieloczęściowego).
Format przetwarzanego archiwum. Jeden z: gnu, oldgnu, posix, ustar, v7.
Krótka opcja (z początkowym dywizem) opisująca aktualne działanie tar.
Deskryptor pliku, który może służyć do przekazania nowej nazwy części archiwum programowi tar.

Jeśli info-script zawiedzie, tar wyjdzie; w przeciwnym przypadku zacznie zapisywać następną część archiwum.

Zmienia taśmę po zapisaniu Nx1024 bajtów. Jeśli po N poda się przyrostek oznaczający rozmiar (zob. rozdział Przyrostki oznaczające rozmiar poniżej), przyrostek określa mnożnik zamiast 1024.

Opcja wymusza -M.

Tworzy/wypisuje zawartość/wypakowuje archiwum wieloczęściowe.
Używa POLECENIA zamiast rmt przy uzyskiwaniu dostępu do archiwów zdalnych. Zob. opis opcji -f, powyżej.
Używa POLECENIA zamiast rsh przy uzyskiwaniu dostępu do archiwów zdalnych. Zob. opis opcji -f, powyżej.
Przy łącznym stosowaniu z --multi-volume, tar będzie pilnował tego, nad którą częścią archiwum wieloczęściowego w PLIKU pracuje program.

Parametry bloków

Ustawia rozmiar rekordu na BLOKIx512 bajtów.
Przy wypisywaniu lub wypakowywaniu, akceptuje niepełne rekordy wejściowe po znaczniku końca pliku.
Ignoruje wyzerowane bloki w archiwum. Zwykle dwa kolejne 512 bloki wypełnione zerami oznaczają koniec pliku i tar zatrzymuje odczyt po ich napotkaniu. Opcja instruuje program, aby odczytywał dalej i jest przydatna przy archiwach utworzonych z opcją -A.
Ustawia rozmiar rekordu. LICZBA jest liczbą bajtów na rekord. Musi być wielokrotnością 512. Można użyć po niej przyrostka oznaczającego rozmiar np. --record-size=10K oznacza 10 kilobajtów. Zob. podrozdział Przyrostki oznaczające rozmiar, aby zapoznać się z listą prawidłowych przyrostków.

Wybór formatu archiwum

Tworzy archiwum w podanym formacie. Prawidłowe formaty to:
Format GNU tar 1.13.x.
Format GNU w programie tar <= 1.12.
Format POSIX 1003.1-2001 (pax).
Format POSIX 1003.1-1988 (ustar).
Stary format tar V7.
Równoważne as --format=v7.
Kontroluje słowa kluczowe pax przy tworzeniu archiwów PAX (-H pax). Opcja odpowiada opcji -o narzędzia pax(1).
Równoważne --format=posix.
Tworzy archiwum z nazwą części TEKST. Przy wypisywaniu/rozpakowywaniu używa TEKSTU jako wzorca maski do nazwy części.

Opcje kompresji

Używa przyrostka archiwum do określenia programu kompresującego.
Filtruje dane poprzez POLECENIE. Musi ono akceptować opcję -d służącą do rozpakowywania. Argument może posiadać opcje wiersza poleceń.
Filtruje archiwum programem bzip2(1).
Filtruje archiwum programem xz(1).
Filtruje archiwum programem lzip(1).
Filtruje archiwum programem lzma(1).
Filtruje archiwum programem lzop(1).
Nie używa przyrostka archiwum do określenia programu kompresującego.
Filtruje archiwum programem gzip(1).
Filtruje archiwum programem compress(1).
Filtruje archiwum programem zstd(1).

Wybór lokalnego pliku

Dodaje PLIK do archiwum (przydatne jeśli nazwa zaczyna się minusem).
Wykonuje kopię zapasową przed usunięciem. Argument METODA, jeśli się go poda, reguluje sposób dokonywania kopii. Jego prawidłowe wartości to:
Nigdy nie tworzy kopii zapasowych.
Tworzy kopie numerowane.
Tworzy kopie numerowane, jeśli takie już istnieją, w innym przypadku tworzy kopie proste.
Zawsze tworzy proste kopie zapasowe.

Jeśli nie poda się METODY, wartość jest pobierana ze zmiennej środowiskowej VERSION_CONTROL. Jeśli nie jest ustawiona, przyjmowana jest wartość existing.

Przechodzi do KATALOGU przed dokonywaniem jakichkolwiek działań. Opcja jest zależna od kolejności tj. wpływa na wszystkie opcje za nią.
Wyłącza pliki pasujące do WZORCA, który jest wieloznacznikiem w stylu glob(3).
Wyłącza pliki kopii zapasowej i blokady.
Wyłącza zawartość katalogów zawierających CACHEDIR.TAG, z wyłączeniem samego pliku tag.
Wyłącza katalogi zawierające CACHEDIR.TAG i sam ten plik.
Wyłącza wszystko w katalogach zawierających CACHEDIR.TAG
Przed zrzuceniem katalogu sprawdza, czy zawiera on PLIK. Jeśli plik występuje, odczytuje z niego wzorce wykluczające. Wzorce mają wpływ tylko na katalog pliku.
Jak --exclude-ignore, tyle że wzorce z PLIKU mają wpływ na jego katalog wraz z wszystkimi podkatalogami.
Wyłącza zawartość katalogów zawierających PLIK, z wyjątkiem samego PLIKU.
Wyłącza katalogi zawierające PLIK.
Wyłącza wszystko w katalogach zawierających PLIK.
Wyłącza katalogi systemu kontroli wersji.
Wyłącza pliki pasujące do wzorców odczytanych z zależnych od systemu kontroli wersji plików ignorowania. Obsługiwane są pliki: .cvsignore, .gitignore, .bzrignore i .hgignore.
Podąża za dowiązaniami symbolicznymi; archiwizuje pliki, na które one wskazują.
Podąża za dowiązaniami zwykłymi (twardymi); archiwizuje i zrzuca pliki do których się one odnoszą.
Zaczyna od podanej składowej archiwum.
Pracuje na plikach, których data uległa zmianie po podanej DACIE. Jeśli DATA zaczyna się od / lub . uznaje się ją za nazwę pliku; wówczas rozważana jest data modyfikacji tego pliku (mtime).
Odwołuje działanie opcji --null.
Zapobiega automatycznemu zagłębianiu się w katalogi.
Nie usuwa znaków cytowania z plików wejściowych lub nazw składowych.
Traktuje każdy wiersz odczytany z listy plików, jak gdyby był podany w wierszu polecenia. Oznacza to, że początkowe i końcowe odstępy są usuwane, a jeśli powstały w ten sposób łańcuch zaczyna się od kreski, jest traktowany jako opcja wiersza polecenia tar.

Jest to zachowanie domyślne. Opcja --no-verbatim-files-from służy do przywrócenia tego zachowania po podaniu opcji --verbatim-files-from.

Jest to opcja pozycyjna: ma wpływ na wszystkie opcje --files-from, które zostaną podane po niej, do momentu napotkania opcji --verbatim-files-from lub osiągnięcia końca wiersza, w zależności od tego co nastąpi wcześniej.

Jest wymuszona przez opcję --no-null.

Nakazuje kolejnym opcjom -T na dosłowny odczyt nazw rozdzielonych znakiem null (wyłącza specjalną obsługę nazw rozpoczynających się od kreski).

Zob. też --verbatim-files-from.

Przechowuje tylko pliki nowsze od DATY. Jeśli DATA zaczyna się od / lub . uznaje się ją za nazwę pliku; wówczas rozważana jest data modyfikacji tego pliku (mtime).
Archiwizuje pliki tylko z bieżącego systemu plików.
Przy tworzeniu archiwów, nie usuwa z nazw plików początkowych ukośników.
Obsługuje katalogi rekurencyjnie (domyślnie).
Przed usunięciem wykonuje kopię zapasową, przesłaniając zwykły przyrostek. Domyślnym przyrostkiem jest ~, chyba że został przesłonięty przez zmienną środowiskową SIMPLE_BACKUP_SUFFIX.
Nazwy plików do rozpakowania lub archiwizacji są pobierane z PLIKU.

O ile nie określi się inaczej, PLIK musi zawierać listę nazw rozdzielonych znakiem LF ASCII (tj. po jednej nazwie na wiersz). Odczytywane nazwy są traktowane w ten sam sposób jak argumenty w wierszu polecenia. Usuwane są cudzysłowy i dokonywany jest podział na słowa, a każdy łańcuch rozpoczynający się od znaku - jest traktowany jako opcja wiersza polecenia tar.

Jeśli takie zachowanie jest niepożądane, można je wyłączyć opcją --verbatim-files-from.

Opcja --null informuje tar, że nazwy w PLIKU są rozdzielone znakiem NUL ASCII, a nie znakiem LF. Przydatne, gdy listę wygenerowano wskazaniem -print0 programu find(1).

Usuwa znaki cytowania z plików wejściowych lub nazw składowych (domyślne).
Traktuje każdy wiersz pozyskany z listy plików jako nazwę pliku nawet, jeśli zaczyna się od kreski. Listy plików podaje się opcją --files-from (-T). Domyślnym zachowaniem jest traktowanie nazw podanych w liście plików jak gdyby były wpisane w wierszu polecenia tj. nazwy rozpoczynające się od kreski są przyjmowane jako opcje tar. Opcja --verbatim-files-from wyłącza to zachowanie.

Opcja wpływa na wszystkie opcje --files-from, które zostaną podane po niej w wierszu polecenia. Jej efekt można odwrócić opcją --no-verbatim-files-from.

Opcja jest wymuszona przez opcję --null.

Zob. też --add-file.

Wyłącza pliki o nazwach wymienionych w PLIKU.

Przekształcenia nazwy plików

Usuwa LICZBĘ początkowych części z nazw plików podczas wypakowania.
Używa WYRAŻENIA zamieniającego programu sed do przetworzenia nazw plików.

Opcje dopasowujące nazwy plików

Opcje wpływają na wzorce włączania i wyłączania.

Wzorzec dopasowuje początek nazwy pliku.
Ignoruje wielkość znaków.
Wzorzec dopasowuje po dowolnym / (domyślne przy wyłączeniu).
Dopasowanie zwracające uwagę na wielkość znaków (domyślne).
Dosłowne dopasowanie łańcuchów.
Wieloznacznik nie dopasowuje /.
Używa wieloznacznika (domyślne przy wyłączeniach).
Wieloznacznik dopasowuje / (domyślne przy wyłączeniach).

Wyjście informacyjne

Wyświetla informacje o postępie co LICZBA rekord (domyślnie 10).
Wykonuje AKCJĘ po każdym checkpoincie.
Ustawia czas tylko, jeśli plik jest nowszy niż to, co podano opcją --mtime.
Wypisuje czas pliku do jego pełnej rozdzielczości.
Wypisuje szczegółowe informacje do PLIKU.
Wypisuje komunikat, jeśli nie wszystkie dowiązania są zrzucone.
Wyłącza dodatkowe znaki cytowania do ŁAŃCUCHA.
Dodatkowe znaki cytowania do ŁAŃCUCHA.
Ustawia styl cytowania plików i nazw składowych. Prawidłowe wartości STYLU to: literal, shell, shell-always, c, c-maybe, escape, locale, clocale.
Wypisuje numer rekordu wewnątrz archiwum przy każdym komunikacie.
Podczas wypisywania lub wypakowywania, wypisuje każdy katalog niepasujący do kryteriów wyszukiwania.
Pokazuje nazwy pliku lub archiwum po przekształceniu opcjami --strip i --transform.
Wypisuje sumę bajtów po przetworzeniu archiwum. Jeśli poda się SYGNAŁ, wypisuje sumę bajtów w momencie jego otrzymania. Dozwolone sygnały to: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 i SIGUSR2. W nazwach sygnałów można pominąć przedrostek SIG.
Wypisuje czasy modyfikacji pliku w UTC.
Szczegółowo wypisuje przetwarzane pliki. Każde wystąpienie tej opcji w wierszu polecenia zwiększa poziom szczegółowości o jeden. Maksymalny wynosi 3. Dokładny opis wpływu różnych poziomów szczegółowości na wyjście programu tar opisano w Podręczniku GNU Tar, w podrozdziale 2.5.2 "The '--verbose' Option".
Włącza lub wyłącza ostrzeżenia identyfikowane SŁOWEM-KLUCZOWYM. Komunikaty są wyłączane, jeśli SŁOWO-KLUCZOWE poprzedzi się przedrostkiem no- i włączane w przeciwnym przypadku.

Opcje --warning podane wielokrotnie łączą się.

Słowa kluczowe kontrolujące ogólne działanie tar:

Włącza wszystkie ostrzeżenia. Tak jest domyślnie.
Wyłącza wszystkie ostrzeżenia.
"%s: przeczytana nazwa pliku zawiera znak NUL"
"Samotny blok zerowy przy %s"

Słowa kluczowe właściwe poleceniu tar --create:

""%s: zawiera znacznik katalogu pamięci podręcznej %s; %s"
"%s: Plik skurczył się o %s bajtów; jest dopełniany zerami"
"%s: plik w innym systemie plików; nie został zapisany"
"%s: Nieznany typ pliku; plik zignorowany"
"%s: zignorowane gniazdo z nazwą"
"%s: zignorowany plik door"
"%s: plik jest niezmieniony; nie został zapisany"
"%s: archiwum nie może zawierać samego siebie; nie zostało zapisane"
"%s: Plik usunięty zanim został przeczytany"
"%s: plik zmienił się w trakcie czytania"
Wyłącza ostrzeżenia o nieodczytywalnych plikach lub katalogach. To słowo kluczowe działa tylko łącznie z opcją --ignore-failed-read.

Słowa kluczowe właściwe poleceniu tar --extract:

"%s: pominięcie istniejącego pliku"
"%s: niemożliwie stara data %s"
"%s: znacznik czasowy %s jest przesunięty o %s s w przyszłość"
"Wypakowywanie ciągłych plików jako zwykłych plików"
"Próba wypakowania dowiązań symbolicznych jako dowiązań zwykłych"
"%s: Nieznany typ pliku „%c”, odtworzony jako plik zwykły"
"Aktualny %s jest nowszy albo w tym samym wieku"
"Zignorowane nieznane słowo kluczowe nagłówka rozszerzonego „%s”"
Kontroluje szczegółowe opisy niepowodzeń przy próbie uruchomienia alternatywnych programów rozpakowujących. To ostrzeżenie jest domyślnie wyłączone (chyba, że podano --verbose). Popularnym przykładem tego, co można otrzymać za pomocą tego ostrzeżenia jest:

$ tar --warning=decompress-program -x -f archive.Z
tar (child): Nie można uruchomić compress: Nie ma takiego pliku ani katalogu
tar (child): próbuję gzip
    

Oznacza to, że tar pierwotnie spróbował rozpakować archive.Z za pomocą compress, a gdy to się nie powiodło, przełączyć się na gzip.

"Rozmiar rekordu = %lu bloków"

Słowa kluczowe kontrolujące wypakowanie przyrostowe:

"%s: Nazwa katalogu została zmieniona z %s"
"%s: Nazwa katalogu została zmieniona"
"%s: Katalog jest nowy"
"%s: katalog na innym urządzeniu: bez skasowania"
"Zły format katalogu zrzutów: nigdy nie użyte „X”"
Pyta o zgodę na każde działanie.

Opcje kompatybilności

Przy tworzeniu, odpowiednik --old-archive. Przy wypakowywaniu, odpowiednik --no-same-owner.

Przyrostki oznaczające rozmiar

	Przyr.	Jednostki	Liczba bajtów
	b	Bloki	ROZMIAR x 512
	B	Kilobajty	ROZMIAR x 1024
	c	Bajty	ROZMIAR
	G	Gigabajty	ROZMIAR x 1024^3
	K	Kilobajty	ROZMIAR x 1024
	k	Kilobajty	ROZMIAR x 1024
	M	Megabajty	ROZMIAR x 1024^2
	P	Petabajty	ROZMIAR x 1024^5
	T	Terabajty	ROZMIAR x 1024^4
	w	Słowa	ROZMIAR x 2

WARTOŚĆ ZWRACANA

Kod zakończenia programu tar wskazuje, czy udało mu się pomyślnie zakończyć nakazane działanie, a jeśli nie, jakiego typu błąd wystąpił.

0
Prawidłowe zakończenie.
1
Jakieś pliki różnią się. Jeśli wywołano tar z opcją wiersza polecenia --compare (--diff, -d) oznacza to, że niektóre pliki w archiwum różnią się od ich odpowiedników na dysku. Jeśli tar podano opcję --create, --append lub --update, ten kod zakończenia oznacza, że niektóre pliki zostały zmienione przy archiwizacji, zatem wynikowe archiwum nie zawiera dokładnej kopii zestawu plików.
2
Błąd krytyczny. Oznacza wystąpienie jakiegoś nieodwracalnego błędu krytycznego.

Jeśli podproces wywołany przez tar wyszedł z niezerowym kodem wyjścia, tar również wyjdzie z tym kodem. Może się to zdarzyć gdy, na przykład, podano opcję kompresowania (np. -z), a zewnętrzny program kompresujący zawiódł. Inny przykładem jest niepowodzenie programu rmt przy tworzeniu kopii zapasowej na zdalnym urządzeniu.

ZOBACZ TAKŻE

bzip2(1), compress(1), gzip(1), lzma(1), lzop(1), rmt(8), symlink(7), xz(1), zstd(1).

Pełny podręcznik tar: uruchomi go polecenie info tar lub tryb info edytora emacs(1).

Kopie dokumentacji GNU tar w różnych formatach można znaleźć pod adresem:


https://www.gnu.org/software/tar/manual

ZGŁOSZENIA BŁĘDÓW

Raporty o błędach można wysyłać na adres <bug-tar@gnu.org>.

PRAWA AUTORSKIE

Copyright © 2023 Free Software Foundation, Inc.
Licencja GPLv3+: GNU GPL w wersji 3 lub późniejszej <https://gnu.org/licenses/gpl.html>.
Jest to wolne oprogramowanie: można je zmieniać i rozpowszechniać. Nie ma ŻADNEJ GWARANCJI, w granicach określonych przez prawo.

TŁUMACZENIE

Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Łukasz Kowalczyk <lukow@tempac.okwf.fuw.edu.pl>, Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl>, Michał Kułach <michal.kulach@gmail.com> i Kuba Basiura <kuba.basiura@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.

11 lipca 2022 r. TAR