logo

Polecenie Tar w systemie Linux/Unix z przykładami

Polecenie tar jest skrótem od archiwum taśmowe w Linuksie. To polecenie służy do tworzenia archiwum i rozpakowywania plików archiwum. W Linuksa , jest to jedno z podstawowych poleceń ułatwiających funkcjonalność archiwizacji. Możemy użyć tego polecenia do tworzenia nieskompresowanych i skompresowanych plików archiwów, a także modyfikowania ich i konserwacji.

Tar to narzędzie oprogramowania komputerowego służące do gromadzenia kilku plików w jednym pliku archiwum w komputerze. Często nazywany jest tarballem do celów tworzenia kopii zapasowych i dystrybucji. Tytuł pochodzi z „archiwum taśmowego”, ponieważ w rzeczywistości został opracowany w celu określenia danych na sekwencyjnych urządzeniach we/wy nie korzystających z żadnego z ich systemów plików. Grupy danych archiwalnych utworzone przez tar zawierają wiele parametrów systemu plików, takich jak organizacja katalogów, uprawnienia dostępu do plików, własność, znaczniki czasu i nazwa. Na rzecz pax, POSIX porzucił tar, tar jest jednak szeroko stosowany.

Po pierwsze, został on ogłoszony w wersji 7 Uniksa w styczniu 1979 roku, zastępując program tp. Aby przechowywać dane, struktura plików została ujednolicona w POSIX.1-1988 i później POSIX.1-2001 i stała się wzorcem obsługiwanym przez prawie wszystkie nowoczesne systemy archiwizacji plików. Systemy operacyjne podobne do Uniksa zazwyczaj zawierają narzędzia do obsługi plików tar i narzędzia używane do ich kompresji, takie jak bzip2 i gzip.
Od aktualizacji Microsoft z 10 kwietnia 2018 r. BSD-tar jest zawarty w systemie Microsoft Windows i istnieją dwa lub więcej narzędzi innych firm do odczytywania i zapisywania tych wzorców w systemie Windows.

Formaty plików tar

Dostępnych jest wiele formatów plików tar, w tym aktualne i historyczne. W POSIX zapisano dwa formaty tar: pax i ustar.

nagłówek

Rekord nagłówka pliku zawiera metadane pliku. W rekordzie nagłówka informacje są kodowane w standardach ASCII, aby zapewnić elastyczność w różnych architekturach przy użyciu różnej kolejności bajtów. Dlatego też, jeśli każdy plik w archiwum jest plikiem tekstowym ASCII i zawiera nazwy ASCII, archiwum jest plikiem tekstowym ASCII (zawierającym kilka znaków NUL).

W poniższej tabeli wymieniono kilka pól zdefiniowanych przez rzeczywisty format tar uniksowy. Tabela typów plików/wskaźników łączy zawiera kilka nowoczesnych rozszerzeń. Pole jest wypełniane różnymi bajtami NUL, jeśli nie jest używane.

Nagłówek tar sprzed POSIX.1-1988:

Pole Rozmiar pola Przesunięcie pola
Nazwa pliku 100 0
Tryb plików 8 100
Numeryczny identyfikator użytkownika właściciela 8 108
Numeryczny identyfikator użytkownika grupy 8 116
Rozmiar pliku w bajtach 12 124
Czas ostatniej modyfikacji w postaci liczbowego czasu uniksowego 12 136
Suma kontrolna rekordu nagłówka 8 148
Wskaźnik łącza 1 156
Nazwa połączonego pliku 100 157

Format Ustartu

W formacie Ustar prawie każdy współczesny program tar zapisuje i odczytuje archiwa, ogłoszone przez standard POSIX IEEE P1003.1 z 1988 roku. Wprowadzono dodatkowe pola nagłówka. Poprzednie programy tar unikały dodatkowych informacji, ale nowe programy sprawdzają obecność ciągu „Ustar”, aby zdecydować, czy używany jest nowszy format.

konwersja daty na ciąg
Pole Rozmiar pola Przesunięcie pola
Wiele pól, jak w poprzednim formacie 156 0
Wpisz flagę 1 156
Pole podobne jak w poprzednim formacie 100 157
„ustar” Wskaźnik Ustar, następnie NUL 6 257
Wersja „00” Ustara 2 263
Nazwa użytkownika właściciela 32 265
Nazwa grupy właściciela 32 297
Numer główny urządzenia 8 329
Drobny numer urządzenia 8 337
Prefiks nazwy pliku 155 3. 4. 5

POSIX.1-2001/os

Firma Sun zaproponowała technikę dodawania rozszerzeń do formatu tar w 1997 r. Później została ona zatwierdzona jako standard POSIX.1-2001. Format ten nazywany jest formatem pax lub rozszerzonym formatem tar. Niektóre znaczniki są określone przez standard POSIX, w tym mtime, atime, linkpath, gname, uname, sizes, gid, uid oraz definicja zestawu znaków dla nazw grup/użytkowników i nazw ścieżek.

