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

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

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.

-A, --catenate, --concatenate
    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.

-c, --create
    Tworzy nowe archiwum. Argumenty dostarczają nazwy plików do zarchiwizowania. Katalogi są archiwizowane rekurencyjnie, chyba że podano opcję --no-recursion.

-d, --diff, --compare
    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.

--delete
    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.

-r, --append
    Dołącza pliki na końcu archiwum. Argumenty mają takie samo znaczenie jak w opcji -c (--create).

-t, --list
    Wypisuje zawartość archiwum. Argumenty są opcjonalne. Gdy występują, określają nazwy składowych do wypisania.

--test-label
    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.

-u, --update
    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.

-x, --extract, --get
    Rozpakowuje pliki z archiwum. Argumenty są opcjonalne. Gdy się je poda, określają nazwy składowych archiwum do wypakowania.

--show-defaults
    Pokazuje wbudowane wartości domyślne różnych opcji tar i wychodzi.

-?, --help
    Wyświetla krótkie podsumowanie opcji i kończy działanie.

--usage
    Wyświetla listę dostępnych opcji i wychodzi.

--version
    Wypisuje wersję programu oraz informacje o prawach autorskich i wychodzi.

OPCJE

  Modyfikatory operacji

--check-device
    Sprawdza numer urządzenia przy tworzeniu archiwów przyrostowych (domyślnie).

-g, --listed-incremental=PLIK
    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.

--hole-detection=METODA
    Używa METODY do wykrywania dziur w rzadkich plikach. Opcja wymusza --sparse. Prawidłowymi wartościami METODY są seek i raw. Domyślną jest seek, natomiast tam, gdzie nie ma zastosowania, korzysta się z raw.

-G, --incremental
    Obsługuje archiwum przyrostowe w starym formacie GNU.

--ignore-failed-read
    Zakazuje kończenia działania programu z niezerowym kodem wyjścia po napotkaniu plików, które nie dają się odczytać.

--level=LICZBA
    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.

-n, --seek
    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).

--no-check-device
    Nie sprawdza numerów urządzenia przy tworzeniu archiwów przyrostowych.

--no-seek
    Zakłada, że archiwum jest nieprzeszukiwalne.

--occurrence[=N]
    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.

--restrict
    Wyłącza część potencjalnie szkodliwych opcji.

--sparse-version=GŁÓWNY[.POBOCZNY]
    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'.

-S, --sparse
    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.

-k, --keep-old-files
    Nie zastępuje istniejących plików podczas wypakowywania.

--keep-newer-files
    Nie zastępuje istniejących plików, które są nowsze niż egzemplarze w archiwum.

--keep-directory-symlink
    Nie zastępuje istniejących dowiązań symbolicznych przy wypakowywaniu.

--no-overwrite-dir
    Zachowuje metadane istniejących katalogów.

--one-top-level[=KATALOG]
    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).

--overwrite
    Nadpisuje istniejące pliki podczas wypakowywania.

--overwrite-dir
    Nadpisuje metadane istniejących katalogów podczas wypakowywania (domyślne).

--recursive-unlink
    Rekurencyjnie usuwa wszystkie pliki w katalogu przed wypakowaniem do niego.

--remove-files
    Usuwa pliki z dysku po dodaniu ich do archiwum.

--skip-old-files
    Nie zastępuje istniejących plików podczas wypakowywania, po chichu je pomija.

-U, --unlink-first
    Usuwa każdy plik przed wypakowaniem do niego.

-W, --verify
    Weryfikuje archiwum po jego utworzeniu.

  Wybór strumienia wyjściowego

--ignore-command-error
    Ignoruje kody zakończenia podprocesów.

--no-ignore-command-error
    Traktuje niezerowe kody zakończenia procesów potomnych jako błąd (domyślne).

-O, --to-stdout
    Wypakowuje pliki na standardowe wyjście.

