Mifano 18 Muhimu za Amri ya Tar kwa Kila Sysadmin ya Linux
Linux tar inasimama kwa kumbukumbu ya tepi, ambayo hutumiwa na idadi kubwa ya wasimamizi wa mfumo wa Linux/Unix ili kukabiliana na hifadhi ya anatoa tepi.
Amri ya tar hutumika kurarua mkusanyo wa faili na saraka hadi kwenye faili ya kumbukumbu iliyobanwa sana inayoitwa tarball au tar, gzip na bzip katika Linux.
Lami ndiyo amri inayotumika sana kuunda faili za kumbukumbu zilizobanwa na ambazo zinaweza kuhamishwa kwa urahisi kutoka kwa diski moja hadi diski nyingine au mashine hadi mashine.
Katika makala haya, tutakuwa tukikagua na kujadili mifano mbalimbali ya amri ya tar ikiwa ni pamoja na jinsi ya kuunda faili za kumbukumbu kwa kutumia (tar, tar.gz, na tar.bz2) compression, jinsi ya kutoa faili ya kumbukumbu, kutoa faili moja, kutazama maudhui. ya faili, thibitisha faili, ongeza faili au saraka kwenye faili iliyopo ya kumbukumbu, kadiria saizi ya faili ya kumbukumbu ya tar, nk.
[ Unaweza pia kupenda: 7-Zip – Finyaza na Usifinyize Faili zenye Uwiano wa Juu wa Mfinyazo ]
Madhumuni kuu ya mwongozo huu ni kutoa mifano mbalimbali ya amri ya tar ambayo inaweza kukusaidia kuelewa na kuwa mtaalam wa upotoshaji wa kumbukumbu ya tar.
Amri ya mfano iliyo hapa chini itaunda faili ya kumbukumbu ya tar tecmint-14-09-12.tar kwa saraka /home/tecmint katika saraka ya sasa ya kufanya kazi. Tazama amri ya mfano katika vitendo.
# 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
Wacha tujadili kila chaguo linalotumiwa katika amri hapo juu kuunda faili ya kumbukumbu ya tar.
- c - Inaunda faili mpya ya kumbukumbu ya .tar.
- v - Onyesha kwa ufupi maendeleo ya faili ya .tar.
- f - Aina ya jina la faili ya faili ya kumbukumbu.
Ili kuunda faili ya kumbukumbu ya gzip iliyobanwa tunatumia chaguo kama z. Kwa mfano, amri iliyo hapa chini itaunda faili iliyobanwa ya MyImages-14-09-12.tar.gz ya saraka /home/MyImages. (Kumbuka: tar.gz na tgz zote zinafanana).
# 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
Kipengele cha bz2 kinabana na kuunda faili ya kumbukumbu chini ya saizi ya gzip. Mfinyazo wa bz2 huchukua muda zaidi kubana na kubana faili kuliko gzip, ambayo huchukua muda mfupi.
Ili kuunda faili ya tar iliyoshinikizwa sana tunatumia chaguo j. Amri ya mfano ifuatayo itaunda faili ya Phpfiles-org.tar.bz2 kwa saraka /home/php. (Kumbuka: tar.bz2 na tbz ni sawa na 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
Ili kufuta au kutoa faili ya tar, toa tu amri ifuatayo kwa kutumia chaguo x (dondoo). Kwa mfano, amri iliyo hapa chini itaondoa faili public_html-14-09-12.tar katika saraka ya sasa ya kufanya kazi.
Ikiwa unataka kufuta kwenye saraka tofauti basi tumia chaguo kama -C (saraka iliyoainishwa).
## 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
Ili kubandua faili ya kumbukumbu ya tar.gz, endesha tu amri ifuatayo. Ikiwa tungependa kufuta katika saraka tofauti, tumia tu chaguo -C na njia ya saraka, kama inavyoonyeshwa kwenye mfano hapo juu.
# 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
Ili Kuondoa faili iliyobanwa sana ya tar.bz2, tumia tu amri ifuatayo. Amri ya mfano iliyo hapa chini itaondoa faili zote za .flv kutoka kwa faili ya kumbukumbu.
# 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
Ili kuorodhesha yaliyomo kwenye faili ya kumbukumbu ya tar, endesha tu amri ifuatayo na chaguo t (yaliyomo kwenye orodha). Amri iliyo hapa chini itaorodhesha maudhui ya faili ya uploadprogress.tar.
# 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
Tumia amri ifuatayo kuorodhesha yaliyomo kwenye faili ya tar.gz.
# 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
Ili kuorodhesha yaliyomo kwenye faili ya tar.bz2, toa amri ifuatayo.
# 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
Ili kutoa faili moja inayoitwa cleanfiles.sh kutoka cleanfiles.sh.tar tumia amri ifuatayo.
# tar -xvf cleanfiles.sh.tar cleanfiles.sh OR # tar --extract --file=cleanfiles.sh.tar cleanfiles.sh cleanfiles.sh
Ili kutoa faili moja ya tecmintbackup.xml kutoka kwa faili ya kumbukumbu ya tecmintbackup.tar.gz, tumia amri kama ifuatavyo.
# tar -zxvf tecmintbackup.tar.gz tecmintbackup.xml OR # tar --extract --file=tecmintbackup.tar.gz tecmintbackup.xml tecmintbackup.xml
Ili kutoa faili moja inayoitwa index.php kutoka kwa faili Phpfiles-org.tar.bz2 tumia chaguo lifuatalo.
# 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
Ili kutoa au kutoa faili nyingi kutoka kwa faili ya kumbukumbu ya tar, tar.gz na tar.bz2. Kwa mfano, amri iliyo hapa chini itatoa faili 1 faili 2 kutoka kwa faili za kumbukumbu.
# 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"
Ili kutoa kikundi cha faili tunatumia wildcard-based kuchomoa. Kwa mfano, kutoa kikundi cha faili zote ambazo mchoro wake huanza na .php kutoka kwa faili ya kumbukumbu ya tar, tar.gz na tar.bz2.
# 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
Kuongeza faili au saraka kwa faili zilizopo za kumbukumbu za tar tunatumia chaguo r (ongeza). Kwa mfano, tunaongeza faili xyz.txt na saraka php kwenye faili iliyopo ya kumbukumbu ya tecmint-14-09-12.tar.
# 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
Amri ya tar haina chaguo la kuongeza faili au saraka kwa faili iliyopo ya kumbukumbu ya tar.gz na tar.bz2 iliyobanwa. Ikiwa tutajaribu tutapata makosa yafuatayo.
# 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
Ili kuthibitisha tar au faili iliyoshinikizwa kwenye kumbukumbu tunatumia chaguo W (thibitisha). Ili kufanya hivyo, tumia tu mifano ifuatayo ya amri. (Kumbuka: Huwezi kufanya uthibitishaji kwenye faili iliyobanwa ( *.tar.gz, *.tar.bz2 ) kwenye kumbukumbu).
# 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/
Ili kuangalia saizi ya faili yoyote ya kumbukumbu ya tar, tar.gz na tar.bz2, tumia amri ifuatayo. Kwa mfano, amri iliyo hapa chini itaonyesha ukubwa wa faili ya kumbukumbu katika 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 – unda faili ya kumbukumbu.
- x - toa faili ya kumbukumbu.
- v - onyesha maendeleo ya faili ya kumbukumbu.
- f - jina la faili la faili ya kumbukumbu.
- t - kutazama maudhui ya faili ya kumbukumbu.
- j – kichujio cha kumbukumbu kupitia bzip2.
- z - kichujio cha kumbukumbu kupitia gzip.
- r - ongeza au usasishe faili au saraka kwa faili zilizopo za kumbukumbu.
- W - Thibitisha faili ya kumbukumbu.
- wildcards - Bainisha ruwaza katika amri ya lami ya UNIX.
Ni hivyo kwa sasa, natumai mifano ya amri ya tar hapo juu inatosha kwako kujifunza, na kwa habari zaidi tafadhali tumia man tar amri.
Ikiwa unatafuta kugawanya faili kubwa ya kumbukumbu ya tar katika sehemu nyingi au vizuizi, pitia nakala hii:
- Jinsi ya Kugawanya Faili ya Lami Katika Faili Nyingi za Ukubwa Fulani
- Jinsi ya Kupakua na Kutoa Faili za Lami kwa Amri Moja
Ikiwa tumekosa mifano yoyote tafadhali shiriki nasi kupitia sanduku la maoni na tafadhali usisahau kushiriki nakala hii na marafiki zako. Hii ndiyo njia bora ya kusema asante....