GNU/Linux >> Znalost Linux >  >> Linux

15 Použití příkazu Tar v Linuxu s příklady

Dehtovat je skvělý nástroj, který se používá pro shromažďování více souborů v jednom archivu. Tento soubor se často nazývá „tarball“. Dnes vám povíme o různých věcech, které můžete dělat s tarbally pomocí tar příkaz s praktickými příklady.

Tar se většinou používá pro balicí aplikace a jejich binární soubory pro nezpracovanou instalaci, která by fungovala na jakémkoli systému, spíše než na základě specifických formátů, jako jsou balíčky DEB, RPM nebo AUR. Kromě toho tar je také docela účinný formát pro vytváření záloh.

POZNÁMKA: Všechny -f značky používané kdekoli jsou nezbytné při interakci s jakýmikoli „soubory“, což je téměř každý případ.

Použití příkazu Tar v Linuxu

1. –seznam

Tento příznak se používá k zobrazení seznamu souborů v tarballu. Požadovaný argument je pouze název tarballu a (jak bylo zmíněno), -f vlajka. Standardní syntaxe vypadá takto:

tar --list -f <Tarball name>

Ve zkrácené podobě:

tar tf <Tarball name>

2. –vytvořit

Příznak –create se používá k vytvoření nového tarballu. Požadované argumenty jsou název (budoucího) tarballu a soubory, které mají být zahrnuty. Názvy adresářů jsou také přijatelné jako argument. Standardní formát je:

tar --create -f <Required tarball name> <File names>

To lze ve zkrácené podobě použít následujícím způsobem:

tar cf <Required tarball name> <File names>

Vytvoření dalších formátů archivu

Existují různé formáty archivace, které jsou součástí tar a které se používají pro kompresi. Formáty, které si ukážeme, jsou .tar.xz a .tar.gz formátů.

Vytvoření XZ (.tar.xz ) archiv

tar cfJ <Required tarball name> <File names>

Vytvoření GZip (.tar.gz ) archiv

tar cfz <Required tarball name> <File names>

Vytvoření archivu bzip2 (.tar.bz2)

tar cfj <Required tarball name> <File names>

3. –připojit

Příznak –append se používá k přidávání souborů do již existujícího tarballu. Syntaxe je docela jednoduchá, to je:

tar --append -f <Tarball name> <Names of files to be added>

Kratší:

tar rf <Tarball name> <Names of files to be added>

4. –smazat

To se používá k odstranění souborů z tarballu. Syntaxe vyžaduje název tarballu a název souboru v následujícím pořadí:

tar --delete -f <Name of tarball> <Names of files>

5. –rozdíl

–rozdíl flag najde rozdíly mezi tarballem a určitými soubory, které musí uživatel specifikovat. Například, jak již bylo zmíněno, tar se široce používá k vytváření záloh. Pokud tedy existuje tarball a chcete zkontrolovat, zda existují nějaké rozdíly mezi aktuálním stavem souborů ve srovnání s těmi, které jsou již v tarballu, můžete použít –diff .

Příklad:

V této situaci soubor test v tarballu test.tar je prázdný, ale ten mimo tarball má obsah, jak je znázorněno. Všimněte si rozdílů, které ukazuje tar .

Jak můžete vidět zde, chyba zobrazená mezi prázdným testem a neprázdný test je „Velikost se liší,“ ale i když je velikost stejná, objeví se chyba:

Závěrem lze říci, že obecná syntaxe může být zobrazena takto:

tar --diff -f <Name of tarball> <Names of files to be compared>

6. – aktualizace

Tento příznak lze použít k aktualizaci konkrétního souboru uvnitř tarballu. Pokud je v tomto příkazu umístěn soubor se stejným názvem, bude soubor s novým obsahem připojen na konec souboru, nikoli ten, který bude nahrazen nejnovější verzí. Níže uvedený snímek obrazovky to popisuje:

Opět to lze využít v případě vytváření záloh. Obecná syntaxe bude:

tar --update -f <Tarball name> <Names of files to be updated>

Kratší formát:

tar uf <Tarball name> <Names of files to be updated>

7. –extrakt

Toto je pravděpodobně nejpoužívanější příznak příkazu tar. Používá se k extrahování souborů z tarballu, a protože se tak používá, má také spoustu konfigurací. Pro změnu jsou argumenty kromě názvu tarballu volitelné. Pokud není zadáno, tar rozbalí všechny soubory uvnitř tarballu. Takže syntaxe pro extrahování konkrétních souborů:

tar --extract -f <Tarball name> <File names>

Pro extrahování všech souborů:

tar --extract -f <Tarball name>

Nebo kratší formát:

tar xf <Tarball name> <Optional file names>

Extrakce GZip (.tar.gz ) archiv

tar zxf <Tarball name> <Optional file names>

Extrakce XZ (.tar.xz ) archivy tar

tar xf <Tarball name> <Optional file names>

Rozbalování archivů bzip2 (.tar.bz2)

tar xjf <Tarball name> <Optional file names>

Nyní, po zvládnutí základů, můžeme přejít k některým hlubším funkcím tar .

8. Kontrola přepsání

Může se stát, že názvy jednoho nebo více souborů extrahovaných z tarballu se shodují s názvy souborů již existujících v pracovním adresáři. Některá opatření mohou být přijata, abyste udělali to, co si přejete, když k tomu dojde. Různé scénáře:

Přepsání souborů

První případ je, že chcete nahradit soubory existující v adresáři. Chcete-li se ujistit, že k tomu dojde, zadejte příkaz následujícím způsobem:

tar --extract -f <Tarball name> <Optional file names> --overwrite

Nepřepisovat soubory

Tím nedojde k přepsání souborů s tím, že soubory již existují. Příkaz lze zadat následujícím způsobem:

tar --extract -f <Tarball name> <Optional file names> -keep-old-files

Pouze přepsat starší soubory

To je zvláště užitečné, protože chrání pouze soubory, které jsou v porovnání se soubory v archivu novější. Například zde test2 uvnitř archivu je obsah, který byl ve srovnání s test2 upraven v adresáři:

Jak vidíte, je tam napsáno „… je novější nebo stejného věku ‘ pro zbytek souborů, ale ne test2 , což znamená test2 byl vyměněn. Struktura příkazu je tedy:

tar --extract -f <Tarball Name> <Optional file names> --keep-newer-files

9. –remove-files

Tento příznak lze použít jako zkratku pro odstranění souborů z adresáře přímo po jejich archivaci. Je to dostatečně jednoduchý příkaz, syntaxe je následující:

tar --create -f < Required tarball name> <File names> --remove-files

10. –vyloučit

Příznak –exclude lze použít k vyloučení určitých souborů z archivace. Vzor musí být uveden před čímkoli jiným a v uvozovkách, jak je použito v příkazu níže:

tar --exclude='PATTERN' --create -f <Tarball name required> <File names>

Příklad použití:

11. –to-command=’COMMAND’

Příkaz tar má svou funkci pro použití výstupu jako vstupu pro jiný příkaz, kterým je –to-command vlajka. Například chci použít názvy souborů z test2.tar a vytvořit adresář se stejným názvem, jako mají soubory v archivu. To lze provést takto:

tar xf test2.tar --to-command='mkdir $TAR_REALNAME'

Toto je poměrně pokročilé. „$ ‘ je nutné odkazovat na jakoukoli systémovou proměnnou při používání Bash. Název „TAR_REALNAME ‘ je proměnná používaná k odkazování na název jednoho souboru při použití –to-command vlajka v tar . Existuje několik takových proměnných, které lze nalézt v man stránky tar , a také na této webové stránce.

12. Vlastnictví souborů