--to-command=POLECENIE
    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:

    TAR_FILETYPE
        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.

    TAR_MODE
        Tryb pliku, liczba ósemkowa.

    TAR_FILENAME
        Nazwa pliku.

    TAR_REALNAME
        Nazwa pliku, w postaci przechowywanej w archiwum.

    TAR_UNAME
        Nazwa właściciela pliku.

    TAR_GNAME
        Nazwa grupy posiadającej plik.

    TAR_ATIME
        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.

    TAR_MTIME
        Czas ostatniej modyfikacji.

    TAR_CTIME
        Czas ostatniej zmiany statusu.

    TAR_SIZE
        Rozmiar pliku.

    TAR_UID
        Identyfikator użytkownika właściciela pliku.

    TAR_GID
        Identyfikator grupy posiadającej plik.

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

    TAR_VERSION
        Numer wersji GNU tar.

    TAR_ARCHIVE
        Nazwa przetwarzanego przez tar archiwum.

    TAR_BLOCKING_FACTOR
        Bieżąca liczba jednocześnie przetwarzanych bloków ("blocking factor") tj. liczba 512-bajtowych bloków na rekord.

    TAR_VOLUME
        Kolejny numer przetwarzanej przez tar części archiwum (ustawione przy odczytywaniu archiwum wieloczęściowego).

    TAR_FORMAT
        Format przetwarzanego archiwum. Jeden z: gnu, oldgnu, posix, ustar, v7.

    TAR_SUBCOMMAND
        Krótka opcja (z początkowym dywizem) opisująca aktualne działanie tar.

  Obsługa atrybutów plików

--atime-preserve[=METODA]
    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)

--delay-directory-restore
    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.

--group=NAZWA[:ID-GRUPY]
    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.

--group-map=PLIK
    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.

--mode=ZMIANY
    Wymusza ZMIANY trybu (symbolicznego) dodanych plików.

--mtime=DATA-lub-PLIK
    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.

-m, --touch
    Nie dearchiwizuje czasu modyfikacji plików.

--no-delay-directory-restore
    Odwołuje działanie wcześniejszej opcji --delay-directory-restore.

--no-same-owner
    Wypakowuje pliki jako użytkownik uruchamiający program tar (domyślne dla zwykłych użytkowników).

--no-same-permissions
    Stosuje umask użytkownika przy wypakowywaniu uprawnień z archiwum (domyślne dla zwykłych użytkowników).

--numeric-owner
    Posługuje się numerami użytkowników i grup, zamiast ich nazw.

--owner=NAZWA[:UID]
    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.

--owner-map=PLIK
    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.

-p, --preserve-permissions, --same-permissions
    Ustawia uprawnienia wypakowanych plików na zachowane w archiwum (domyślne dla superużytkownika).

--same-owner
    Próbuje wypakować pliki z tymi samymi właścicielami jak w archiwum (domyślne dla superużytkownika).

-s, --preserve-order, --same-order
    Przekazuje tar, że lista nazw plików do przetworzenia jest posortowana w tej samej kolejności jak pliki w archiwum.

--sort=KOLEJNOŚĆ
    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

--acls
    Włącza obsługę ACL POSIX.

--no-acls
    Wyłącza obsługę ACL POSIX.

--selinux
    Włącza obsługę kontekstu SELinux.

--no-selinux
    Wyłącza obsługę kontekstu SELinux.

--xattrs
    Włącza obsługę atrybutów rozszerzonych.

--no-xattrs
    Wyłącza obsługę atrybutów rozszerzonych.

--xattrs-exclude=WZORZEC
    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.

--xattrs-include=WZORZEC
    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

-f, --file=ARCHIWUM
    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.

--force-local
    Plik z archiwum jest lokalny nawet, jeżeli w jego nazwie występuje dwukropek.

