ຕົວຢ່າງ ຄຳ ສັ່ງ 18 Tar ໃນ Linux
Linux“ tar” ແມ່ນ ສຳ ລັບການເກັບບັນທຶກເທັບ, ເຊິ່ງໄດ້ຖືກ ນຳ ໃຊ້ໂດຍຜູ້ບໍລິຫານລະບົບ Linux/Unix ຈຳ ນວນຫຼວງຫຼາຍເພື່ອຈັດການກັບການ ສຳ ຮອງຂໍ້ມູນຕ່າງໆຂອງ tape drive. ຄຳ ສັ່ງ tar ໃຊ້ໃນການຮວບຮວມເອກະສານແລະໄດເລກະທໍລີເຂົ້າໃນແຟ້ມເອກະສານເກັບມ້ຽນທີ່ມີການບີບອັດສູງໂດຍທົ່ວໄປເອີ້ນວ່າ tarball ຫຼື tar, gzip ແລະ bzip ໃນ Linux. tar ແມ່ນ ຄຳ ສັ່ງທີ່ຖືກ ນຳ ໃຊ້ຢ່າງກວ້າງຂວາງທີ່ສຸດໃນການສ້າງແຟ້ມເອກະສານທີ່ເກັບໄວ້ແລະສາມາດຍ້າຍໄດ້ງ່າຍຈາກແຜ່ນ ໜຶ່ງ ຫາແຜ່ນອື່ນຫລືເຄື່ອງຈັກໄປຫາເຄື່ອງຈັກ.
ໃນບົດຄວາມນີ້ພວກເຮົາຈະມາທົບທວນແລະປຶກສາຫາລືກ່ຽວກັບຕົວຢ່າງ ຄຳ ສັ່ງ tar ຕ່າງໆເຊິ່ງລວມມີວິທີການສ້າງເອກະສານເກັບໂດຍໃຊ້ (tar, tar.gz ແລະ tar.bz2) ການບີບອັດ, ວິທີການສະກັດເອກະສານເກັບ, ສະກັດເອກະສານດຽວ, ເບິ່ງເນື້ອຫາເອກະສານ , ກວດພິສູດເອກະສານ, ເພີ່ມເອກະສານຫລືລາຍຊື່ເຂົ້າໃນເອກະສານເກັບ, ປະເມີນຂະ ໜາດ ຂອງເອກະສານເກັບເອກະສານ tar, ແລະອື່ນໆ.
ຈຸດປະສົງຕົ້ນຕໍຂອງຄູ່ມືນີ້ແມ່ນເພື່ອໃຫ້ຕົວຢ່າງ ຄຳ ສັ່ງ tar ຕ່າງໆເຊິ່ງອາດຈະເປັນປະໂຫຍດ ສຳ ລັບທ່ານທີ່ຈະເຂົ້າໃຈແລະກາຍເປັນຜູ້ຊ່ຽວຊານໃນການ ໝູນ ໃຊ້ການເກັບຂໍ້ມູນແບບ tar.
ຄໍາສັ່ງຕົວຢ່າງຂ້າງລຸ່ມນີ້ຈະສ້າງເອກະສານ tar ເກັບຂໍ້ມູນ tecmint-14-09-12.tar ສໍາລັບໄດເລກະທໍລີ/ເຮືອນ/tecmint ໃນໄດເລກະທໍລີເຮັດວຽກໃນປະຈຸບັນ. ເບິ່ງ ຄຳ ສັ່ງຕົວຢ່າງໃນການ ດຳ ເນີນການ.
# 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
ໃຫ້ປຶກສາຫາລືກ່ຽວກັບແຕ່ລະທາງເລືອກທີ່ພວກເຮົາໄດ້ໃຊ້ໃນ ຄຳ ສັ່ງຂ້າງເທິງ ສຳ ລັບການສ້າງເອກະສານເກັບຂໍ້ມູນ tar.
<
ເພື່ອສ້າງເອກະສານເກັບຂໍ້ມູນ gzip ທີ່ຖືກບີບອັດພວກເຮົາໃຊ້ຕົວເລືອກຄື z. ຕົວຢ່າງ ຄຳ ສັ່ງຂ້າງລຸ່ມນີ້ຈະສ້າງເອກະສານ MyImages-14-09-12.tar.gz ທີ່ຖືກບີບອັດ ສຳ ລັບໄດເລກະທໍລີ/ເຮືອນ/MyImages. (ໝາຍ ເຫດ: tar.gz ແລະ tgz ທັງສອງແມ່ນຄ້າຍຄືກັນ).
# 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 ບີບອັດແລະສ້າງແຟ້ມເອກະສານທີ່ນ້ອຍກວ່າຂະ ໜາດ ຂອງ gzip. ການບີບອັດ bz2 ໃຊ້ເວລາຫຼາຍໃນການບີບອັດແລະລຶບໄຟລ໌ຕ່າງໆເມື່ອທຽບກັບ gzip ເຊິ່ງໃຊ້ເວລາ ໜ້ອຍ. ເພື່ອສ້າງເອກະສານ tar ທີ່ຖືກບີບອັດສູງພວກເຮົາໃຊ້ຕົວເລືອກຄື j. ຄຳ ສັ່ງຕົວຢ່າງຕໍ່ໄປນີ້ຈະສ້າງແຟ້ມ Phpfiles-org.tar.bz2 ສຳ ລັບ directory/home/php. (ໝາຍ ເຫດ: tar.bz2 ແລະ tbz ແມ່ນຄ້າຍຄືກັບ 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
ເພື່ອແກ້ໄຂຫຼືສະກັດເອກະສານ tar, ພຽງແຕ່ອອກ ຄຳ ສັ່ງຕໍ່ໄປນີ້ໂດຍໃຊ້ຕົວເລືອກ x (ສະກັດ). ຕົວຢ່າງ ຄຳ ສັ່ງຂ້າງລຸ່ມນີ້ຈະແກ້ໄຂເອກະສານ public_html-14-09-12.tar ໃນບັນຊີເຮັດວຽກປະຈຸບັນ. ຖ້າທ່ານຕ້ອງການ untar ໃນໄດເລກະທໍລີທີ່ແຕກຕ່າງກັນຫຼັງຈາກນັ້ນໃຫ້ໃຊ້ຕົວເລືອກເປັນ -C (ໄດເລກະທໍລີທີ່ລະບຸໄວ້).
## 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
ເຖິງເອກະສານທີ່ເກັບ Uncompress tar.gz, ພຽງແຕ່ ດຳ ເນີນການ ຄຳ ສັ່ງຕໍ່ໄປນີ້. ຖ້າຕ້ອງການແກ້ໄຂບັນດາໄດເລກະທໍລີທີ່ແຕກຕ່າງກັນພຽງແຕ່ໃຊ້ຕົວເລືອກ -C ແລະເສັ້ນທາງຂອງໄດເລກະທໍລີ, ຄືກັບທີ່ພວກເຮົາສະແດງຢູ່ໃນຕົວຢ່າງຂ້າງເທິງ.
# 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
ເພື່ອ Uncompress ເອກະສານ tar.bz2 ທີ່ຖືກບີບອັດສູງ, ພຽງແຕ່ໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້. ຄໍາສັ່ງຕົວຢ່າງຂ້າງລຸ່ມນີ້ຈະແກ້ໄຂໄຟລ໌ .flv ທັງ ໝົດ ຈາກເອກະສານເກັບ.
# 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
ເພື່ອລາຍຊື່ເນື້ອຫາຂອງເອກະສານ tar tar, ພຽງແຕ່ ດຳ ເນີນການ ຄຳ ສັ່ງຕໍ່ໄປນີ້ດ້ວຍຕົວເລືອກ t (ລາຍຊື່ເນື້ອຫາ) ຄຳ ສັ່ງຂ້າງລຸ່ມນີ້ຈະບອກເນື້ອຫາຂອງ file 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
ໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້ເພື່ອບອກເນື້ອຫາຂອງເອກະສານ 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
ເພື່ອບອກເນື້ອໃນຂອງເອກະສານ tar.bz2, ອອກ ຄຳ ສັ່ງຕໍ່ໄປນີ້.
# 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
ເພື່ອສະກັດເອກະສານດຽວທີ່ເອີ້ນວ່າ cleanfiles.sh ຈາກ cleanfiles.sh.tar ໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.
# tar -xvf cleanfiles.sh.tar cleanfiles.sh OR # tar --extract --file=cleanfiles.sh.tar cleanfiles.sh cleanfiles.sh
ເພື່ອສະກັດເອກະສານດຽວ tecmintbackup.xml ຈາກເອກະສານເກັບ tecmintbackup.tar.gz, ໃຫ້ໃຊ້ ຄຳ ສັ່ງດັ່ງຕໍ່ໄປນີ້.
# tar -zxvf tecmintbackup.tar.gz tecmintbackup.xml OR # tar --extract --file=tecmintbackup.tar.gz tecmintbackup.xml tecmintbackup.xml
ເພື່ອສະກັດເອກະສານດຽວທີ່ມີຊື່ວ່າ index.php ຈາກໄຟລ໌ Phpfiles-org.tar.bz2 ໃຊ້ຕົວເລືອກຕໍ່ໄປນີ້.
# 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 ແລະ tar.bz2. ຕົວຢ່າງ ຄຳ ສັ່ງຂ້າງລຸ່ມນີ້ຈະສະກັດເອົາ“ file 1”“ file 2” ຈາກ files ທີ່ເກັບໄວ້.
# tar -xvf tecmint-14-09-12.tar "file 1" "file 2" # tar -zxvf MyImages-14-09-12.tar.gz "file 1" "file 2" # tar -jxvf Phpfiles-org.tar.bz2 "file 1" "file 2"
ເພື່ອສະກັດກຸ່ມຂອງແຟ້ມເອກະສານທີ່ພວກເຮົາ ນຳ ໃຊ້ແບບ ທຳ ມະຊາດທີ່ສະກັດ. ຕົວຢ່າງ, ເພື່ອສະກັດກຸ່ມຂອງແຟ້ມທັງ ໝົດ ທີ່ຮູບແບບເລີ່ມຕົ້ນດ້ວຍ .php ຈາກເອກະສານ tar, tar.gz ແລະ 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
ເພື່ອເພີ່ມແຟ້ມຫລືໄດເລກະທໍລີເຂົ້າໃນເອກະສານ tar ທີ່ມີຢູ່ແລ້ວພວກເຮົາໃຊ້ຕົວເລືອກ r (ເອກະສານຊ້ອນທ້າຍ). ຕົວຢ່າງພວກເຮົາເພີ່ມເອກະສານ xyz.txt ແລະ php directory ໃຫ້ກັບ tecmint-14-09-12.tar file archive ທີ່ມີຢູ່.
# 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 ບໍ່ມີທາງເລືອກທີ່ຈະເພີ່ມແຟ້ມຫຼືໄດເລກະທໍລີເຂົ້າໃນເອກະສານ tar.gz ແລະ tar.bz2 ທີ່ເກັບໄວ້. ຖ້າພວກເຮົາພະຍາຍາມທົດລອງຈະມີຂໍ້ຜິດພາດດັ່ງຕໍ່ໄປນີ້.
# 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 ຫລືອັດທີ່ຖືກບີບອັດພວກເຮົາໃຊ້ຕົວເລືອກທີ່ເປັນ W (ຢັ້ງຢືນ). ເພື່ອເຮັດ, ພຽງແຕ່ໃຊ້ຕົວຢ່າງຕໍ່ໄປນີ້ຂອງ ຄຳ ສັ່ງ. (ໝາຍ ເຫດ: ທ່ານບໍ່ສາມາດເຮັດການພິສູດຢືນຢັນໃນແຟ້ມເອກະສານ (* .tar.gz, * .tar.bz2)).
# 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/
ເພື່ອກວດເບິ່ງຂະ ໜາດ ຂອງເອກະສານ tar ໃດໆ, tar.gz ແລະ tar.bz2, ໃຫ້ໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້. ຕົວຢ່າງ ຄຳ ສັ່ງຂ້າງລຸ່ມນີ້ຈະສະແດງຂະ ໜາດ ຂອງເອກະສານເກັບໄວ້ໃນ 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
<
ນັ້ນແມ່ນ ສຳ ລັບດຽວນີ້, ຫວັງວ່າຕົວຢ່າງ ຄຳ ສັ່ງ tar ຂ້າງເທິງແມ່ນພຽງພໍ ສຳ ລັບທ່ານທີ່ຈະຮຽນຮູ້ແລະ ສຳ ລັບຂໍ້ມູນເພີ່ມເຕີມກະລຸນາໃຊ້ ຄຳ ສັ່ງ man tar.
ຖ້າທ່ານ ກຳ ລັງຊອກຫາທີ່ຈະແບ່ງປັນເອກະສານເກັບຂໍ້ມູນ tar ຂະ ໜາດ ໃຫຍ່ອອກເປັນຫລາຍສ່ວນຫລືຫລາຍທ່ອນ, ພຽງແຕ່ເຂົ້າໄປໃນບົດຄວາມນີ້
ຖ້າພວກເຮົາພາດໂອກາດນີ້ຍົກຕົວຢ່າງກະລຸນາແລກປ່ຽນກັບພວກເຮົາຜ່ານຊ່ອງ ຄຳ ເຫັນແລະກະລຸນາຢ່າລືມແບ່ງປັນບົດຄວາມນີ້ກັບ ໝູ່ ຂອງທ່ານ. ນີ້ແມ່ນວິທີທີ່ດີທີ່ສຸດທີ່ຈະເວົ້າຂອບໃຈ… ..