Kluczowe implementacje tar

Kluczowe implementacje są wymienione w kolejności pochodzenia:

    smoła solarisowa jest domyślnie dostępny w systemie operacyjnym Solaris, opartym na aktualnym systemie Unix V7. GNU tar jest ustawieniem domyślnym w prawie każdej dystrybucji Linuksa. Opiera się na implementacji pdtar należącej do domeny publicznej, która rozpoczęła się w 1987 roku. Najnowsze wydania mogą wykorzystywać wiele formatów, takich jak GNU, pax, v7 i ustar. FreeBSD tar stał się domyślnym plikiem tar w prawie każdym systemie operacyjnym opartym na dystrybucji oprogramowania Berkeley, takim jak Mac OS X. Schily smoła jest historycznie ważny, ponieważ kilka jego rozszerzeń było znanych. Po raz pierwszy ukazał się w kwietniu 1997 r. Plik tar Pythona obsługuje dwa lub więcej formatów tar, takich jak gnu, pax i ustar; może czytać, ale nie może tworzyć rozszerzonych formatów tar SunOS i V7; pax to domyślny format tworzenia archiwum. Jest dostępny dla użytkowników od 2003 roku.

Ponadto większość implementacji cpio i pax może tworzyć i czytać dwa lub więcej typów plików tar.

Składnia polecenia tar:

 tar [options] [archive-file] [directory or file to be archived] 

Opcje w poleceniu tar

Poniżej wymieniono różne opcje polecenia tar:

    -C:Opcja ta służy do tworzenia archiwum.-F:Opcja ta służy do utworzenia archiwum wraz z podaną nazwą pliku.-X:Ta opcja służy do rozpakowywania archiwów.-W:Można go użyć do dodania archiwum do istniejącego pliku archiwum.-T:Służy do wyświetlania lub wyświetlania listy plików znajdujących się w zarchiwizowanym pliku.-A:Ta opcja służy do łączenia plików archiwalnych.-W:Można go używać do wyświetlania pełnych informacji.-J:Służy do filtrowania archiwalnych plików tar za pomocą programu tbzip.-z:Jest to plik zip i informuje polecenie tar, które tworzy plik tar za pomocą programu gzip.-R:Ta opcja służy do aktualizacji i dodawania katalogu lub pliku w istniejącym pliku .tar.-W:Opcja ta służy do weryfikacji pliku archiwum.

Wprowadzenie do pliku archiwum

Plik archiwum można zdefiniować jako plik zawierający wiele plików z metadanymi. Pliki te służą do gromadzenia więcej niż jednego pliku danych w pojedynczym pliku, co ułatwia przechowywanie i przenoszenie. Można go również używać do kompresowania plików, aby zająć mniej miejsca na dysku.

Przykłady poleceń tar

Niektóre z ważnych przykładów, które są powszechnie używane w poleceniu tar, są następujące:

1. Tworzenie nieskompresowanego archiwum tar z opcją -cvf

Ta opcja powoduje, że plik tar jest nazywany plik.tar . Jest to archiwum wszystkich znajdujących się w nim plików .txt mójkat informator.

Polecenie jest następujące:

 $ tar cvf file.tar *.txt 

Polecenie Tar w systemie Linux

2. Wyodrębnianie plików przez archiwum za pomocą opcji -xvf

Ta opcja umożliwia wyodrębnianie plików poprzez archiwa.

Polecenie jest następujące:

 $ tar xvf file.tar 

Polecenie Tar w systemie Linux

3. Kompresja gzip przez archiwum tar z opcją -z

Ta opcja powoduje, że plik tar jest nazywany plik.tar.gz. Jest to archiwum każdego pliku .txt.

Polecenie jest następujące:

filmy123 do
 $ tar cvzf file.tar.gz *.txt 

Polecenie Tar w systemie Linux

4. Wyodrębnianie archiwum tar gzip za pomocą opcji -xvzf

Ta opcja umożliwia wyodrębnienie plików za pośrednictwem plików zarchiwizowanych w formacie tar file.tar.gz.

Polecenie jest następujące:

 $ tar xvzf file.tar.gz 

Polecenie Tar w systemie Linux

5. Tworzenie skompresowanych plików tar z opcją -j

Ta opcja pomoże nam tworzyć i kompresować pliki archiwalne. Zarówno dekompresja, jak i kompresja zajmują więcej czasu w porównaniu do gzip.

Polecenie jest następujące:

 $ tar cvfj file.tar.tbz hello1.txt 

Polecenie Tar w systemie Linux

6. Rozpakuj pojedynczy określony katalog lub plik w systemie Linux

Ta opcja służy do rozpakowania dowolnego pliku w naszym bieżącym katalogu lub w określonym katalogu za pomocą opcji -C.

Polecenie jest następujące:

blokuj reklamy na YouTube na Androida
 $ tar -xvf file.tar -C file's path in the directory 

Polecenie Tar w systemie Linux

Lub,

 $ tar -xvf file.tar 

Polecenie Tar w systemie Linux

7. Rozpakuj wiele plików .tar.tbz, .tar.gz, .tar w systemie Linux

Ta opcja nam w tym pomoże rozpowszechnianie się lub wyodrębnij więcej niż jeden plik z plików tar.bz2, tar.gz i pliku archiwum tar.

Przykład tej opcji jest następujący:

 $ tar -jxvf file.tar.tbz 'hello1.txt' 

Polecenie Tar w systemie Linux

Lub,

 $ tar -zxvf file.tar.gz 'hello1.txt' 'hello2.txt' 

Polecenie Tar w systemie Linux

Lub,

 $ tar -xvf file.tar 'hello1.txt' 'hello2.txt' 

Polecenie Tar w systemie Linux

8. Sprawdź rozmiar istniejącego pliku tar.tbz, tar.gz, tar

Polecenie pomoże nam wyświetlić rozmiar pliku archiwum w kilobajtach (KB), o którym mowa powyżej.

Polecenie jest następujące:

 $ tar -czf - file2.tar.tbz | wc -c 

Lub,

 $ tar -czf - file1.tar.gz | wc -c 

Lub,

 $ tar -czf - file.tar | wc -c 

Polecenie Tar w systemie Linux

9. Zaktualizuj istniejący plik tar

W systemie Linux polecenie aktualizacji istniejącego pliku tar wygląda następująco:

 $ tar rvf file.tar *.txt 

10. Lista zawartości i opis pliku tar za pomocą opcji tf

Ta opcja pomoże nam wyświetlić listę całego pliku archiwum. Możemy także wyświetlić konkretną zawartość w dowolnym pliku tar.

Polecenie jest następujące:

 $ tar tf file.tar 

Polecenie Tar w systemie Linux

11. Wyświetl archiwum za pomocą opcji -tvf

W systemie Linux możemy użyć opcji -tvf, aby wyświetlić archiwum.

Polecenie jest następujące:

 $ tar -tvf file.tar 

Polecenie Tar w systemie Linux

12. Przekaż nazwę pliku jako argument, aby znaleźć plik tar

Ta opcja umożliwia przeglądanie zarchiwizowanych plików wraz z ich informacjami.

bash z podziałem ciągów

Polecenie jest następujące:

 $ tar tvf file.tar filename 

Polecenie Tar w systemie Linux

13. Używanie potoku do rzucania „poleceniem grep” w celu wyszukania tego, czego szukamy

Ta opcja pomoże nam umieścić tylko wspomniany obraz lub tekst chwyt poprzez zarchiwizowane pliki.

Polecenie jest następujące:

 $ tar tvf file.tar | grep 'filename.file' 

Lub,

 $ tar tvf file.tar | grep 'text to search' 

Polecenie Tar w systemie Linux

Wprowadzenie do symboli wieloznacznych

Alternatywnie, symbole wieloznaczne są określane w systemie Linux jako znak wieloznaczny lub znak wieloznaczny. Jest to symbol używany do reprezentowania lub zastępowania wielu znaków.

kolekcje Java Java

Zazwyczaj symbole wieloznaczne są albo znakiem zapytania (?), który ilustruje pojedynczy znak, albo gwiazdką (*), która ilustruje wiele znaków.

Przykład-

14. Znajdź obraz w formacie .webp

Pomoże nam to w wyodrębnieniu tylko plików z rozszerzeniem .webp z archiwum file.tar. Opcja -wildcards informuje tar o interpretacji symboli wieloznacznych w nazwie pliku, który ma zostać wyodrębniony.

Nazwa pliku (*.webp) jest ujęta w pojedyncze cudzysłowy w celu ochrony symbolu wieloznacznego (*) przed nieprawidłowym rozwinięciem przez dowolną powłokę.

Polecenie jest następujące:

 $ tar tvf file.tar --wildcards '*.webp' 

Polecenie Tar w systemie Linux

Uwaga: W powyższym poleceniu symbol „*” jest stosowany w pozycji nazwy pliku w celu pobrania każdego pliku dostępnego w tym konkretnym katalogu.

15. Usuń pliki z archiwum tar

Możemy użyć opcji --delete do usunięcia plików i archiwum tar.

Polecenie jest następujące:

 $ tar --delete -f archive.tar file_name 

Przykład:

 tar -delete -f file.tar hello1.txt 

Wyjście:

Polecenie Tar w systemie Linux

hello1.txt plik został usunięty z archiwum file.tar:

Polecenie Tar w systemie Linux