-F, --info-script=POLECENIE, --new-volume-script=POLECENIE
    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:

    TAR_VERSION
        Numer wersji GNU tar.

    TAR_ARCHIVE
        Nazwa przetwarzanego przez tar archiwum.

    TAR_BLOCKING_FACTOR
        Bieżąca liczba jednocześnie przetwarzanych bloków ("blocking factor") tj. liczba 512-bajtowych bloków na rekord.

    TAR_VOLUME
        Kolejny numer przetwarzanej przez tar części archiwum (ustawione przy odczytywaniu archiwum wieloczęściowego).

    TAR_FORMAT
        Format przetwarzanego archiwum. Jeden z: gnu, oldgnu, posix, ustar, v7.

    TAR_SUBCOMMAND
        Krótka opcja (z początkowym dywizem) opisująca aktualne działanie tar.

    TAR_FD
        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.

-L, --tape-length=N
    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.

-M, --multi-volume
    Tworzy/wypisuje zawartość/wypakowuje archiwum wieloczęściowe.

--rmt-command=POLECENIE
    Używa POLECENIA zamiast rmt przy uzyskiwaniu dostępu do archiwów zdalnych. Zob. opis opcji -f, powyżej.

--rsh-command=POLECENIE
    Używa POLECENIA zamiast rsh przy uzyskiwaniu dostępu do archiwów zdalnych. Zob. opis opcji -f, powyżej.

--volno-file=PLIK
    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

-b, --blocking-factor=BLOKI
    Ustawia rozmiar rekordu na BLOKIx512 bajtów.

-B, --read-full-records
    Przy wypisywaniu lub wypakowywaniu, akceptuje niepełne rekordy wejściowe po znaczniku końca pliku.

-i, --ignore-zeros
    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.

--record-size=LICZBA
    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

-H, --format=FORMAT
    Tworzy archiwum w podanym formacie. Prawidłowe formaty to:

    gnu Format GNU tar 1.13.x.

    oldgnu
        Format GNU w programie tar <= 1.12.

    pax, posix
        Format POSIX 1003.1-2001 (pax).

    ustar
        Format POSIX 1003.1-1988 (ustar).

    v7  Stary format tar V7.

--old-archive, --portability
    Równoważne as --format=v7.

--pax-option=keyword[[:]=wartość][,keyword[[:]=wartość]]...
    Kontroluje słowa kluczowe pax przy tworzeniu archiwów PAX (-H pax). Opcja odpowiada opcji -o narzędzia pax(1).

--posix
    Równoważne --format=posix.

-V, --label=TEKST
    Tworzy archiwum z nazwą części TEKST. Przy wypisywaniu/rozpakowywaniu używa TEKSTU jako wzorca maski do nazwy części.

  Opcje kompresji

-a, --auto-compress
    Używa przyrostka archiwum do określenia programu kompresującego.

-I, --use-compress-program=POLECENIE
    Filtruje dane poprzez POLECENIE. Musi ono akceptować opcję -d służącą do rozpakowywania. Argument może posiadać opcje wiersza poleceń.

-j, --bzip2
    Filtruje archiwum programem bzip2(1).

-J, --xz
    Filtruje archiwum programem xz(1).

--lzip
    Filtruje archiwum programem lzip(1).

--lzma
    Filtruje archiwum programem lzma(1).

--lzop
    Filtruje archiwum programem lzop(1).

--no-auto-compress
    Nie używa przyrostka archiwum do określenia programu kompresującego.

-z, --gzip, --gunzip, --ungzip
    Filtruje archiwum programem gzip(1).

-Z, --compress, --uncompress
    Filtruje archiwum programem compress(1).

--zstd
    Filtruje archiwum programem zstd(1).

  Wybór lokalnego pliku

--add-file=PLIK
    Dodaje PLIK do archiwum (przydatne jeśli nazwa zaczyna się minusem).

--backup[=METODA]
    Wykonuje kopię zapasową przed usunięciem. Argument METODA, jeśli się go poda, reguluje sposób dokonywania kopii. Jego prawidłowe wartości to:

    none, off
        Nigdy nie tworzy kopii zapasowych.

    t, numbered
        Tworzy kopie numerowane.

    nil, existing
        Tworzy kopie numerowane, jeśli takie już istnieją, w innym przypadku tworzy kopie proste.

    never, simple
        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.

-C, --directory=KATALOG
    Przechodzi do KATALOGU przed dokonywaniem jakichkolwiek działań. Opcja jest zależna od kolejności tj. wpływa na wszystkie opcje za nią.

--exclude=WZORZEC
    Wyłącza pliki pasujące do WZORCA, który jest wieloznacznikiem w stylu glob(3).

--exclude-backups
    Wyłącza pliki kopii zapasowej i blokady.

--exclude-caches
    Wyłącza zawartość katalogów zawierających CACHEDIR.TAG, z wyłączeniem samego pliku tag.

--exclude-caches-all
    Wyłącza katalogi zawierające CACHEDIR.TAG i sam ten plik.

--exclude-caches-under
    Wyłącza wszystko w katalogach zawierających CACHEDIR.TAG

--exclude-ignore=PLIK
    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.

--exclude-ignore-recursive=PLIK
    Jak --exclude-ignore, tyle że wzorce z PLIKU mają wpływ na jego katalog wraz z wszystkimi podkatalogami.

--exclude-tag=PLIK
    Wyłącza zawartość katalogów zawierających PLIK, z wyjątkiem samego PLIKU.

--exclude-tag-all=PLIK
    Wyłącza katalogi zawierające PLIK.

--exclude-tag-under=PLIK
    Wyłącza wszystko w katalogach zawierających PLIK.

--exclude-vcs
    Wyłącza katalogi systemu kontroli wersji.

--exclude-vcs-ignores
    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.

-h, --dereference
    Podąża za dowiązaniami symbolicznymi; archiwizuje pliki, na które one wskazują.

--hard-dereference
    Podąża za dowiązaniami zwykłymi (twardymi); archiwizuje i zrzuca pliki do których się one odnoszą.

-K, --starting-file=SKŁADOWA
    Zaczyna od podanej składowej archiwum.

--newer-mtime=DATA
    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).

--no-null
    Odwołuje działanie opcji --null.

--no-recursion
    Zapobiega automatycznemu zagłębianiu się w katalogi.

--no-unquote
    Nie usuwa znaków cytowania z plików wejściowych lub nazw składowych.

--no-verbatim-files-from
    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.

--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.

-N, --newer=DATA, --after-date=DATA
    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).

--one-file-system
    Archiwizuje pliki tylko z bieżącego systemu plików.

-P, --absolute-names
    Przy tworzeniu archiwów, nie usuwa z nazw plików początkowych ukośników.

--recursion
    Obsługuje katalogi rekurencyjnie (domyślnie).

--suffix=ŁAŃCUCH
    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.

-T, --files-from=PLIK
    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).

--unquote
    Usuwa znaki cytowania z plików wejściowych lub nazw składowych (domyślne).

--verbatim-files-from
    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.

-X, --exclude-from=PLIK
    Wyłącza pliki o nazwach wymienionych w PLIKU.

  Przekształcenia nazwy plików

--strip-components=LICZBA
    Usuwa LICZBĘ początkowych części z nazw plików podczas wypakowania.

--transform=WYRAŻENIE, --xform=WYRAŻENIE
    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.

--anchored
    Wzorzec dopasowuje początek nazwy pliku.

--ignore-case
    Ignoruje wielkość znaków.

--no-anchored
    Wzorzec dopasowuje po dowolnym / (domyślne przy wyłączeniu).

--no-ignore-case
    Dopasowanie zwracające uwagę na wielkość znaków (domyślne).

--no-wildcards
    Dosłowne dopasowanie łańcuchów.

--no-wildcards-match-slash
    Wieloznacznik nie dopasowuje /.

--wildcards
    Używa wieloznacznika (domyślne przy wyłączeniach).

--wildcards-match-slash
    Wieloznacznik dopasowuje / (domyślne przy wyłączeniach).

  Wyjście informacyjne

--checkpoint[=LICZBA]
    Wyświetla informacje o postępie co LICZBA rekord (domyślnie 10).

--checkpoint-action=AKCJA
    Wykonuje AKCJĘ po każdym checkpoincie.

