วิธีบีบอัดและแตกไฟล์โดยใช้คำสั่ง tar บน Linux

คำสั่ง tar บน Linux มักใช้ในการสร้างไฟล์เก็บถาวร. tar.gz หรือ. tgz หรือที่เรียกว่า "tarballs" คำสั่งนี้มีตัวเลือกมากมาย แต่คุณต้องจำตัวอักษรสองสามตัวเพื่อสร้างไฟล์เก็บถาวรด้วย tar อย่างรวดเร็ว คำสั่ง tar สามารถแยกไฟล์เก็บถาวรที่เป็นผลลัพธ์ได้เช่นกัน

คำสั่ง GNU tar ที่มาพร้อมกับการกระจาย Linux มีการบีบอัดรวม สามารถสร้างไฟล์เก็บถาวร. tar แล้วบีบอัดด้วยการบีบอัด gzip หรือ bzip2 ในคำสั่งเดียว นั่นเป็นสาเหตุที่ไฟล์ผลลัพธ์เป็นไฟล์. tar.gz หรือไฟล์. tar.bz2

บีบอัดไดเร็กทอรีทั้งหมดหรือไฟล์เดียว

ใช้คำสั่งต่อไปนี้เพื่อบีบอัดไดเร็กทอรีทั้งหมดหรือไฟล์เดียวบน Linux นอกจากนี้ยังบีบอัดไดเร็กทอรีอื่น ๆ ทั้งหมดภายในไดเร็กทอรีที่คุณระบุอีกนัยหนึ่งคือมันทำงานซ้ำได้

tar -czvf name-of-archive.tar.gz / path / to / directory-or-file

นี่คือความหมายที่แท้จริงของสวิตช์เหล่านี้:

  • -c: Cสร้างที่เก็บถาวร
  • -z: บีบอัดไฟล์เก็บถาวรด้วย g z ip
  • -v: แสดงความคืบหน้าในเทอร์มินัลขณะสร้างไฟล์เก็บถาวรหรือที่เรียกว่าโหมด“ v erbose” v เป็นทางเลือกในคำสั่งเหล่านี้เสมอ แต่ก็มีประโยชน์
  • -f: อนุญาตให้คุณระบุf ชื่อไฟล์ของไฟล์เก็บถาวร

สมมติว่าคุณมีไดเร็กทอรีชื่อ "stuff" ในไดเร็กทอรีปัจจุบันและคุณต้องการบันทึกลงในไฟล์ชื่อ archive.tar.gz คุณเรียกใช้คำสั่งต่อไปนี้:

tar -czvf ไฟล์ archive.tar.gz

หรือสมมติว่ามีไดเร็กทอรีที่ / usr / local / บางอย่างในระบบปัจจุบันและคุณต้องการบีบอัดไปยังไฟล์ชื่อ archive.tar.gz คุณเรียกใช้คำสั่งต่อไปนี้:

tar -czvf archive.tar.gz / usr / local / บางอย่าง

บีบอัดไดเรกทอรีหรือไฟล์หลายรายการพร้อมกัน

ที่เกี่ยวข้อง: วิธีจัดการไฟล์จาก Linux Terminal: 11 คำสั่งที่คุณต้องรู้

แม้ว่า tar มักจะใช้ในการบีบอัดไดเร็กทอรีเดียว แต่คุณยังสามารถใช้เพื่อบีบอัดไดเร็กทอรีหลายไฟล์หลายไฟล์หรือทั้งสองอย่าง เพียงแค่ระบุรายการไฟล์หรือไดเรกทอรีแทนไฟล์เดียว ตัวอย่างเช่นสมมติว่าคุณต้องการบีบอัดไดเร็กทอรี / home / ubuntu / Downloads ไดเร็กทอรี / usr / local / stuff และไฟล์ /home/ubuntu/Documents/notes.txt คุณเพียงแค่เรียกใช้คำสั่งต่อไปนี้:

tar -czvf archive.tar.gz / home / ubuntu / ดาวน์โหลด / usr / local / stuff /home/ubuntu/Documents/notes.txt

เพียงแสดงรายการไดเรกทอรีหรือไฟล์ให้มากเท่าที่คุณต้องการสำรองข้อมูล

ไม่รวมไดเรกทอรีและไฟล์

ในบางกรณีคุณอาจต้องการบีบอัดไดเร็กทอรีทั้งหมด แต่ไม่รวมไฟล์และไดเร็กทอรีบางไฟล์ คุณสามารถทำได้โดยต่อท้าย--excludeสวิตช์สำหรับแต่ละไดเร็กทอรีหรือไฟล์ที่คุณต้องการแยกออก

ตัวอย่างเช่นสมมติว่าคุณต้องการบีบอัด / home / ubuntu แต่คุณไม่ต้องการบีบอัดไดเร็กทอรี / home / ubuntu / Downloads และ /home/ubuntu/.cache นี่คือวิธีที่คุณจะทำ:

tar -czvf archive.tar.gz / home / ubuntu --exclude = / home / ubuntu / ดาวน์โหลด --exclude = / home / ubuntu / .cache

--excludeสวิทช์ที่มีประสิทธิภาพมาก ไม่ใช้ชื่อไดเร็กทอรีและไฟล์ แต่ยอมรับรูปแบบจริงๆ มีอะไรอีกมากมายที่คุณสามารถทำได้ ตัวอย่างเช่นคุณสามารถเก็บถาวรไดเร็กทอรีทั้งหมดและยกเว้นไฟล์. mp4 ทั้งหมดด้วยคำสั่งต่อไปนี้:

tar -czvf archive.tar.gz / home / ubuntu --exclude = *. mp4

ใช้การบีบอัด bzip2 แทน

แม้ว่าการบีบอัด gzip จะถูกใช้บ่อยที่สุดในการสร้างไฟล์. tar.gz หรือ. tgz แต่ tar ยังรองรับการบีบอัด bzip2 สิ่งนี้ช่วยให้คุณสร้างไฟล์บีบอัด bzip2 ซึ่งมักมีชื่อว่าไฟล์. tar.bz2, .tar.bz หรือ. tbz ในการทำเช่นนั้นให้แทนที่ -z เป็น gzip ในคำสั่งที่นี่ด้วย a -j สำหรับ bzip2

Gzip เร็วกว่า แต่โดยทั่วไปแล้วจะบีบอัดน้อยลงเล็กน้อยดังนั้นคุณจะได้ไฟล์ที่ค่อนข้างใหญ่กว่า Bzip2 ช้ากว่า แต่จะบีบอัดมากกว่าเล็กน้อยดังนั้นคุณจะได้ไฟล์ที่ค่อนข้างเล็กกว่า Gzip เป็นเรื่องปกติมากขึ้นโดยระบบ Linux ที่ถอดออกมาบางระบบรวมถึงการสนับสนุน gzip ตามค่าเริ่มต้น แต่ไม่รองรับ bzip2 โดยทั่วไปแล้ว gzip และ bzip2 เป็นสิ่งเดียวกันและทั้งสองอย่างจะทำงานในลักษณะเดียวกัน

ตัวอย่างเช่นแทนที่จะเป็นตัวอย่างแรกที่เราจัดเตรียมไว้สำหรับการบีบอัดไดเร็กทอรี stuff คุณจะต้องรันคำสั่งต่อไปนี้:

tar -cjvf archive.tar.bz2 สิ่ง

แยกไฟล์เก็บถาวร

เมื่อคุณมีไฟล์เก็บถาวรแล้วคุณสามารถแตกไฟล์ได้ด้วยคำสั่ง tar คำสั่งต่อไปนี้จะแยกเนื้อหาของ archive.tar.gz ไปยังไดเร็กทอรีปัจจุบัน

tar -xzvf archive.tar.gz

เหมือนกับคำสั่งสร้างไฟล์เก็บถาวรที่เราใช้ข้างต้นยกเว้น-xสวิตช์จะแทนที่-cสวิตช์ สิ่งนี้ระบุว่าคุณต้องการ e xวางไฟล์เก็บถาวรแทนที่จะสร้างขึ้นมา

คุณอาจต้องการแยกเนื้อหาของไฟล์เก็บถาวรไปยังไดเร็กทอรีเฉพาะ คุณสามารถทำได้โดยต่อท้าย-Cสวิตช์ที่ท้ายคำสั่ง ตัวอย่างเช่นคำสั่งต่อไปนี้จะแยกเนื้อหาของไฟล์ archive.tar.gz ไปยังไดเร็กทอรี / tmp

tar -xzvf archive.tar.gz -C / tmp

หากไฟล์นั้นเป็นไฟล์บีบอัด bzip2 ให้แทนที่“ z” ในคำสั่งด้านบนด้วย“ j”

นี่เป็นการใช้คำสั่ง tar ที่ง่ายที่สุด คำสั่งนี้มีตัวเลือกเพิ่มเติมจำนวนมากดังนั้นเราจึงไม่สามารถแสดงรายการทั้งหมดได้ที่นี่ สำหรับข้อมูลเพิ่มเติม. รันคำสั่งinfo tarที่เชลล์เพื่อดูหน้าข้อมูลโดยละเอียดของคำสั่ง tar กดปุ่มqเพื่อออกจากหน้าข้อมูลเมื่อคุณทำเสร็จแล้ว คุณยังสามารถอ่านคู่มือของ tar ทางออนไลน์ได้อีกด้วย

หากคุณใช้เดสก์ท็อป Linux แบบกราฟิกคุณยังสามารถใช้ยูทิลิตี้บีบอัดไฟล์หรือตัวจัดการไฟล์ที่มาพร้อมกับเดสก์ท็อปของคุณเพื่อสร้างหรือแตกไฟล์. tar ใน Windows คุณสามารถแยกและสร้างไฟล์เก็บถาวร. tar ด้วยยูทิลิตี้ 7-Zip ฟรี