Vlastnictví souborů v archivu lze konfigurovat různými způsoby. Nejprve vytvořte archiv, ve kterém jsou soubory nastaveny na konkrétního vlastníka, příznak –owner může být použito. Příklad použití:

Jak je vidět, uživatel 0 a skupina 0 odpovídají uživateli root . Root (jak asi víte) je vládcem systému. UID (ID uživatele) a GID (ID skupiny) ostatních uživatelů můžete najít pomocí příkazu id následujícím způsobem:

id <username>

Nyní k extrahování souborů při zachování vlastníků souboru:

tar xf <Tarball name> --same-owner

13. Kompletní zálohovací řešení

Jak jsem již několikrát zmínil, tar je docela dobrý zálohovací program. Řeknu vám o několika dalších vlajkách, díky kterým je to ještě lepší. Za prvé, existují věci, které chceme při vytváření záloh zahrnout/vyloučit. Zahrňte soubory, na které odkazují (symbolické odkazy). Vyloučit předchozí záložní soubory a adresáře VCS (většinou užitečné pouze pro programátory). Je také důležité držet se mimo adresáře, které zálohujete.

Nacházíte se například v /home adresář a chcete vytvořit zálohu uživatele testuser. Příkaz by vypadal takto:

sudo tar --exclude-backups --exclude-vcs --dereference --create -f backup.tar ./testuser
  • „sudo“ ze dvou důvodů:Za prvé, že děláte věci v adresáři /home, který vyžaduje oprávnění. Zadruhé, pokud nějaké symbolické odkazy ukazují na soubory mimo obvyklá oprávnění uživatele, způsobí to chybu.
  • –exclude-backups a –exclude-vcs vyloučit zálohování a soubory VCS.
  • –dereference vytváří deht postupujte podle symbolických odkazů na data, na která odkazují.

14. Upravený čas

S dobou úpravy souboru lze udělat spoustu věcí. Za prvé, ke změně data změny při archivaci souboru můžeme použít –mtime vlajka. Základní syntaxe:

tar --create -f <Required tarball name> <File names> --mtime=YYYY-MM-DD

Jako protijed na to lze použít parametr -m k získání nezměněného, ​​upraveného data. Chcete-li použít toto:

tar xf <Tarball name> -m

Reagovat pouze na soubory upravené po určitém datu

Tuto formu příkazu lze použít k jednání se soubory, které byly změněny po určitém datu. Příkaz vypadá takto:

tar xf <Tarball name> --newer-mtime=YYYY-MM-DD

Příklad použití je uveden níže.

15. Oprávnění

Konečně lze v případě tar docela dobře konfigurovat oprávnění soubory. Existují dvě významné varianty:

Zachování původních oprávnění

To lze použít k zachování oprávnění pro soubor, jak je uvedeno v archivu po rozbalení. Toho je dosaženo pomocí takového příkazu:

tar xf <Tarball name> --preserve-permissions

Úprava oprávnění jako výchozí hodnoty

Za druhé, oprávnění lze změnit jako výchozí umask hodnoty. Výchozí hodnota se liší podle systémů. Chcete-li to provést, zadejte následující příkaz:

tar xf <Tarball name> --no-same-permissions

Závěr

Příkaz tar je mnohem víc, než se zdá. Má široké spektrum použití, od balení aplikací, vytváření záloh až po ukládání dokonce celých OS. Doufáme, že vám tento tutoriál pomohl naučit se něco nového a vzrušujícího o tar . V případě jakýchkoli dotazů neváhejte použít sekci komentářů.


Linux
  1. Linux Tee Command s příklady

  2. Příkaz linuxové hlavy s příklady

  3. JQ Command v Linuxu s příklady

  1. wc Linux Command s příklady

  2. Linux řazení příkazů s příklady

  3. Příklady příkazů tar v Linuxu

  1. Echo Command v Linuxu (s příklady)

  2. man Command v Linuxu s příklady

  3. Příkaz tar v Linuxu s příklady