18 Tar-komento-esimerkkiä Linuxissa
Linuxin "tar" tarkoittaa nauha-arkistoa, jota monet Linux/Unix-järjestelmänvalvojat käyttävät nauha-asemien varmuuskopiointiin. Tar-komento, jolla tiedostot ja hakemistot kopioitiin erittäin pakattuun arkistotiedostoon, jota kutsutaan yleensä Linuxissa tar- tai tar-, gzip- ja bzip-tiedostoiksi. Terva on yleisimmin käytetty komento pakattujen arkistotiedostojen luomiseen ja se voidaan helposti siirtää levyltä toiselle levylle tai koneelta koneelle.
Tässä artikkelissa aiomme tarkastella ja keskustella erilaisista tervakomentoesimerkkeistä, kuten siitä, miten luodaan arkistotiedostoja (tar, tar.gz ja tar.bz2) pakkauksella, miten puretaan arkistotiedosto, puretaan yksi tiedosto, tarkastellaan sisältöä tiedosto, tarkista tiedosto, lisää tiedostoja tai hakemistoja arkistotiedostoon, arvioi terva-arkistotiedoston koko jne.
Tämän oppaan päätarkoitus on tarjota erilaisia tervakomentoesimerkkejä, joista voi olla apua ymmärtämällä terva-arkistojen käsittelyä ja siitä tullaksesi asiantuntija.
Alla oleva esimerkkikomento luo tar-arkistotiedoston tecmint-14-09-12.tar nykyisen työhakemiston hakemistolle/home/tecmint. Katso esimerkkikomento toiminnassa.
# 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
Keskustellaan kustakin yllä olevassa komennossa käytetystä vaihtoehdosta tar-arkistotiedoston luomiseen.
- c - Luo uuden .tar-arkistotiedoston.
- v - Näytä .tar-tiedoston edistyminen tarkasti.
- f - Arkistotiedoston tiedostonimen tyyppi.
Pakatun gzip-arkistotiedoston luomiseen käytämme vaihtoehtoa z. Esimerkiksi seuraava komento luo pakatun MyImages-14-09-12.tar.gz-tiedoston hakemistoon/home/MyImages. (Huomaa: tar.gz ja tgz ovat molemmat samanlaisia).
# 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
Bz2-ominaisuus pakkaa ja luo gzip-kokoa pienemmän arkistotiedoston. Bz2-pakkaus vie enemmän aikaa pakata ja purkaa tiedostoja kuin gzip, mikä vie vähemmän aikaa. Erittäin pakatun tervatiedoston luomiseen käytämme vaihtoehtoa j. Seuraava esimerkkikomento luo Phpfiles-org.tar.bz2-tiedoston hakemistolle/home/php. (Huomaa: tar.bz2 ja tbz ovat samanlaisia kuin 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
Tartar-tiedoston purkamiseksi tai purkamiseksi, anna seuraava komento käyttämällä vaihtoehtoa x (pura). Esimerkiksi seuraava komento purkaa tiedoston public_html-14-09-12.tar nykyisessä työkansiossa. Jos haluat poistaa tarjonnan eri hakemistosta, käytä vaihtoehtoa -C (määritetty hakemisto).
## 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
Voit purkaa tar.gz-arkistotiedoston pakkaamalla vain seuraavan komennon. Jos haluamme poistaa tarjonnan eri hakemistoista, käytä vain vaihtoehtoa -C ja hakemistopolkua, kuten yllä olevassa esimerkissä on esitetty.
# 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
Voit purkaa pakatun tar.bz2-tiedoston pakkauksen vain käyttämällä seuraavaa komentoa. Alla oleva esimerkkikomento poistaa kaikkien .flv-tiedostojen arkiston arkistotiedostosta.
# 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
Voit luetteloida tar-arkistotiedoston sisällön suorittamalla seuraavan komennon vaihtoehdolla t (luettelon sisältö). Alla oleva komento luetteloi uploadprogress.tar-tiedoston sisällön.
# 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
Käytä seuraavaa komentoa luodaksesi tar.gz-tiedoston sisällön.
# 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
Luettele tar.bz2 -tiedoston sisältö antamalla seuraava komento.
# 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
Pura yksi tiedosto cleanfiles.sh cleanfiles.sh.tar-tiedostosta käyttämällä seuraavaa komentoa.
# tar -xvf cleanfiles.sh.tar cleanfiles.sh OR # tar --extract --file=cleanfiles.sh.tar cleanfiles.sh cleanfiles.sh
Voit purkaa yhden tiedoston tecmintbackup.xml tecmintbackup.tar.gz-arkistotiedostosta seuraavasti.
# tar -zxvf tecmintbackup.tar.gz tecmintbackup.xml OR # tar --extract --file=tecmintbackup.tar.gz tecmintbackup.xml tecmintbackup.xml
Jos haluat purkaa yksittäisen tiedoston nimeltä index.php tiedostosta Phpfiles-org.tar.bz2, käytä seuraavaa vaihtoehtoa.
# 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
Voit purkaa tai purkaa useita tiedostoja tar-, tar.gz- ja tar.bz2-arkistotiedostoista. Esimerkiksi alla oleva komento purkaa "tiedosto 1" "tiedosto 2" arkistotiedostoista.
# 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"
Tiedostoryhmän purkamiseen käytämme jokerimerkkipohjaista purkamista. Voit esimerkiksi purkaa tar-, tar.gz- ja tar.bz2-arkistotiedostosta ryhmän kaikista tiedostoista, joiden kuvio alkaa .php: llä.
# 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
Jos haluat lisätä tiedostoja tai hakemistoja olemassa oleviin tar-arkistotiedostoihin, käytämme vaihtoehtoa r (liite). Esimerkiksi lisätään tiedosto xyz.txt ja hakemisto php olemassa olevaan tecmint-14-09-12.tar-arkistotiedostoon.
# 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
Tar-komennolla ei ole mahdollisuutta lisätä tiedostoja tai hakemistoja pakattuun tar.gz- ja tar.bz2-arkistotiedostoon. Jos yritämme, saat seuraavan virheen.
# 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
Tar- tai pakatun arkistoidun tiedoston tarkistamiseksi käytämme vaihtoehtoa W (vahvista). Voit tehdä tämän käyttämällä vain seuraavia esimerkkejä komennoista. (Huomaa: et voi tehdä vahvistusta pakatussa (* .tar.gz, * .tar.bz2) arkistotiedostossa)
# 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/
Voit tarkistaa minkä tahansa tar-, tar.gz- ja tar.bz2-arkistotiedoston koon seuraavalla komennolla. Esimerkiksi alla oleva komento näyttää arkistotiedoston koon kilotavuina (kt).
# 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 - luo arkistotiedosto.
- x - pura arkistotiedosto.
- v - näytä arkistotiedoston edistyminen.
- f - arkistotiedoston tiedostonimi.
- t - arkistotiedoston sisällön tarkasteleminen.
- j - suodata arkisto bzip2: n kautta.
- z - suodata arkisto gzip-tiedoston kautta.
- r - liitä tai päivitä tiedostoja tai hakemistoja olemassa oleviin arkistotiedostoihin.
- W - Vahvista arkistotiedosto.
- jokerimerkit - määritä mallit UNIX tar -komennossa.
Se on nyt, toivottavasti yllä olevat tervakomennon esimerkit ovat riittäviä oppimiseen, ja lisätietoja saat man tar -komennosta.
Jos haluat jakaa suuren terva-arkistotiedoston useisiin osiin tai lohkoihin, käy vain läpi tämä artikkeli:
Jos olemme unohtaneet jonkin esimerkin, jaa meitä kommenttikentän kautta, älä unohda jakaa tätä artikkelia ystävillesi. Tämä on paras tapa kiittää ...