18 Nëtzlech Tar Kommando Beispiller fir all Linux Sysadmin


De Linux tar steet fir Tape Archiv, dat vun enger grousser Zuel vu Linux/Unix System Administrateuren benotzt gëtt fir mat Tape Drive Backup ze këmmeren.

De Tar Kommando gëtt benotzt fir eng Sammlung vu Dateien a Verzeichnisser an eng héich kompriméiert Archivdatei ze ripen déi allgemeng Tarball oder tar, gzip a bzip op Linux genannt gëtt.

Den Tar ass dee meescht benotzte Kommando fir kompriméiert Archivdateien ze kreéieren an déi einfach vun enger Disk op eng aner Disk oder Maschinn op Maschinn geplënnert kënne ginn.

An dësem Artikel wäerte mir verschidde Tar Kommando Beispiller iwwerpréiwen an diskutéieren, dorënner wéi Dir Archivdateien erstellt andeems Dir (tar, tar.gz, an tar.bz2) Kompressioun benotzt, wéi een Archivdatei extrahéiert, eng eenzeg Datei extrahéiert, Inhalt kuckt vun der Datei, z'iwwerpréiwen eng Datei, füügt Dateien oder Verzeichnisser un déi existent Archivdatei, schätzt d'Gréisst vun der Tararchivdatei, etc.

[Dir kënnt och gär hunn: 7-Zip - Kompriméieren an Unkompriméieren Dateien mat héijer Kompressiounsverhältnis]

Den Haaptzweck vun dësem Guide ass verschidde Tar Kommando Beispiller ze bidden déi hëllefräich kënne sinn fir Iech ze verstoen an en Expert an der Tararchiv Manipulatioun ze ginn.

De Kommando hei ënnen erstellt eng Tararchivdatei tecmint-14-09-12.tar fir e Verzeechnes /home/tecmint am aktuellen Aarbechtsverzeechnes. Gesinn d'Beispill Kommando an Aktioun.

# tar -cvf tecmint-14-09-12.tar /home/tecmint/

/home/tecmint/
/home/tecmint/cleanfiles.sh
/home/tecmint/openvpn-2.1.4.tar.gz
/home/tecmint/tecmint-14-09-12.tar
/home/tecmint/phpmyadmin-2.11.11.3-1.el5.rf.noarch.rpm
/home/tecmint/rpmforge-release-0.5.2-2.el5.rf.i386.rpm

Loosst eis all Optioun diskutéieren, déi am uewe genannte Kommando benotzt gëtt fir eng Tararchivdatei ze kreéieren.

  1. c - Erstellt eng nei .tar Archivdatei.
  2. v - Verbosely weisen de .tar Datei Fortschrëtt.
  3. f - Dateinumm Typ vun der Archivdatei.

Fir eng kompriméiert gzip Archivdatei ze kreéieren benotze mir d'Optioun als z. Zum Beispill gëtt de Kommando hei ënnen eng kompriméiert MyImages-14-09-12.tar.gz Datei fir den Verzeechnes /home/MyImages. (Notiz: tar.gz an tgz sinn allebéid ähnlech).

# tar cvzf MyImages-14-09-12.tar.gz /home/MyImages
OR
# tar cvzf MyImages-14-09-12.tgz /home/MyImages

/home/MyImages/
/home/MyImages/Sara-Khan-and-model-Priyanka-Shah.jpg
/home/MyImages/RobertKristenviolent101201.jpg
/home/MyImages/Justintimerlake101125.jpg
/home/MyImages/Mileyphoto101203.jpg
/home/MyImages/JenniferRobert101130.jpg
/home/MyImages/katrinabarbiedoll231110.jpg
/home/MyImages/the-japanese-wife-press-conference.jpg
/home/MyImages/ReesewitherspoonCIA101202.jpg
/home/MyImages/yanaguptabaresf231110.jpg

