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.
- c - Erstellt eng nei .tar Archivdatei.
- v - Verbosely weisen de .tar Datei Fortschrëtt.
- 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… ..