--clamp-mtime
    Ustawia czas tylko, jeśli plik jest nowszy niż to, co podano opcją --mtime.

--full-time
    Wypisuje czas pliku do jego pełnej rozdzielczości.

--index-file=PLIK
    Wypisuje szczegółowe informacje do PLIKU.

-l, --check-links
    Wypisuje komunikat, jeśli nie wszystkie dowiązania są zrzucone.

--no-quote-chars=ŁAŃCUCH
    Wyłącza dodatkowe znaki cytowania do ŁAŃCUCHA.

--quote-chars=ŁAŃCUCH
    Dodatkowe znaki cytowania do ŁAŃCUCHA.

--quoting-style=STYL
    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.

-R, --block-number
    Wypisuje numer rekordu wewnątrz archiwum przy każdym komunikacie.

--show-omitted-dirs
    Podczas wypisywania lub wypakowywania, wypisuje każdy katalog niepasujący do kryteriów wyszukiwania.

--show-transformed-names, --show-stored-names
    Pokazuje nazwy pliku lub archiwum po przekształceniu opcjami --strip i --transform.

--totals[=SYGNAŁ]
    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.

--utc
    Wypisuje czasy modyfikacji pliku w UTC.

-v, --verbose
    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".

--warning=SŁOWO-KLUCZOWE
    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:

    all Włącza wszystkie ostrzeżenia. Tak jest domyślnie.

    none
        Wyłącza wszystkie ostrzeżenia.

    filename-with-nuls
        "%s: przeczytana nazwa pliku zawiera znak NUL"

    alone-zero-block
        "Samotny blok zerowy przy %s"

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

    cachedir
        ""%s: zawiera znacznik katalogu pamięci podręcznej %s; %s"

    file-shrank
        "%s: Plik skurczył się o %s bajtów; jest dopełniany zerami"

    xdev
        "%s: plik w innym systemie plików; nie został zapisany"

    file-ignored
        "%s: Nieznany typ pliku; plik zignorowany"
        "%s: zignorowane gniazdo z nazwą"
        "%s: zignorowany plik door"

    file-unchanged
        "%s: plik jest niezmieniony; nie został zapisany"

    ignore-archive
        "%s: archiwum nie może zawierać samego siebie; nie zostało zapisane"

    file-removed
        "%s: Plik usunięty zanim został przeczytany"

    file-changed
        "%s: plik zmienił się w trakcie czytania"

    failed-read
        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:

    existing-file
        "%s: pominięcie istniejącego pliku"

    timestamp
        "%s: niemożliwie stara data %s"
        "%s: znacznik czasowy %s jest przesunięty o %s s w przyszłość"

    contiguous-cast
        "Wypakowywanie ciągłych plików jako zwykłych plików"

    symlink-cast
        "Próba wypakowania dowiązań symbolicznych jako dowiązań zwykłych"

    unknown-cast
        "%s: Nieznany typ pliku „%c”, odtworzony jako plik zwykły"

    ignore-newer
        "Aktualny %s jest nowszy albo w tym samym wieku"

    unknown-keyword
        "Zignorowane nieznane słowo kluczowe nagłówka rozszerzonego „%s”"

    decompress-program
        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.

    record-size
        "Rozmiar rekordu = %lu bloków"

    Słowa kluczowe kontrolujące wypakowanie przyrostowe:

    rename-directory
        "%s: Nazwa katalogu została zmieniona z %s"
        "%s: Nazwa katalogu została zmieniona"

    new-directory
        "%s: Katalog jest nowy"

    xdev
        "%s: katalog na innym urządzeniu: bez skasowania"

    bad-dumpdir
        "Zły format katalogu zrzutów: nigdy nie użyte „X”"

-w, --interactive, --confirmation
    Pyta o zgodę na każde działanie.

  Opcje kompatybilności

-o  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
Tłumaczenie niniejszej strony podręcznika: Ł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 (https://www.gnu.org/licenses/gpl-3.0.html) 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.