D'bz2 Feature kompriméiert a erstellt eng Archivdatei manner wéi d'Gréisst vum gzip. D'bz2 Kompressioun brauch méi Zäit fir Dateien ze kompriméieren an ze dekompriméieren wéi gzip, wat manner Zäit brauch.

Fir eng héich kompriméiert Tar-Datei ze kreéieren benotze mir d'Optioun j. De folgende Beispill Kommando erstellt eng Phpfiles-org.tar.bz2 Datei fir e Verzeechnes /home/php. (Notiz: tar.bz2 an tbz ass ähnlech wéi tb2).

# tar cvfj Phpfiles-org.tar.bz2 /home/php
OR
# tar cvfj Phpfiles-org.tar.tbz /home/php
OR 
# tar cvfj Phpfiles-org.tar.tb2 /home/php

/home/php/
/home/php/iframe_ew.php
/home/php/videos_all.php
/home/php/rss.php
/home/php/index.php
/home/php/vendor.php
/home/php/video_title.php
/home/php/report.php
/home/php/object.html
/home/php/video.php

Fir eng Tar-Datei untar oder extrahéieren, gitt just de folgende Kommando mat der Optioun x (Extrait). Zum Beispill gëtt de Kommando hei ënnen d'Datei public_html-14-09-12.tar am aktuellen Aarbechtsverzeechnes untaren.

Wann Dir wëllt an engem anere Verzeichnis untaren, da benotzt d'Optioun als -C (spezifizéierter Verzeechnes).

## Untar files in Current Directory ##
# tar -xvf public_html-14-09-12.tar

## Untar files in specified Directory ##
# tar -xvf public_html-14-09-12.tar -C /home/public_html/videos/

/home/public_html/videos/
/home/public_html/videos/views.php
/home/public_html/videos/index.php
/home/public_html/videos/logout.php
/home/public_html/videos/all_categories.php
/home/public_html/videos/feeds.xml

Fir Tar.gz Archivdatei ze decompresséieren, fuert just de folgende Kommando. Wa mir wëllen a verschiddene Verzeichnisser untaren, benotze just d'Optioun -C an de Verzeichniswee, wéi am uewe genannte Beispill gewisen.

# tar -xvf thumbnails-14-09-12.tar.gz

/home/public_html/videos/thumbnails/
/home/public_html/videos/thumbnails/katdeepika231110.jpg
/home/public_html/videos/thumbnails/katrinabarbiedoll231110.jpg
/home/public_html/videos/thumbnails/onceuponatime101125.jpg
/home/public_html/videos/thumbnails/playbutton.png
/home/public_html/videos/thumbnails/ReesewitherspoonCIA101202.jpg
/home/public_html/videos/thumbnails/snagItNarration.jpg
/home/public_html/videos/thumbnails/Minissha-Lamba.jpg
/home/public_html/videos/thumbnails/Lindsaydance101201.jpg
/home/public_html/videos/thumbnails/Mileyphoto101203.jpg

Fir d'héich kompriméiert Tar.bz2 Datei ze kompriméieren, benotzt just de folgende Kommando. De Kommando hei ënnen wäert all d'.flv Dateien aus der Archivdatei untaren.

# tar -xvf videos-14-09-12.tar.bz2

/home/public_html/videos/flv/katrinabarbiedoll231110.flv
/home/public_html/videos/flv/BrookmuellerCIA101125.flv
/home/public_html/videos/flv/dollybackinbb4101125.flv
/home/public_html/videos/flv/JenniferRobert101130.flv
/home/public_html/videos/flv/JustinAwardmovie101125.flv
/home/public_html/videos/flv/Lakme-Fashion-Week.flv
/home/public_html/videos/flv/Mileyphoto101203.flv
/home/public_html/videos/flv/Minissha-Lamba.flv

Fir den Inhalt vun der Tararchivdatei ze lëschten, fuert just de folgende Kommando mat der Optioun t (Lëscht Inhalt). De Kommando hei drënner wäert den Inhalt vun der uploadprogress.tar Datei lëschten.

# tar -tvf uploadprogress.tar

-rw-r--r-- chregu/staff   2276 2011-08-15 18:51:10 package2.xml
-rw-r--r-- chregu/staff   7877 2011-08-15 18:51:10 uploadprogress/examples/index.php
-rw-r--r-- chregu/staff   1685 2011-08-15 18:51:10 uploadprogress/examples/server.php
-rw-r--r-- chregu/staff   1697 2011-08-15 18:51:10 uploadprogress/examples/info.php
-rw-r--r-- chregu/staff    367 2011-08-15 18:51:10 uploadprogress/config.m4
-rw-r--r-- chregu/staff    303 2011-08-15 18:51:10 uploadprogress/config.w32
-rw-r--r-- chregu/staff   3563 2011-08-15 18:51:10 uploadprogress/php_uploadprogress.h
-rw-r--r-- chregu/staff  15433 2011-08-15 18:51:10 uploadprogress/uploadprogress.c
-rw-r--r-- chregu/staff   1433 2011-08-15 18:51:10 package.xml

Benotzt de folgende Kommando fir den Inhalt vun der tar.gz Datei ze lëschten.

# tar -tvf staging.linux-console.net.tar.gz

-rw-r--r-- root/root         0 2012-08-30 04:03:57 staging.linux-console.net-access_log
-rw-r--r-- root/root       587 2012-08-29 18:35:12 staging.linux-console.net-access_log.1
-rw-r--r-- root/root       156 2012-01-21 07:17:56 staging.linux-console.net-access_log.2
-rw-r--r-- root/root       156 2011-12-21 11:30:56 staging.linux-console.net-access_log.3
-rw-r--r-- root/root       156 2011-11-20 17:28:24 staging.linux-console.net-access_log.4
-rw-r--r-- root/root         0 2012-08-30 04:03:57 staging.linux-console.net-error_log
-rw-r--r-- root/root      3981 2012-08-29 18:35:12 staging.linux-console.net-error_log.1
-rw-r--r-- root/root       211 2012-01-21 07:17:56 staging.linux-console.net-error_log.2
-rw-r--r-- root/root       211 2011-12-21 11:30:56 staging.linux-console.net-error_log.3
-rw-r--r-- root/root       211 2011-11-20 17:28:24 staging.linux-console.net-error_log.4

Fir den Inhalt vun der tar.bz2 Datei ze lëschten, gitt de folgende Kommando.

# tar -tvf Phpfiles-org.tar.bz2

drwxr-xr-x root/root         0 2012-09-15 03:06:08 /home/php/
-rw-r--r-- root/root      1751 2012-09-15 03:06:08 /home/php/iframe_ew.php
-rw-r--r-- root/root     11220 2012-09-15 03:06:08 /home/php/videos_all.php
-rw-r--r-- root/root      2152 2012-09-15 03:06:08 /home/php/rss.php
-rw-r--r-- root/root      3021 2012-09-15 03:06:08 /home/php/index.php
-rw-r--r-- root/root      2554 2012-09-15 03:06:08 /home/php/vendor.php
-rw-r--r-- root/root       406 2012-09-15 03:06:08 /home/php/video_title.php
-rw-r--r-- root/root      4116 2012-09-15 03:06:08 /home/php/report.php
-rw-r--r-- root/root      1273 2012-09-15 03:06:08 /home/php/object.html

Fir eng eenzeg Datei mam Numm cleanfiles.sh aus cleanfiles.sh.tar ze extrahieren benotzt de folgende Kommando.

# tar -xvf cleanfiles.sh.tar cleanfiles.sh
OR
# tar --extract --file=cleanfiles.sh.tar cleanfiles.sh

cleanfiles.sh

Fir eng eenzeg Datei tecmintbackup.xml aus der tecmintbackup.tar.gz Archivdatei ze extrahieren, benotzt de Kommando wéi follegt.

# tar -zxvf tecmintbackup.tar.gz tecmintbackup.xml
OR
# tar --extract --file=tecmintbackup.tar.gz tecmintbackup.xml

tecmintbackup.xml

Fir eng eenzeg Datei mam Numm index.php aus der Datei Phpfiles-org.tar.bz2 ze extrahéieren benotzt déi folgend Optioun.

# tar -jxvf Phpfiles-org.tar.bz2 home/php/index.php
OR
# tar --extract --file=Phpfiles-org.tar.bz2 /home/php/index.php

/home/php/index.php

Fir méi Dateien aus der Tar, tar.gz an tar.bz2 Archivdatei ze extrahéieren oder z'entfernen. Zum Beispill, de Kommando ënnen extrahéiert Datei 1 Datei 2 aus den Archivdateien.

# tar -xvf tecmint-14-09-12.tar "file1" "file2" 

# tar -zxvf MyImages-14-09-12.tar.gz "file1" "file2" 

# tar -jxvf Phpfiles-org.tar.bz2 "file1" "file2"

Fir eng Grupp vu Fichieren ze extrahieren benotze mir Wildcard-baséiert Extrait. Zum Beispill, fir eng Grupp vun all Dateien ze extrahieren, deenen hir Muster mat .php ufänkt aus enger tar, tar.gz, an tar.bz2 Archivdatei.

# tar -xvf Phpfiles-org.tar --wildcards '*.php'

# tar -zxvf Phpfiles-org.tar.gz --wildcards '*.php'

# tar -jxvf Phpfiles-org.tar.bz2 --wildcards '*.php'

/home/php/iframe_ew.php
/home/php/videos_all.php
/home/php/rss.php
/home/php/index.php
/home/php/vendor.php
/home/php/video_title.php
/home/php/report.php
/home/php/video.php

Fir Dateien oder Verzeichnisser un déi existent Tararchivdateien ze addéieren, benotze mir d'Optioun r (append). Zum Beispill fügen mir d'Datei xyz.txt a Verzeechnes php un déi existent tecmint-14-09-12.tar Archivdatei.

# tar -rvf tecmint-14-09-12.tar xyz.txt

# tar -rvf tecmint-14-09-12.tar php

drwxr-xr-x root/root         0 2012-09-15 02:24:21 home/tecmint/
-rw-r--r-- root/root  15740615 2012-09-15 02:23:42 home/tecmint/cleanfiles.sh
-rw-r--r-- root/root    863726 2012-09-15 02:23:41 home/tecmint/openvpn-2.1.4.tar.gz
-rw-r--r-- root/root  21063680 2012-09-15 02:24:21 home/tecmint/tecmint-14-09-12.tar
-rw-r--r-- root/root   4437600 2012-09-15 02:23:41 home/tecmint/phpmyadmin-2.11.11.3-1.el5.rf.noarch.rpm
-rw-r--r-- root/root     12680 2012-09-15 02:23:41 home/tecmint/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
-rw-r--r-- root/root 0 2012-08-18 19:11:04 xyz.txt
drwxr-xr-x root/root 0 2012-09-15 03:06:08 php/ 
-rw-r--r-- root/root 1751 2012-09-15 03:06:08 php/iframe_ew.php 
-rw-r--r-- root/root 11220 2012-09-15 03:06:08 php/videos_all.php 
-rw-r--r-- root/root 2152 2012-09-15 03:06:08 php/rss.php 
-rw-r--r-- root/root 3021 2012-09-15 03:06:08 php/index.php 
-rw-r--r-- root/root 2554 2012-09-15 03:06:08 php/vendor.php 
-rw-r--r-- root/root 406 2012-09-15 03:06:08 php/video_title.php

Den Tar Kommando huet keng Optioun fir Dateien oder Verzeichnisser op eng existent kompriméiert tar.gz an tar.bz2 Archivdatei ze addéieren. Wa mir probéieren wäert de folgende Feeler kréien.

# tar -rvf MyImages-14-09-12.tar.gz xyz.txt

# tar -rvf Phpfiles-org.tar.bz2 xyz.txt

tar: This does not look like a tar archive
tar: Skipping to next header
xyz.txt
tar: Error exit delayed from previous errors

Fir all tar oder kompriméiert archivéiert Datei z'iwwerpréiwen benotze mir d'Optioun W (verifiéieren). Fir dëst ze maachen, benotzt just déi folgend Beispiller vu Kommandoen. (Notiz: Dir kënnt keng Verifizéierung op enger kompriméierter (*.tar.gz, *.tar.bz2) Archivdatei maachen).

# tar tvfW tecmint-14-09-12.tar

tar: This does not look like a tar archive
tar: Skipping to next header
tar: Archive contains obsolescent base-64 headers
tar: VERIFY FAILURE: 30740 invalid headers detected
Verify -rw-r--r-- root/root    863726 2012-09-15 02:23:41 /home/tecmint/openvpn-2.1.4.tar.gz
Verify -rw-r--r-- root/root  21063680 2012-09-15 02:24:21 /home/tecmint/tecmint-14-09-12.tar
tar: /home/tecmint/tecmint-14-09-12.tar: Warning: Cannot stat: No such file or directory
Verify -rw-r--r-- root/root   4437600 2012-09-15 02:23:41 home/tecmint/phpmyadmin-2.11.11.3-1.el5.rf.noarch.rpm
tar: /home/tecmint/phpmyadmin-2.11.11.3-1.el5.rf.noarch.rpm: Warning: Cannot stat: No such file or directory
Verify -rw-r--r-- root/root     12680 2012-09-15 02:23:41 home/tecmint/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
tar: /home/tecmint/rpmforge-release-0.5.2-2.el5.rf.i386.rpm: Warning: Cannot stat: No such file or directory
Verify -rw-r--r-- root/root         0 2012-08-18 19:11:04 xyz.txt
Verify drwxr-xr-x root/root         0 2012-09-15 03:06:08 php/

Fir d'Gréisst vun enger Tar, tar.gz, an tar.bz2 Archivdatei ze kontrolléieren, benotzt de folgende Kommando. Zum Beispill, de Kommando ënnen weist d'Gréisst vun der Archivdatei a Kilobytes (KB).

# tar -czf - tecmint-14-09-12.tar | wc -c
12820480

# tar -czf - MyImages-14-09-12.tar.gz | wc -c
112640

# tar -czf - Phpfiles-org.tar.bz2 | wc -c
20480

  • c - eng Archivdatei erstellen.
  • x - Extrait eng Archivdatei.
  • v - weist de Fortschrëtt vun der Archivdatei.
  • f – Dateinumm vun der Archivdatei.
  • t - den Inhalt vun der Archivdatei kucken.
  • j - Filter Archiv duerch bzip2.
  • z - Filter Archiv duerch gzip.
  • r - Dateien oder Verzeichnisser an déi existent Archivdateien addéieren oder aktualiséieren.
  • W - Verifizéiert eng Archivdatei.
  • Wildcards - Spezifizéiert Musteren am UNIX tar Kommando.

Dat ass et fir de Moment, hoffen déi uewe genannte Tar Kommando Beispiller si genuch fir Iech ze léieren, a fir méi Informatioun benotzt w.e.g. de Man tar Kommando.

Wann Dir sicht eng grouss Tararchivdatei a verschidde Deeler oder Blocken opzedeelen, gitt einfach duerch dësen Artikel:

  • Wéi een Tar-Datei a verschidde Dateie vu bestëmmter Gréisst opdeelt
  • Wéi Dir Tar-Dateien mat engem Kommando eroflueden an extrahéiert

Wa mir Beispiller verpasst hunn, deelt w.e.g. mat eis iwwer de Kommentarfeld a vergiesst w.e.g. net dësen Artikel mat Äre Frënn ze deelen. Dëst ass de beschte Wee fir Merci ze soen… ..