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.

  1. c - Luo uuden .tar-arkistotiedoston.
  2. v - Näytä .tar-tiedoston edistyminen tarkasti.
  3. 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

  1. c - luo arkistotiedosto.
  2. x - pura arkistotiedosto.
  3. v - näytä arkistotiedoston edistyminen.
  4. f - arkistotiedoston tiedostonimi.
  5. t - arkistotiedoston sisällön tarkasteleminen.
  6. j - suodata arkisto bzip2: n kautta.
  7. z - suodata arkisto gzip-tiedoston kautta.
  8. r - liitä tai päivitä tiedostoja tai hakemistoja olemassa oleviin arkistotiedostoihin.
  9. W - Vahvista arkistotiedosto.
  10. 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ää ...