GNU/Linux >> Znalost Linux >  >> Linux

16 příkazů Tar pro kompresi a extrahování souborů v Linuxu

Tar je nástroj příkazového řádku používaný k vytváření a manipulaci s archivními soubory v systémech Linux a Unix. Příkaz Tar vytvoří archivní soubor .tar a poté jej zkomprimuje pomocí gzip nebo bzip2.

Můžete vytvořit jeden archivovaný komprimovaný soubor pomocí jednoho příkazu pro získání souborů .tar.gz nebo .tar.bz2. Příkaz Tar lze také použít k extrahování archivovaných souborů.

Podívejme se na několik praktických příkladů příkazu tar v akci.

1) Vytvořte archivní soubor .tar

Chcete-li vytvořit nekomprimovaný tar (.tar) , použijte volbu -c s příkazem tar následovně:

$ tar -cvf /path/to/foo.tar /path/to/foo/

Kde '/cesta/k/foo.tar' je umístění výsledného souboru tar a '/cesta/k/foo' je umístění souboru nebo adresáře, který se má použít jako vstup.

Příklad

$ tar -cvf powerlog.tar powerlog
a powerlog
$ ls
powerlog powerlog.tar

Můžete použít absolutní cestu namísto relativní, jak je znázorněno v příkladu.

2) Vytvořte archiv .gz pomocí tar

Syntaxe příkazu k vytvoření .gz archiv s tar je:

$ tar -czvf /path/to/foo.tgz /path/to/foo/

Kde '/path/to/foo.tgz' je cílový komprimovaný soubor a '/path/to/foo /' je zdrojový adresář nebo soubor, který má být komprimován.

3) Vytvořte archiv .bz2

Možnost -j se používá pro práci s archivy .bz2.

$ tar -cjvf /path/to/foo.tgz /path/to/foo/

4) Vytvořte archiv .gz a vylučte jej

Používáme --exclude tar možnost vyloučit konkrétní příponu nebo seznam přípon souborů. Syntaxe je podobná níže:

$ tar -czvf /path/to/foo.tgz --exclude=\*.{jpg,gif,png,wmv,flv,tar.gz,zip} /path/to/foo/.

5) Použijte tar bez absolutní cesty pro komprimaci

Když ke kompresi souborů použijete tar a zadáte absolutní cestu, komprimovaný soubor bude mít ve svých metadatech úplnou cestu, takže když extrahujete obsah, bude v adresářích podobných absolutní cestě, která byla předána. Chcete-li se tomu vyhnout, přidejte . na konci příkazu.

$ tar -zcvf /path/to/foo.tgz -C/path/to/foo .

6) Tar všechny soubory začínající určitým písmenem

Vytvořte archiv tar všeho v aktuálním adresáři začínající na 'i'.

# tar -cvf fullbackup.tar i*
install.log
install.log.syslog

7) Přidat nový soubor do existujícího archivu tar

Připojte soubor nebo přidejte nový soubor do existujícího archivu tar.

# tar --append --file=backup.tar anaconda-ks.cfg

Výše uvedený příkaz připojí soubor anaconda-ks.cfg do archivu backup.tar

8) Přidání dvou archivních souborů s možností zřetězení

# tar --concatenate --file=backup.tar fullbackup.tar

Výše uvedený příkaz přidá obsah souboru fullbackup.tar do archivu backup.tar.

9) Rozbalte archivní soubor .tar

Chcete-li extrahovat nekomprimovaný archiv, který má často příponu .tar , syntaxe příkazu je:

$ tar -xvf /path/to/foo.tar

Kde /path/to/foo.tar je absolutní/relativní cesta k umístění souboru tar. Např

$ tar -xvf powerlog.tar 
x powerlog/

10) Rozbalte archiv .gz

Chcete-li extrahovat .gz archive, použijeme syntaxi příkazu:

$ tar -xzvf /path/to/foo.tgz

