![20 nejlepších webů má ráda Unsplash zdarma obrázky z fotobanky](/f/f70ef0d2af5ee18903aa067b922dd8c8.jpg?width=100&height=100)
Linux"dehet” znamená páskový archiv, který používá velké množství Linux/Unix správci systému, aby se zabývali páskovou jednotkou zálohování v Linuxu.
The příkaz tar v Linuxu se používá k ripování kolekce souborů a adresářů do vysoce komprimovaného archivního souboru běžně nazývaného tarball nebo dehet, gzip a bzip v Linux.
The dehet je nejrozšířenější příkaz pro vytváření komprimovaných archivních souborů, které lze snadno přesouvat z jednoho disku na druhý nebo ze stroje na stroj.
V tomto článku budeme zkoumat a diskutovat o různých příklady příkazů tar včetně toho, jak vytvořit archivní soubory pomocí (dehet, tar.gz, a tar.bz2) komprese, jak extrahovat archivní soubory, extrahovat jeden soubor, zobrazit obsah souboru, ověřit soubor, přidat soubory nebo adresáře do existujícího archivního souboru, odhadnout velikost archivního souboru tar, atd.
Mohlo by se Vám také líbit:
Hlavním účelem této příručky je poskytnout různé příklady příkazů tar to by vám mohlo pomoci pochopit a stát se odborníkem na manipulaci s archivy tar.
Obsah
Níže uvedený příklad dehet příkaz vytvoří a dehet archivní soubor tecmint-14-09-12.tar pro adresář /home/tecmint v aktuálním pracovním adresáři.
Viz příklad dehet příkaz v akci.
# 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
Pojďme diskutovat o každé možnosti použité výše dehet příkaz k vytvoření archivního souboru tar.
Chcete-li vytvořit komprimovaný gzip archivního souboru použijeme volbu z. Například níže uvedený příkaz vytvoří komprimovaný soubor MyImages-14-09-12.tar.gz soubor pro adresář /home/MyImages. (Poznámka: tar.gz a tgz jsou oba podobné).
# tar cvzf MyImages-14-09-12.tar.gz /home/MyImages NEBO. # 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
The bz2 feature komprimuje a vytváří archivní soubor menší než velikost souboru gzip. The bz2 komprese trvá déle, než komprimuje a dekomprimuje soubory gzip, což zabere méně času.
K vytvoření vysoce komprimovaného souboru tar použijeme volbu j. Následující ukázkový příkaz vytvoří a Phpfiles-org.tar.bz2 soubor pro adresář /home/php. (Poznámka: tar.bz2 a tbz jsou podobné jako tb2).
# tar cvfj Phpfiles-org.tar.bz2 /home/php NEBO. # tar cvfj Phpfiles-org.tar.tbz /home/php NEBO # 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
Chcete-li rozbalit nebo rozbalit soubor tar, stačí zadat následující příkaz pomocí volby X (výpis). Například níže uvedený příkaz zruší tar souboru public_html-14-09-12.tar v aktuálním pracovním adresáři.
Pokud chcete rozbalit tar v jiném adresáři, použijte volbu -C (zadaný adresář).
## Untar soubory v aktuálním adresáři ### tar -xvf public_html-14-09-12.tar## Untar soubory v určeném adresáři ### 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
Chcete-li dekomprimovat tar.gz archiv, stačí spustit následující příkaz. Pokud bychom chtěli rozbalit v různých adresářích, stačí použít volbu -C a cestu k adresáři, jak je znázorněno ve výše uvedeném příkladu.
# 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
Chcete-li dekomprimovat vysoce komprimované tar.bz2 soubor, stačí použít následující příkaz. Níže uvedený příklad příkazu zruší tar všechny .flv soubory z archivního souboru.
# 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
Chcete-li zobrazit obsah souboru archivu tar, stačí spustit následující příkaz s volbou t (obsah seznamu). Níže uvedený příkaz zobrazí obsah souboru uploadprogress.tar soubor.
# 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
Pomocí následujícího příkazu vypíšete obsah souboru tar.gz soubor.
# tar -tvf staging.tecmint.com.tar.gz -rw-r--r-- root/root 0 2012-08-30 04:03:57 staging.tecmint.com-access_log. -rw-r--r-- root/root 587 2012-08-29 18:35:12 staging.tecmint.com-access_log.1. -rw-r--r-- root/root 156 2012-01-21 07:17:56 staging.tecmint.com-access_log.2. -rw-r--r-- root/root 156 2011-12-21 11:30:56 staging.tecmint.com-access_log.3. -rw-r--r-- root/root 156 2011-11-20 17:28:24 staging.tecmint.com-access_log.4. -rw-r--r-- root/root 0 2012-08-30 04:03:57 staging.tecmint.com-error_log. -rw-r--r-- root/root 981 2012-08-29 18:35:12 staging.tecmint.com-error_log.1. -rw-r--r-- root/root 211 2012-01-21 07:17:56 staging.tecmint.com-error_log.2. -rw-r--r-- root/root 211 2011-12-21 11:30:56 staging.tecmint.com-error_log.3. -rw-r--r-- root/root 211 2011-11-20 17:28:24 staging.tecmint.com-error_log.4
Chcete-li vypsat obsah tar.bz2 soubor, zadejte následující příkaz.
# tar -tvf Phpfiles-org.tar.bz2drwxr-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
Chcete-li extrahovat jeden soubor, tzv cleanfiles.sh z cleanfiles.sh.tar použijte následující příkaz.
# tar -xvf cleanfiles.sh.tar cleanfiles.sh NEBO. # tar --extract --file=cleanfiles.sh.tar cleanfiles.sh cleanfiles.sh
Chcete-li extrahovat jeden soubor tecmintbackup.xml z tecmintbackup.tar.gz archiv, použijte příkaz následovně.
# tar -zxvf tecmintbackup.tar.gz tecmintbackup.xml NEBO. # tar --extract --file=tecmintbackup.tar.gz tecmintbackup.xml tecmintbackup.xml
Chcete-li extrahovat jeden soubor, tzv index.php ze souboru Phpfiles-org.tar.bz2 použijte následující možnost.
# tar -jxvf Phpfiles-org.tar.bz2 home/php/index.php NEBO. # tar --extract --file=Phpfiles-org.tar.bz2 /home/php/index.php /home/php/index.php
Chcete-li extrahovat nebo rozbalit více souborů z dehet, tar.gz, a tar.bz2 archivní soubory. Například níže uvedený příkaz extrahuje „soubor 1" a "soubor 2“ z archivních souborů.
# tar -xvf tecmint-14-09-12.tar "soubor1" "soubor2"# tar -zxvf MyImages-14-09-12.tar.gz "soubor1" "soubor2"# tar -jxvf Phpfiles-org.tar.bz2 "soubor1" "soubor2"
K extrahování skupiny souborů, které používáme na základě zástupných znaků vytěžování. Chcete-li například extrahovat skupinu všech souborů, jejichž vzor začíná .php od a tar, tar.gz a tar.bz2 archivní soubor.
# 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
Chcete-li přidat soubory nebo adresáře do existujících souborů archivu tar, použijeme možnost r (připojit). Například přidáme soubor xyz.txt a adresář php ke stávajícímu tecmint-14-09-12.tar archivní soubor.
# tar -rvf tecmint-14-09-12.tar xyz.txt# tar -rvf tecmint-14-09-12.tar phpdrwxr-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.txtdrwxr-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
Příkaz tar nemá možnost přidat soubory nebo adresáře do existujícího komprimovaného souboru tar.gz a tar.bz2 archivní soubor. Pokud to zkusíme, zobrazí se následující chyba.
# tar -rvf MyImages-14-09-12.tar.gz xyz.txt# tar -rvf Phpfiles-org.tar.bz2 xyz.txt tar: Toto nevypadá jako archiv tar. tar: Přechod na další záhlaví. xyz.txt. tar: Chyba opožděná kvůli předchozím chybám
K ověření jakéhokoli taru nebo komprimovaného archivovaného souboru používáme volbu W (ověřit). K tomu stačí použít následující příklady příkazů. (Poznámka: Nemůžete provést ověření na komprimovaném ( *.tar.gz, *.tar.bz2 ) archivní soubor).
# tar tvfW tecmint-14-09-12.tar tar: Toto nevypadá jako archiv tar. tar: Přechod na další záhlaví. tar: Archiv obsahuje zastaralé hlavičky base-64. tar: VERIFY FAILURE: Bylo zjištěno 30740 neplatných záhlaví. Ověřte -rw-r--r-- root/root 863726 2012-09-15 02:23:41 /home/tecmint/openvpn-2.1.4.tar.gz. Ověřte -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: Upozornění: Nelze stat: Žádný takový soubor nebo adresář. Ověřte -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: Varování: Nelze stat: Žádný takový soubor nebo adresář. Ověřte -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: Varování: Nelze stat: Žádný takový soubor nebo adresář. Ověřte -rw-r--r-- root/root 0 2012-08-18 19:11:04 xyz.txt. Ověřte drwxr-xr-x root/root 0 2012-09-15 03:06:08 php/
Chcete-li zkontrolovat velikost jakéhokoli dehet, tar.gz, a tar.bz2 archiv, použijte následující příkaz. Například níže uvedený příkaz zobrazí velikost archivního souboru v kilobajtech (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
Chcete-li vyloučit určité soubory a adresáře při vytváření a tar.gz soubor, můžete použít následující příkaz s --vyloučit
možnost, která vyloučí soubory a adresáře při vytváření archivního souboru tar, jak je znázorněno.
# tar --exclude='file1.txt' -zcvf backup.tar.gz /home/tecmint. # tar --exclude='/home/tecmint/uploads' -zcvf backup.tar.gz /home/tecmint.
Ve výše uvedeném příkazu jsme vyloučili soubor „soubor1.txt' a 'nahrává‘ adresář z /home/tecmint složku.
Chcete-li vyloučit soubory se specifickými příponami souborů (.txt)
při vytváření archivního souboru tar použijte:
# tar --exclude='*.txt' -zcvf backup.tar.gz /home/tecmint.
Následující příkaz tar odstraní soubor nebo adresář z již vytvořeného souboru tar pomocí --vymazat
možnost, jak je znázorněno.
# tar --delete -f backup.tar.gz soubor1.txt. # tar --delete -f backup.tar.gz '/home/tecmint/uploads'
Následující příkaz tar rozbalí pouze soubory s konkrétní příponou .png
z archivního souboru tar pomocí -- zástupné znaky
možnost, jak je znázorněno.
# tar -xvf backup.tar.gz --wildcards '*.png'
-C
– vytvořit archivní soubor.-X
– extrahovat archivní soubor.-proti
– zobrazit průběh archivního souboru.-F
– název souboru archivu.-t
– prohlížení obsahu archivního souboru.-u
– archivuje a přidává do existujícího archivního souboru.-j
– filtrovat archiv přes bzip2.-z
– filtrovat archiv přes gzip.-r
– připojit nebo aktualizovat soubory nebo adresáře k existujícím archivním souborům.-W
– Ověřte archivní soubor.-A
– zřetězí archivní soubory.-- zástupné znaky
– Zadejte vzory v příkazu tar systému UNIX.--vyloučit
– vyloučí soubory a adresáře při vytváření archivu.--vymazat
– odstranit soubor a adresář z archivu.To je prozatím vše, doufejme výše příklady příkazů tar stačí k tomu, abyste se naučili, a pro více informací použijte prosím muž dehet příkaz.
#muž dehet.
Pokud chcete rozdělit jakýkoli velký archivní soubor tar na více částí nebo bloků, projděte si tento článek:
Pokud jsme vynechali nějaké příklady, podělte se s námi prostřednictvím pole komentářů a nezapomeňte tento článek sdílet se svými přáteli. To je nejlepší způsob, jak poděkovat...