Porady Admina: tar
Ostatnia aktualizacja: 1 września 2024, 19:43
W kolejnym wpisie z cyklu Porady Admina przeanalizujemy program tar.
Polecenie tar tworzy pliki tar poprzez konwersję grupy plików do archiwum. Może również wyodrębnić archiwa tar, wyświetlić listę plików zawartych w archiwum, dodać dodatkowe pliki do istniejącego archiwum i wykonać wiele innych operacji. Tar został pierwotnie zaprojektowany do tworzenia archiwów do przechowywania plików na taśmach magnetycznych, dlatego ma nazwę „Tape ARchive”.
Składnia
tar [OPCJE] [PLIK]
Podstawowe opcje
-A, –catenate, –concatenate : dołączenie plików tar do archiwum
-c, –create : utworzenie nowego archiwum
–delete : skasowanie plików z archiwum (nie na taśmie!)
-d, –diff, –compare : sprawdzenie różnic między archiwum i plikami na dysku
-r, –append : dołączenie plików na końcu archiwum
–test-label : przetestowanie etykiety archiwum i wyjście
-t, –list : wypisanie zawartości archiwum
-u, –update : dołączenie tylko plików nowszych niż kopie w archiwum
-x, –extract, –get : rozpakowanie plików z archiwum
-g, –listed-incremental=PLIK : backup przyrostowy w nowym formacie GNU
-G, –incremental : backup przyrostowy w starym formacie GNU
-n, –seek : archiwum o swobodnym dostępie
-C, –directory=KATALOG : przejście do KATALOGU
-T, –files-from=PLIK : nazwy plików do rozpakowania lub spakowania z PLIKU
-X, –exclude-from=PLIK : wykluczenie nazw pasujących do wzorców w PLIKU
-k, –keep-old-files : bez zamazania istniejących plików rozpakowanymi, uznawanie prób zamazania za błąd
-U, –unlink-first : usunięcie każdego pliku przed zamazaniem go rozpakowanym plikiem
-W, –verify : próba weryfikacji archiwum po zapisaniu
-O, –to-stdout : rozpakowanie plików na standardowe wyjście
-m, –touch : bez odtworzenia czasu modyfikacji rozpakowanego pliku
-f, –file=ARCHIWUM : użycie pliku lub urządzenia ARCHIWUM
-F, –info-script=NAZWA, –new-volume-script=NAZWA : uruchomienie skryptu na końcu taśmy (włącza -M)
-b, –blocking-factor=BLOKI : BLOKI x 512 bajtów na rekord
-B, –read-full-records : podzielenie na bloki przy odczycie (dla pipe 4.2BSD)
-i, –ignore-zeros : ignorowanie wyzerowanych bloków w archiwum (oznacza EOF)
-H, –format=FORMAT : utworzenie archiwum w danym formacie.
FORMAT może być jednym z następujących:
gnu – format tar GNU 1.13
oldgnu – format GNU dla tar starszy niż 1.12
pax – format POSIX 1003.1-2001 (pax)
posix – to samo co pax
ustar – format POSIX 1003.1-1988 (ustar)
v7 – stary format tar z V7
Opcje kompresji:
-a, –auto-compress : użycie przyrostka nazwy archiwum do ustalenia programu kompresującego
-I, –use-compress-program=PROGRAM : filtrowanie przez PROGRAM (akceptujący -d)
-j, –bzip2 : filtrowanie archiwum przez bzip2
-J, –xz : filtrowanie archiwum przez xz
–lzip : filtrowanie archiwum przez lzip
–lzma : filtrowanie archiwum przez xz
–lzop : filtrowanie archiwum przez lzop
–no-auto-compress : bez używania przyrostka nazwy archiwum do wyznaczenia programu kompresującego
–zstd : filtrowanie archiwum przez zstd
-z, –gzip, –gunzip, –ungzip : filtrowanie archiwum przez gzip
-Z, –compress, –uncompress : filtrowanie archiwum przez compress
Przykłady
Aby utworzyć archiwum tar, użyj opcji -c, po której następuje -f i nazwa archiwum.
tar -cf archiwum1.tar plik1 plik2 plik3
lub
tar --create --file=archiwum1.tar plik1 plik2 plik3
Możesz utworzyć archiwa z zawartości jednego lub więcej katalogów lub plików. Domyślnie katalogi są archiwizowane rekurencyjnie, chyba że określono opcję –no-recursion.
tar -cf backup1.tar /home/pawel/Muzyka
Opcja -z mówi programowi tar, aby skompresował archiwum przy użyciu algorytmu gzip.
tar -czf archiwum1.tar.gz plik1 plik2
Aby skompresować archiwum algorytmem bzip2, wywołaj program tar z opcją -j.
tar -cjf archiwum1.tar.bz2 plik1
W połączeniu z opcją –list (-t) polecenie tar wyświetla zawartość archiwum tar bez jego wypakowywania.
tar -tfv archiwum1.tar
Aby rozpakować archiwum tar, użyj opcji –extract (-x), po której należy podać nazwę archiwum.
tar -xfv archiwum1.tar
tar -xfv archiwum2.tar.bz2
tar -xfv archiwum3.tar.gz
Domyślnie tar rozpakuje zawartość archiwum w bieżącym katalogu roboczym. Użyj –directory (-C), aby rozpakować pliki archiwum w określonym katalogu.
tar -xf archiwum1.tar -C /home/pawel/nowy
Aby wyodrębnić konkretny plik(i) z archiwum tar, należy dodać po nazwie archiwum listę nazw plików do wyodrębnienia rozdzielonych spacjami.
tar -xf archiwum1.tar plik1 plik2
Wypakowanie jednego lub większej liczby katalogów z archiwum odbywa się w ten sam sposób, co wypakowanie plików.
tar -xf archiwum1.tar dir1 dir2
Listę plików i katalogów w archiwum uzyskasz poleceniem:
tar --list archiwum1.tar
Więcej informacji o programie tar uzyskasz poleceniami:
man tar
tar --help