ลินุกซ์ “ทาร์” ย่อมาจากไฟล์เก็บถาวรซึ่งมีผู้ใช้จำนวนมาก Linux/Unix ผู้ดูแลระบบเพื่อจัดการกับการสำรองข้อมูลไดรฟ์เทป คำสั่ง tar ใช้ในการริปคอลเลกชั่นของไฟล์และไดเร็กทอรีเป็นไฟล์เก็บถาวรที่มีการบีบอัดสูงซึ่งปกติเรียกว่า tarball หรือ ทาร์, gzip และ bzip ใน ลินุกซ์. tar เป็นคำสั่งที่ใช้กันอย่างแพร่หลายมากที่สุดในการสร้างไฟล์บีบอัดที่บีบอัด และสามารถย้ายได้อย่างง่ายดายจากดิสก์หนึ่งไปยังดิสก์อื่นหรือเครื่องหนึ่งไปยังอีกเครื่องหนึ่ง
ในบทความนี้เราจะมาทบทวนและพูดคุยกันต่างๆ ตัวอย่างคำสั่ง tar รวมถึงวิธีการสร้างไฟล์เก็บถาวรโดยใช้ (ทาร์, tar.gz, และ tar.bz2) การบีบอัด, วิธีแตกไฟล์เก็บถาวร, แตกไฟล์เดียว, ดูเนื้อหาของไฟล์, ตรวจสอบไฟล์, เพิ่มไฟล์หรือไดเร็กทอรีไปยังไฟล์เก็บถาวร, ประมาณขนาดของไฟล์เก็บถาวร tar ฯลฯ
จุดประสงค์หลักของคู่มือนี้คือเพื่อให้หลากหลาย ตัวอย่างคำสั่ง tar ที่อาจเป็นประโยชน์สำหรับคุณในการทำความเข้าใจและเป็นผู้เชี่ยวชาญในการจัดการไฟล์ tar
คำสั่งตัวอย่างด้านล่างจะสร้าง a ทาร์ ไฟล์เก็บถาวร tecmint-14-09-12.tar สำหรับไดเร็กทอรี /home/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 ไฟล์สำหรับไดเร็กทอรี /home/MyImages. (หมายเหตุ: tar.gz และ tgz ทั้งคู่มีความคล้ายคลึงกัน).
# tar cvzf MyImages-14-09-12.tar.gz /home/MyImages หรือ. # 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
NS bz2 คุณสมบัติบีบอัดและสร้างไฟล์เก็บถาวรที่น้อยกว่าขนาดของ gzip. NS bz2 การบีบอัดใช้เวลาในการบีบอัดและขยายขนาดไฟล์มากกว่า จีซิป ซึ่งใช้เวลาน้อยกว่า ในการสร้างไฟล์ tar ที่มีการบีบอัดสูง เราใช้ตัวเลือก NS. คำสั่งตัวอย่างต่อไปนี้จะสร้าง a Phpfiles-org.tar.bz2 ไฟล์สำหรับไดเร็กทอรี /home/php. (หมายเหตุ: tar.bz2 และ tbz คล้ายกับ tb2).
# tar cvfj Phpfiles-org.tar.bz2 /home/php หรือ. # tar cvfj Phpfiles-org.tar.tbz /home/php หรือ # 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
หากต้องการ untar หรือแตกไฟล์ tar เพียงออกคำสั่งต่อไปนี้โดยใช้ option NS (สารสกัด). ตัวอย่างเช่น คำสั่งด้านล่างจะ untar ไฟล์ public_html-14-09-12.tar ในไดเร็กทอรีการทำงานปัจจุบัน หากคุณต้องการ untar ในไดเร็กทอรีอื่นให้ใช้ตัวเลือก as -ค (ไดเรกทอรีที่ระบุ).
## Untar ไฟล์ในไดเรกทอรีปัจจุบัน ### tar -xvf public_html-14-09-12.tar## Untar ไฟล์ในไดเรกทอรีที่ระบุ ### 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 ไฟล์เก็บถาวรเพียงเรียกใช้คำสั่งต่อไปนี้ ถ้าเราต้องการ untar ในไดเร็กทอรีอื่น ก็ใช้ option -ค และเส้นทางไดเรกทอรีดังแสดงในตัวอย่างข้างต้น
# tar -xvf รูปขนาดย่อ-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
ในการคลายการบีบอัดข้อมูลที่มีการบีบอัดสูง tar.bz2 ไฟล์เพียงใช้คำสั่งต่อไปนี้ คำสั่งตัวอย่างด้านล่างจะ untar ทั้งหมด .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 เพียงเรียกใช้คำสั่งต่อไปนี้ด้วย option NS (รายการเนื้อหา). คำสั่งด้านล่างจะแสดงเนื้อหาของ 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.tecmint.com.tar.gz -rw-r--r-- root/root 0 2012-08-30 04:03:57 staging.tecmint.com-access_log -rw-r--r-- รูท/รูท 587 2012-08-29 18:35:12 staging.tecmint.com-access_log.1 -rw-r--r-- รูท/รูท 156 2012-01-21 07:17:56 staging.tecmint.com-access_log.2 -rw-r--r-- รูท/รูท 156 2011-12-21 11:30:56 staging.tecmint.com-access_log.3. -rw-r--r-- รูท/รูท 156 2011-11-20 17:28:24 staging.tecmint.com-access_log.4 -rw-r--r-- root/root 0 2012-08-30 04:03:57 staging.tecmint.com-error_log -rw-r--r-- รูท/รูท 3981 2012-08-29 18:35:12 staging.tecmint.com-error_log.1 -rw-r--r-- root/root 211 2012-01-21 07:17:56 staging.tecmint.com-error_log.2. -rw-r--r-- รูท/รูท 211 2011-12-21 11:30:56 staging.tecmint.com-error_log.3 -rw-r--r-- root/root 211 2011-11-20 17:28:24 staging.tecmint.com-error_log.4
เพื่อแสดงรายการเนื้อหาของ tar.bz2 ไฟล์ออกคำสั่งต่อไปนี้
# tar -tvf Phpfiles-org.tar.bz2drwxr-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 หรือ. # tar --extract --file=cleanfiles.sh.tar cleanfiles.sh cleanfiles.sh
ในการแตกไฟล์เดียว tecmintbackup.xml จาก tecmintbackup.tar.gz ไฟล์ archive ให้ใช้คำสั่งดังนี้
# tar -zxvf tecmintbackup.tar.gz tecmintbackup.xml หรือ. # 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 หรือ. # tar --extract --file=Phpfiles-org.tar.bz2 /home/php/index.php /home/php/index.php
ในการแยกหรือ untar หลายไฟล์จาก the ทาร์, tar.gz, และ tar.bz2 ไฟล์เก็บถาวร ตัวอย่างเช่น คำสั่งด้านล่างจะแยก “ไฟล์ 1” “ไฟล์2” จากไฟล์เก็บถาวร
# tar -xvf tecmint-14-09-12.tar "ไฟล์1" "file2"# tar -zxvf MyImages-14-09-12.tar.gz "ไฟล์1" "file2"# tar -jxvf Phpfiles-org.tar.bz2 "ไฟล์1" "file2"
เพื่อแยกกลุ่มของไฟล์ที่เราใช้ ตามสัญลักษณ์แทน การสกัด ตัวอย่างเช่น การแยกกลุ่มของไฟล์ทั้งหมดที่มีรูปแบบขึ้นต้นด้วย .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 ที่มีอยู่ เราใช้ตัวเลือก NS (ผนวก). ตัวอย่างเช่น เราเพิ่ม file xyz.txt และไดเรกทอรี php ที่มีอยู่ tecmint-14-09-12.tar ไฟล์เก็บถาวร
# tar -rvf tecmint-14-09-12.tar xyz.txt# tar -rvf tecmint-14-09-12.tar phpdrwxr-xr-x root/root 0 2012-09-15 02:24:21 หน้าแรก/tecmint/ -rw-r--r-- root/root 15740615 2012-09-15 02:23:42 home/tecmint/cleanfiles.sh -rw-r--r-- รูท/รูท 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-- รูท/รูท 0 2012-08-18 19:11:04 xyz.txtdrwxr-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 -- ราก/ราก 3021 2012-09-15 03:06:08 php/index.php -rw-r--r-- รูท/รูท 2554 2555-09-15 03:06:08 php/vendor.php -rw-r--r-- รูท/รูท 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: นี่ไม่ใช่ไฟล์เก็บถาวร tar tar: ข้ามไปที่ส่วนหัวถัดไป xyz.txt tar: การออกข้อผิดพลาดล่าช้าจากข้อผิดพลาดก่อนหน้า
ในการตรวจสอบ tar หรือไฟล์บีบอัดที่บีบอัดเราใช้ตัวเลือก W (ตรวจสอบ). ในการดำเนินการนี้ เพียงใช้ตัวอย่างคำสั่งต่อไปนี้ (บันทึก: คุณไม่สามารถตรวจสอบไฟล์บีบอัด ( *.tar.gz, *.tar.bz2 ) ไฟล์เก็บถาวร)
# tar tvfW tecmint-14-09-12.tar tar: นี่ไม่ใช่ไฟล์เก็บถาวร tar tar: ข้ามไปที่ส่วนหัวถัดไป tar: เอกสารเก่ามีส่วนหัว base-64 ที่ล้าสมัย tar: VERIFY FAILURE: 30740 ตรวจพบส่วนหัวที่ไม่ถูกต้อง ตรวจสอบ -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 tar: /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 tar: /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 tar: /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/
เพื่อตรวจสอบขนาดของใดๆ ทาร์, tar.gz, และ tar.bz2 ไฟล์เก็บถาวร ใช้คำสั่งต่อไปนี้ ตัวอย่างเช่น คำสั่งด้านล่างจะแสดงขนาดของไฟล์เก็บถาวรเป็นกิโลไบต์ (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 เพียงพอสำหรับคุณในการเรียนรู้ และสำหรับข้อมูลเพิ่มเติม โปรดใช้ ผู้ชาย tar สั่งการ.
หากคุณต้องการแยกไฟล์เก็บถาวร tar ขนาดใหญ่ออกเป็นหลายส่วนหรือหลายบล็อก โปรดอ่านบทความนี้:
อย่าพลาด:แยกไฟล์เก็บถาวร 'tar' ขนาดใหญ่ออกเป็นไฟล์หลายไฟล์ที่มีขนาดที่แน่นอน
หากเราพลาดตัวอย่างใด ๆ โปรดแบ่งปันกับเราผ่านทางช่องแสดงความคิดเห็น และโปรดอย่าลืมแบ่งปันบทความนี้กับเพื่อนของคุณ นี่เป็นวิธีที่ดีที่สุดที่จะกล่าวขอบคุณ…..