18 tõrvakäskude näidet Linuxis
Linuxi "tar" tähistab lindiarhiivi, mida paljud Linux/Unixi süsteemiadministraatorid kasutavad lindiseadmete varundamisega tegelemiseks. Tõrvakäsk, mida kasutati failide ja kataloogide kogu rippimiseks väga tihendatud arhiivifailiks, mida Linuxis nimetatakse tavaliselt tarballiks või tar, gzip ja bzip. Tõrv on tihendatud arhiivifailide loomiseks kõige sagedamini kasutatav käsk, mida saab hõlpsasti ühelt kettalt teisele kettale või masinale masinasse teisaldada.
Selles artiklis vaatame läbi ja arutame erinevaid tõrvakäskude näiteid, sealhulgas arhiivifailide loomist (tar, tar.gz ja tar.bz2) tihendamise abil, arhiivifaili ekstraktimist, ühe faili ekstraktimist, sisu vaatamist faili, kontrollige faili, lisage arhiivifaili faile või katalooge, hinnake tõrvaarhiivifaili suurust jne.
Selle juhendi peamine eesmärk on pakkuda mitmesuguseid tõrvakäskude näiteid, mis võivad aidata teil tõrvaarhiivi manipuleerimisest aru saada ja eksperdiks saada.
Allpool toodud näide loob käimasolevas töökataloogis kataloogi/home/tecmint tar-arhiivifaili tecmint-14-09-12.tar Vaadake näite käsku tegevuses.
# 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
Arutleme iga tõrvaarhiivi faili loomiseks ülaltoodud käsus kasutatud variandi üle.
- c - loob uue .tar arhiivifaili.
- v - näitab .tar-faili edenemist paljusõnaliselt.
- f - arhiivifaili failinime tüüp.
Pakitud gzip-arhiivifaili loomiseks kasutame valikut kui z. Näiteks loob järgmine käsk tihendatud faili MyImages-14-09-12.tar.gz kataloogi/home/MyImages jaoks. (Märkus: tar.gz ja tgz on mõlemad sarnased).
# 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
Funktsioon bz2 tihendab ja loob arhiivifaili, mis on väiksem kui gzip. Bz2 tihendamine võtab failide tihendamiseks ja dekompressimiseks rohkem aega kui gzip, mis võtab vähem aega. Tihendatud tõrvafaili loomiseks kasutame valikut j. Järgmine näide loob kataloogi/home/php jaoks faili Phpfiles-org.tar.bz2. (Märkus: tar.bz2 ja tbz on sarnased tb2-ga).
# 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
Tõrvafaili tühistamiseks või väljavõtmiseks väljastage lihtsalt järgmine käsk, kasutades valikut x (ekstrakt). Näiteks tühistab järgmine käsk faili public_html-14-09-12.tar praeguses töökataloogis. Kui soovite teises kataloogis tühistada, kasutage valikut -C (määratud kataloog).
## 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
Tar.gz arhiivifaili lahti pakkimiseks käivitage lihtsalt järgmine käsk. Kui soovime erinevates kataloogides tühistada, kasutage lihtsalt valikut -C ja kataloogitee, nagu on näidatud ülaltoodud näites.
# 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
Tihendatud faili tar.bz2 tihendamiseks kasutage lihtsalt järgmist käsku. Allpool toodud näite käsk tühistab kõik .flv-failid arhiivifailist.
# 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
Tõrva arhiivifaili sisu loetlemiseks käivitage lihtsalt järgmine käsk suvandiga t (loendi sisu). Allpool olev käsk loetleb faili uploadprogress.tar sisu.
# 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
Kasutage faili tar.gz sisu loetlemiseks järgmist käsku.
# 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
Tar.bz2 faili sisu loetlemiseks väljastage järgmine käsk.
# 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
Ühe faili cleanfiles.sh eraldamiseks cleanfiles.sh.tar-st kasutage järgmist käsku.
# tar -xvf cleanfiles.sh.tar cleanfiles.sh OR # tar --extract --file=cleanfiles.sh.tar cleanfiles.sh cleanfiles.sh
Ühe faili tecmintbackup.xml eraldamiseks arhiivifailist tecmintbackup.tar.gz kasutage käsku järgmiselt.
# tar -zxvf tecmintbackup.tar.gz tecmintbackup.xml OR # tar --extract --file=tecmintbackup.tar.gz tecmintbackup.xml tecmintbackup.xml
Üksiku faili nimega index.php eraldamiseks failist Phpfiles-org.tar.bz2 kasutage järgmist valikut.
# 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
Tar-, tar.gz- ja tar.bz2-arhiivifailidest mitme faili eraldamiseks või tühistamiseks. Näiteks ekstraktib järgmine käsk arhiivifailidest faili 1 faili fail 2 faili.
# 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"
Failirühma ekstraktimiseks kasutame metamärgipõhist ekstraktimist. Näiteks tõmba tar-, tar.gz- ja tar.bz2-arhiivifailist rühm kõigist failidest, mille muster algab tähega .php.
# 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
Failide või kataloogide lisamiseks olemasolevatele tõrvaarhiivifailidele kasutame valikut r (lisa). Näiteks lisame olemasolevale arhiivifailile tecmint-14-09-12.tar faili xyz.txt ja kataloogi php.
# 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
Tõrva käsul pole võimalust lisada faile või katalooge olemasolevale tihendatud tar.gz ja tar.bz2 arhiivifailile. Kui proovime, saate järgmise tõrke.
# 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
Tõrva või tihendatud arhiveeritud faili kontrollimiseks kasutame valikut W (kinnita). Selleks kasutage lihtsalt järgmisi käskude näiteid. (Märkus: tihendatud (* .tar.gz, * .tar.bz2) arhiivifailis ei saa kontrolli teha).
# 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/
Tõrva, tar.gz ja tar.bz2 arhiivifailide suuruse kontrollimiseks kasutage järgmist käsku. Näiteks kuvab järgmine käsk arhiivifaili suuruse kilobaitides (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 - looge arhiivifail.
- x - eraldage arhiivifail.
- v - arhiivifaili edenemise kuvamine.
- f - arhiivifaili failinimi.
- t - arhiivifaili sisu vaatamine.
- j - filtreeri arhiiv bzip2 kaudu.
- z - filtreeri arhiiv gzipi kaudu.
- r - lisage või värskendage faile või katalooge olemasolevatele arhiivifailidele.
- W - kontrollige arhiivifaili.
- metamärgid - määrake mustrid käsus UNIX tar.
See on praegu kõik, loodan, et ülaltoodud tõrva käskude näited on teie õppimiseks piisavad ja lisateabe saamiseks kasutage käsku man tar.
Kui soovite jagada suurt tõrvaarhiivi faili mitmeks osaks või plokiks, vaadake lihtsalt seda artiklit:
Kui meil on mõni näide vahele jäänud, jagage meiega kommentaarikasti ja ärge unustage seda artiklit oma sõpradega jagada. See on parim viis tänada ...