Kde '/path/to/foo.tgz' je absolutní nebo relativní cesta ke komprimovanému souboru.

11) Rozbalte archiv .bz2

Syntaxe příkazu pro extrakci .bz2 archiv je

$ tar -xjvf /path/to/foo.bz2

Všimněte si, že můžete předat soubor .tgz, pokud byl komprimován pomocí -j volba. Tar automaticky detekuje formát a dekomprimuje jej.

12) Extrahujte soubor .tar v určeném adresáři

Chcete-li rozbalit archiv tar do konkrétního adresáře, použijte -C možnost poskytnout cílový adresář.

$ tar -xvf /path/to/foo.tar -C /path/to/destination/

13) Extrahujte soubor z archivu tar

Následující příkaz rozbalí soubor 'anaconda-ks.cfg' z archivu 'backup.tar'.

# tar --extract -vv --occurrence --file=./backup.tar anaconda-ks.cfg
-rw-r--r-- root/root 766 2008-04-12 06:52:42 anaconda-ks.cfg

14) Seznam obsahu archivu .gz

Předpokládejme, že chcete zobrazit pouze obsah .tgz soubor, aniž byste je extrahovali, použijete syntaxi příkazu:

$ tar -ztvf /path/to/foo.tgz

Stačí nahradit '/path/to/foo.tgz' správnou cestou vašeho .tgz soubor

15) Vypsat obsah archivního souboru .bz2

Pokud chcete pouze zobrazit obsah .bz2 archivovat bez rozbalování, použijte příkaz:

$ tar -jtvf /path/to/foo.tgz

16) Zachovejte symbolické odkazy pomocí příkazu tar

Použijte tar -cvhf pro zachování mých symbolických odkazů při generování archivu tar (k tomu použijte možnost „h“).

Závěr

Je těžké si zapamatovat všechny možnosti příkazu tar. Níže je seznam běžně používaných možností tar.

- j :Používá se k filtrování archivu přes bzip2.
- v :Spusťte příkaz v podrobném režimu pro zobrazení průběhu archivního souboru.
- f :Zadejte název souboru archivu.
- W :Používá se k ověření archivního souboru.
- z :Filtrujte archiv pomocí nástroje gzip.
- t :Používá se k zobrazení obsahu archivního souboru.
-c :Vytvoří nový archiv obsahující zadané položky.
-r :Používá se pro připojení nebo aktualizaci existujícího archivu pomocí souborů nebo adresářů
-t :Seznam obsahu archivu na stdout.
-u :Jako -r, ale nové položky se přidávají pouze v případě, že mají novější datum změny než odpovídající položka v archivu.
-x :Extrahujte archivní soubor na disk.

U všech operací tar se obslužný program ukončí s 0 na úspěchu a >0 pokud dojde k chybě. Je důležité to pochopit, pokud používáte tar se skriptem.

Doufám, že se vám líbilo čtení tohoto návodu k příkazu tar. Zanechte prosím své návrhy v sekci komentářů níže.

Přečtěte si také:

  • Jak zachovat symbolické odkazy v příkazu Tar

Linux
  1. Jak archivovat soubory a adresáře v Linuxu [část 2]

  2. Jak archivovat soubory a adresáře v Linuxu [část 1]

  3. Tar Command v Linuxu (komprimovat a dekomprimovat soubory)

  1. Jak archivovat a komprimovat soubory na Linuxu

  2. 10 příkladů příkazů Tar v Linuxu pro vytváření a extrahování archivů

  3. Jak komprimovat a extrahovat soubory pomocí příkazu tar v systému Linux?

  1. Jak extrahovat soubory Tar do konkrétního nebo jiného adresáře v Linuxu

  2. Příklady cpio pro Linux:Jak vytvořit a extrahovat archivy cpio (a archivy tar)

  3. Jak komprimovat a extrahovat soubory a adresáře v Linuxu pomocí gzip a bzip2