Příkaz tar je zkratka pro páskový archiv v Linuxu. Tento příkaz se používá pro vytvoření archivu a rozbalení archivních souborů. v Linux , je to jeden ze základních příkazů, které usnadňují funkci archivace. Tento příkaz můžeme použít pro vytváření nekomprimovaných a komprimovaných archivních souborů a také je upravovat a udržovat.
Tar je pomůcka počítačového softwaru ke shromažďování několika souborů do jednoho archivního souboru v počítači. Často je známý jako tarball pro účely zálohování a distribuce. Titul je získán z „páskového archivu“, protože byl ve skutečnosti vyvinut pro specifikaci dat na sekvenčních I/O zařízeních, která nepoužívají žádný z jejich souborových systémů. Skupiny archivních dat vytvořené pomocí tar zahrnují mnoho parametrů souborového systému, jako je organizace adresářů, oprávnění k přístupu k souborům, vlastnictví, časová razítka a název. Ve prospěch pax, POSIX opustil tar, tar přesto vidí široké použití.
Nejprve byl oznámen ve verzi 7 Unix v lednu 1979 a nahradil program tp. Pro ukládání dat byla struktura souborů standardizována v POSIX.1-1988 a později POSIX.1-2001 a stala se vzorem podporovaným téměř všemi moderními systémy archivace souborů. Operační systémy podobné Unixu obecně obsahují nástroje pro podporu souborů tar a nástroje používané pro jejich kompresi, jako je bzip2 a gzip.
Od aktualizace Microsoft z 10. dubna 2018 je BSD-tar obsažen v Microsoft Windows a existují dva nebo více nástrojů třetích stran pro čtení a zápis těchto vzorů ve Windows.
Formáty souborů tar
K dispozici je mnoho formátů souborů tar, včetně současných a historických. V POSIX jsou zapsány dva formáty tar: pax a ustar.
Záhlaví
Záznam záhlaví souboru obsahuje metadata souboru. V záznamu záhlaví jsou informace zakódovány ve standardech ASCII, aby byla zajištěna flexibilita napříč různými architekturami pomocí odlišného uspořádání bajtů. Pokud je tedy každý soubor textovým souborem ASCII v archivu a obsahuje názvy ASCII, archiv je textový soubor ASCII (má několik znaků NUL).
V následující tabulce je uvedeno několik polí definovaných skutečným unixovým formátem tar. Tabulka typu odkazového souboru/indikátoru obsahuje několik moderních rozšíření. Pole je vyplněno různými bajty NUL, pokud není použito.
Záhlaví tar před POSIX.1-1988:
Pole | Velikost pole | Posun pole |
---|---|---|
Název souboru | 100 | 0 |
Režim souborů | 8 | 100 |
Číselné uživatelské ID vlastníka | 8 | 108 |
Číselné ID uživatele skupiny | 8 | 116 |
Velikost bajtového souboru | 12 | 124 |
Čas poslední úpravy ve formě číselného unixového času | 12 | 136 |
Kontrolní součet pro záznam záhlaví | 8 | 148 |
Indikátor spojení | 1 | 156 |
Název propojeného souboru | 100 | 157 |
Formát Ustart
Ve formátu Ustar téměř každý moderní program tar zapisuje a čte archivy, oznámený standardem POSIX IEEE P1003.1 z roku 1988. Zavedl další pole záhlaví. Předchozí programy tar by se vyhnuly dodatečným informacím, ale nové programy zkontrolují přítomnost řetězce 'Ustar', aby rozhodly, zda se používá novější formát.
Pole | Velikost pole | Posun pole |
---|---|---|
Mnoho polí, jako v předchozím formátu | 156 | 0 |
Zadejte příznak | 1 | 156 |
Podobné pole jako v předchozím formátu | 100 | 157 |
Indikátor 'ustar' Ustar, poté NUL | 6 | 257 |
Verze '00' Ustar | 2 | 263 |
Uživatelské jméno vlastníka | 32 | 265 |
Název skupiny vlastníka | 32 | 297 |
Hlavní číslo zařízení | 8 | 329 |
Vedlejší číslo zařízení | 8 | 337 |
Předpona názvu souboru | 155 | 3. 4. 5 |
POSIX.1-2001/os
Sun navrhl techniku pro přidání rozšíření do formátu tar v roce 1997. Později byla schválena pro standard POSIX.1-2001. Formát se nazývá formát pax nebo rozšířený formát tar. Některé značky jsou specifikovány standardem POSIX, včetně mtime, atime, linkpath, gname, uname, size, gid, uid a definice znakové sady pro jména skupin/uživatelů a názvy cest.
linuxové příkazy, které
Klíčové implementace tar
Klíčové implementace jsou uvedeny v pořadí původu:
Navíc většina implementací cpio a pax může vytvářet a číst dva nebo více typů souborů tar.
Syntaxe příkazu tar:
tar [options] [archive-file] [directory or file to be archived]
Možnosti v příkazu tar
Níže jsou uvedeny různé možnosti v příkazu tar:
Úvod do archivního souboru
Archivní soubor lze definovat jako soubor, který obsahuje více souborů s metadaty. Tyto soubory se používají ke shromažďování více než jednoho datového souboru společně do jednoho souboru pro snadnější ukládání a přenositelnost. Může být také použit pro kompresi souborů, aby se spotřebovalo méně úložného prostoru.
Příklady příkazu tar
Některé z důležitých příkladů, které jsou široce používány v příkazu tar, jsou následující:
1. Vytvoření nekomprimovaného tar archivu s volbou -cvf
Tato možnost dělá soubor tar známý jako soubor.tar . Je to archiv každého .txt souboru uvnitř mydir adresář.
Příkaz je následující:
$ tar cvf file.tar *.txt
2. Extrahování souborů přes archiv s volbou -xvf
Tato možnost může extrahovat soubory prostřednictvím archivů.
Příkaz je následující:
$ tar xvf file.tar
3. komprese gzip přes archiv tar s volbou -z
Tato možnost dělá soubor tar známý jako soubor.tar.gz. Je to archiv každého souboru .txt.
Příkaz je následující:
$ tar cvzf file.tar.gz *.txt
4. Rozbalte archiv gzip tar s volbou -xvzf
Tato volba může extrahovat soubory prostřednictvím archivovaných souborů tar file.tar.gz.
Příkaz je následující:
$ tar xvzf file.tar.gz
5. Vytvoření komprimovaných souborů tar s volbou -j
Tato možnost nám pomůže vytvořit a komprimovat archivní soubory. Dekomprimace i komprimace zaberou více času ve srovnání s gzip.
Příkaz je následující:
$ tar cvfj file.tar.tbz hello1.txt
6. Rozbalte v Linuxu jeden zadaný adresář nebo soubor
Tato volba se používá k rozbalení libovolného souboru v našem aktuálním adresáři nebo uvnitř zadaného adresáře s volbou -C.
Příkaz je následující:
Java srovnatelné rozhraní
$ tar -xvf file.tar -C file's path in the directory
Nebo,
$ tar -xvf file.tar
7. Rozbalte více souborů .tar.tbz, .tar.gz, .tar v Linuxu
Tato možnost nám k tomu pomůže šíření nebo extrahujte více než jeden soubor z tar.bz2, tar.gz a archivního souboru tar.
Příklad této možnosti je následující:
$ tar -jxvf file.tar.tbz 'hello1.txt'
Nebo,
$ tar -zxvf file.tar.gz 'hello1.txt' 'hello2.txt'
Nebo,
$ tar -xvf file.tar 'hello1.txt' 'hello2.txt'
8. Zkontrolujte velikost existujícího souboru tar.tbz, tar.gz, tar
Příkaz nám pomůže zobrazit výše uvedenou velikost archivního souboru v kilobajtech (KB).
Příkaz je následující:
$ tar -czf - file2.tar.tbz | wc -c
Nebo,
$ tar -czf - file1.tar.gz | wc -c
Nebo,
$ tar -czf - file.tar | wc -c
9. Aktualizujte stávající soubor tar
V Linuxu je příkaz pro aktualizaci existujícího souboru tar následující:
$ tar rvf file.tar *.txt
10. Seznam obsahu a popis souboru tar s volbou tf
Tato volba nám pomůže zobrazit celý seznam archivních souborů. Také můžeme uvést konkrétní obsah v libovolném souboru tar.
Příkaz je následující:
$ tar tf file.tar
11. Prohlédněte si archiv pomocí volby -tvf
V Linuxu můžeme k zobrazení archivu použít volbu -tvf.
Příkaz je následující:
$ tar -tvf file.tar
12. Předejte název souboru jako argument pro nalezení souboru tar
Tato možnost umožňuje zobrazit archivované soubory s jejich informacemi.
Příkaz je následující:
$ tar tvf file.tar filename
13. Použití roury pro vyvolání „příkazu grep“ k vyhledání toho, co hledáme
Tato možnost nám pomůže vypsat pouze zmíněný obrázek nebo text rukojeť prostřednictvím archivovaných souborů.
Příkaz je následující:
$ tar tvf file.tar | grep 'filename.file'
Nebo,
$ tar tvf file.tar | grep 'text to search'
Úvod do zástupných znaků
Alternativně jsou zástupné znaky v Linuxu označovány jako zástupný znak nebo zástupný znak. Je to symbol, který se používá pro reprezentaci nebo nahrazení více znaků.
Zástupné znaky jsou obvykle buď otazník (?), který znázorňuje jednotlivý znak, nebo hvězdička (*), která znázorňuje více znaků.
Příklad-
14. Najděte obrázek ve formátu .webp
Pomůže nám to pro extrahování pouze souborů s příponou .webp z archivu file.tar. Volba -wildcards informuje tar o interpretaci zástupných znaků v názvu souboru, který má být extrahován.
Název souboru (*.webp) je uzavřen uvnitř jednoduchých uvozovek pro ochranu zástupného znaku (*) před nesprávným rozšířením jakýmkoli shellem.
typ data na stroji
Příkaz je následující:
$ tar tvf file.tar --wildcards '*.webp'
Poznámka: Ve výše uvedeném příkazu je na pozici názvu souboru použit symbol '*' pro každý soubor dostupný v daném konkrétním adresáři.
15. Odstraňte soubory z archivu tar
Pro odstranění souborů a archivu tar můžeme použít volbu --delete.
Příkaz je následující:
$ tar --delete -f archive.tar file_name
Příklad:
tar -delete -f file.tar hello1.txt
Výstup:
ahoj1.txt soubor byl odstraněn z archivu file.tar: