กำลังแตกไฟล์เก็บถาวร tar gz บน Linux วิธีแตกไฟล์หรือสร้างไฟล์เก็บถาวรโดยใช้คำสั่ง SSH

และ Xen ในการทำงานกับไฟล์เก็บถาวรนั้นต้องการเพียงส่วนประกอบพื้นฐานของระบบเท่านั้น กล่าวคือ ทาร์, จีซิปและ บีซิป2ซึ่งเมื่อสร้างไฟล์เก็บถาวรที่บีบอัดให้ทำงานโดยรวมเพราะ ผู้จัดเก็บในตัวเอง ทาร์ไม่ได้ให้ความเป็นไปได้ในการบีบอัดข้อมูล มันถูกใช้เพื่อจุดประสงค์นี้ จีซิปหรือ บีซิป2- คลังเก็บที่สร้างขึ้นโดยใช้ จีซิปมักจะมีนามสกุล .tar.gzและเมื่อใช้ บีซิป2.tar.bz2.

การสร้างไฟล์เก็บถาวร tar โดยไม่มีการบีบอัด

หากต้องการสร้างไฟล์เก็บถาวรให้ใช้คำสั่ง:

Tar -cf filename.tar ไฟล์1 ไฟล์2 ไฟล์N

พารามิเตอร์ - อ้างอิงรับผิดชอบในการสร้างไฟล์เก็บถาวร ชื่อไฟล์.tarซึ่งจะรวมถึงไฟล์ที่ระบุ ไดเร็กทอรีสามารถระบุแทนไฟล์ได้

การสร้างไฟล์เก็บถาวรโดยใช้การบีบอัด

เนื่องจากมีอย่างน้อยสองวิธีสำหรับการบีบอัด จึงมีการใช้ชุดพารามิเตอร์แยกกันเพื่อใช้แต่ละวิธี

ตัวอย่างการบีบอัด จีซิป:

Tar -cvzf ชื่อไฟล์.tar.gz dir_name

ในกรณีนี้ เราพยายามแพ็คโฟลเดอร์ dir_nameไปยังที่เก็บถาวร ชื่อไฟล์.tar.gz- จากพารามิเตอร์ที่กำหนด -zบ่งบอกถึงการใช้วิธี จีซิป, ก -vแสดงผลลัพธ์ของกระบวนการสร้างไฟล์เก็บถาวรโดยระบุไฟล์หรือโฟลเดอร์ที่แพ็ก

ตัวอย่างการบีบอัด บีซิป2:

Tar -cvjf ชื่อไฟล์.tar.bz2 dir_name

คำสั่งนี้คล้ายกับคำสั่งก่อนหน้าและมีความแตกต่างในพารามิเตอร์ –เจ, เพราะ เป็นผู้รับผิดชอบในการใช้วิธีการบีบอัด บีซิป2.

กำลังคลายไฟล์เก็บถาวร

หากต้องการแตกไฟล์เก็บถาวรให้ใช้คำสั่ง:

ทาร์ -xvf ชื่อไฟล์.tar.bz2

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

Tar -xvf filename.tar.bz2 -C /path/to/folder

ในกรณีนี้ ไฟล์เก็บถาวรจะถูกคลายแพ็กในไดเร็กทอรีที่ระบุ

ดูเนื้อหาที่เก็บถาวรโดยไม่ต้องแกะกล่อง

เพื่อวัตถุประสงค์เหล่านี้ จะใช้คำสั่งต่อไปนี้:

Tar -tf ชื่อไฟล์.tar.gz

อันเป็นผลมาจากการดำเนินการคำสั่งรายการไฟล์และโฟลเดอร์ที่เก็บไว้ในไฟล์เก็บถาวรจะปรากฏขึ้น หากคุณเพิ่มลงในรายการพารามิเตอร์ -vคุณจะได้รับข้อมูลเพิ่มเติมเกี่ยวกับเนื้อหา ระบุขนาดไฟล์ สิทธิ์การเข้าถึง ชื่อเจ้าของและกลุ่ม ฯลฯ

ทาร์คุณสามารถใช้คำสั่ง:

Tar --help #call ความช่วยเหลือเกี่ยวกับคำสั่งและพารามิเตอร์ man tar #call เอกสารเพิ่มเติม

การสร้างและแตกไฟล์ ZIP

การสร้างไฟล์ zip ทำได้โดยใช้คำสั่ง:

ชื่อไฟล์ ZIP archive.zip

แทน ไฟล์เก็บถาวร.zipระบุชื่อของไฟล์เก็บถาวรที่จะสร้าง แทน ชื่อไฟล์ระบุชื่อไฟล์ที่ต้องการเก็บถาวร หากต้องการเก็บถาวรทั้งโฟลเดอร์ คุณต้องใช้ตัวเลือกนี้ –รซึ่งเริ่มต้นการเก็บถาวรแบบเรียกซ้ำ หากไม่มีพารามิเตอร์นี้ ระบบจะเก็บถาวรเฉพาะโฟลเดอร์ที่ไม่มีไฟล์แนบเท่านั้น คำสั่งตัวอย่าง:

Zip –r archive.zip dirname

ไฟล์เก็บถาวรถูกแตกไฟล์โดยใช้คำสั่ง เปิดเครื่องรูด:

แตกไฟล์ archivename.zip

หากคุณต้องการแตกไฟล์ไปยังโฟลเดอร์ใดโฟลเดอร์หนึ่ง ให้ใช้พารามิเตอร์ –ง- ตัวอย่างเช่น:

คลายซิป –d dirname archivename.zip

แทน นามสกุลระบุโฟลเดอร์ที่คุณต้องการแยกข้อมูลจากไฟล์เก็บถาวร

ดูรายการคุณสมบัติ Archiver ทั้งหมด ซิปและ เปิดเครื่องรูดคุณสามารถใช้คำสั่ง:

Zip --help หรือ unzip --help #call ความช่วยเหลือเกี่ยวกับคำสั่งและพารามิเตอร์ man zip หรือ man unzip #call เอกสารเพิ่มเติม

กำลังคลายไฟล์เก็บถาวร RAR

หากต้องการแยกเนื้อหาของไฟล์เก็บถาวรให้ใช้คำสั่ง unrar:

แตกไฟล์ชื่อ.rar

คุณสามารถดูรายการไฟล์ในไฟล์เก็บถาวรโดยไม่ต้องแตกไฟล์ด้วยคำสั่ง:

Unrar –t ชื่อไฟล์.rar

บันทึก:เป็นที่น่าสังเกตว่า เลิกราร์อาจไม่สามารถใช้ได้ตามค่าเริ่มต้นในลีนุกซ์บางรุ่น คุณสามารถติดตั้งซอฟต์แวร์นี้โดยใช้คำสั่งต่อไปนี้:

CentOS/Fedora:

ยำติดตั้ง unrar

เดเบียน/อูบุนตู:

Apt-get ติดตั้ง unrar ฟรี

ดูรายการคุณสมบัติ Archiver ทั้งหมด unrarคุณสามารถใช้คำสั่ง:

Rar --help #call ความช่วยเหลือเกี่ยวกับคำสั่งและพารามิเตอร์ man unrar #call เอกสารเพิ่มเติม

ตัวอย่างการสร้างสำเนาสำรองข้อมูลบน VPS

สมมติว่าบน VPS คุณต้องสร้างสำเนาสำรองของไฟล์ไซต์ที่อยู่ในไดเร็กทอรี /var/www/html/mysite- หากต้องการสร้างไฟล์บีบอัดข้อมูลที่อยู่ในไดเร็กทอรีที่ระบุ คุณต้องรันคำสั่งต่อไปนี้:

ทาร์ -cvzf mysite.tar.gz /var/www/html/mysite

ส่งผลให้เนื้อหาของไดเร็กทอรี /var/www/html/mysiteจะถูกเก็บถาวร mysite.tar.gz.

หัวเรื่อง

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

สร้างไฟล์เก็บถาวรจากโฟลเดอร์

หากต้องการสร้างไฟล์ tar ที่บีบอัดของ gzip ให้ป้อนคำสั่งต่อไปนี้:

tar -zcf /root/files.tar.gz /home/folder/

ลองดูตัวอย่างในส่วนต่างๆ คำสั่ง tar รันด้วยตัวเลือกต่อไปนี้:

z - ไฟล์เก็บถาวรที่มีการบีบอัด gzip หากต้องการใช้ bzip2 คุณต้องแทนที่คีย์ "z" ด้วย "j"
c - สร้างไฟล์เก็บถาวร หากไม่มีคีย์นี้ ไฟล์เก็บถาวรจะไม่ถูกสร้างขึ้น
f - หากไม่มีคีย์นี้ ไฟล์เก็บถาวรจะไม่ถูกสร้างขึ้น ตามที่เอกสารระบุไว้: "หากไม่มีสวิตช์ f tar จะส่งผลลัพธ์ไปที่ stdout เมื่อทำการบรรจุและจะพยายามอ่านไฟล์เก็บถาวรจาก stdin เมื่อทำการแกะกล่อง"

หลังจากคีย์ เส้นทางไปยังไฟล์ของไฟล์เก็บถาวรที่สร้างขึ้นพร้อมชื่อจะถูกระบุ: /root/files.tar.gz หากคุณระบุเส้นทางสัมพัทธ์ ไฟล์จะถูกสร้างขึ้นในโฟลเดอร์ที่เทอร์มินัลเปิดอยู่

ที่ส่วนท้ายสุดของคำสั่ง ไดเร็กทอรีที่ต้องเก็บถาวร /home/folder/ จะถูกส่งผ่าน ในตัวอย่าง มีเส้นทางที่แน่นอนไปยังโฟลเดอร์นี้ ในกรณีนี้ ไฟล์เก็บถาวร tar จะมีโฟลเดอร์หลักทั้งหมด เช่น เมื่อคุณเปิดไฟล์เก็บถาวร จะมีโฟลเดอร์ /home/ และภายในนั้นจะมีโฟลเดอร์ /folder/ แต่ถ้าเส้นทางสัมบูรณ์ถูกแทนที่ด้วยเส้นทางสัมพัทธ์ จะมีเพียง /folder/ เท่านั้นที่จะปรากฏขึ้น

แตกไฟล์

หากต้องการแตกไฟล์เก็บถาวรให้ไปที่โฟลเดอร์ที่มีไฟล์นั้นแล้วป้อน:

tar -xf ไฟล์ tar.gz

ไฟล์ต่างๆ จะถูกคลายลงในโฟลเดอร์เดียวกับที่ไฟล์เก็บถาวรอยู่

ปุ่ม x บ่งชี้ว่ากำลังคลายไฟล์เก็บถาวร จำเป็นต้องใช้ปุ่ม f เช่นเดียวกับเมื่อสร้างไฟล์เก็บถาวร

หากคุณต้องการแตกไฟล์เก็บถาวรลงในโฟลเดอร์เฉพาะคุณสามารถระบุเส้นทางไปยังไฟล์นั้นได้หลังคีย์ C:

tar -xf files.tar.gz -C /home/โฟลเดอร์/

แยกโฟลเดอร์ออกจากไฟล์เก็บถาวร

บางครั้งงานเกิดจากการแยกโฟลเดอร์ย่อยบางส่วนออกจากไฟล์เก็บถาวร ตัวอย่างเช่น หากคุณต้องการสร้างไฟล์เก็บถาวรจากโฟลเดอร์ /home/ แต่ไม่ควรรวมเนื้อหาของโฟลเดอร์ /cache/ และ /trash/ ไว้ด้วย จากนั้นคุณต้องใช้คีย์ยกเว้น:

tar -zcf /root/files.tar.gz /home/ --exclude=("*/cache/ *","*/trash/ *")

ไม่มีเครื่องหมายทับ "/" ต่อท้ายค่าที่แยกออกสำหรับโฟลเดอร์ หากไม่มีเครื่องหมายทับ เนื้อหาของโฟลเดอร์จะไม่ถูกลบ แต่จะลบทั้งโฟลเดอร์

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

ทาร์เป็นผู้จัดเก็บจาก GNU tar รับไฟล์และ/หรือไดเร็กทอรีหลายไฟล์แล้วรวมเป็นไฟล์ขนาดใหญ่ไฟล์เดียว ซึ่งจะทำให้คุณสามารถบีบอัดแผนผังไดเร็กทอรีทั้งหมดได้ ซึ่งไม่สามารถทำได้ด้วย bzip หรือ bzip2 tar มีตัวเลือกมากมาย ซึ่งมีการอธิบายโดยละเอียดในหน้าคู่มือ

$ man tar tar -xvvf foo.tar extract foo.tar tar -xvvzf foo.tar.gz extract gzipped foo.tar.gz tar -cvvf foo.tar foo/ tar เนื้อหาของโฟลเดอร์ foo ใน foo.tar

ตัวเลือกคำสั่ง tar ที่ใช้กันทั่วไป

    C – สร้างไฟล์เก็บถาวรใหม่

    X – แยกไฟล์ออกจากไฟล์เก็บถาวร

    –delete – ลบ (ลบ) ไฟล์จากไฟล์เก็บถาวร

    R – ผนวกไฟล์เข้ากับไฟล์เก็บถาวรที่มีอยู่

    เอ – ผนวกไฟล์ tar เข้ากับไฟล์เก็บถาวรที่มีอยู่

    T – รายการไฟล์ในไฟล์เก็บถาวร (เนื้อหาที่เก็บถาวร)

    U – อัปเดตไฟล์เก็บถาวร

    D – การดำเนินการเปรียบเทียบไฟล์เก็บถาวรกับระบบไฟล์ที่กำหนด

    Z – การประมวลผลไฟล์เก็บถาวรโดยใช้ตัวอย่างการใช้ gzip และ gunzip การบีบอัดหรือการบีบอัด ขึ้นอยู่กับการรวมกันของสวิตช์ที่มาพร้อมกัน -c หรือ -x

    J – การประมวลผลไฟล์เก็บถาวรโดยใช้ bzip2 การบีบอัดหรือการบีบอัด ขึ้นอยู่กับการรวมกันของสวิตช์ที่มาพร้อมกัน -c หรือ -x

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

การใช้ tar ที่พบบ่อยที่สุดคือการแตกและแตกไฟล์แพ็คเกจที่ดาวน์โหลดจากเว็บไซต์หรือไซต์ ftp ไฟล์ส่วนใหญ่มีนามสกุล .tar.gz บ่อยครั้งที่พวกมันถูกเรียกว่า "tarball" ซึ่งหมายความว่าไฟล์หลายไฟล์จะถูกบีบอัดด้วย tar แล้วบีบอัดด้วย gzip คุณยังสามารถค้นหาไฟล์ .tar.Z โดยพื้นฐานแล้วสิ่งเหล่านี้เป็นสิ่งเดียวกัน แต่ส่วนใหญ่จะพบในระบบ Unix รุ่นเก่า

นอกจากนี้ คุณอาจเจอไฟล์ .tar.bz2 ซอร์สโค้ดเคอร์เนลถูกแจกจ่ายในรูปแบบนี้เนื่องจากใช้พื้นที่ดาวน์โหลดน้อยกว่า ดังที่คุณคงเดาได้แล้วว่าไฟล์เหล่านี้เป็นไฟล์ที่เก็บถาวรด้วย tar และบีบอัดด้วย bzip

คุณสามารถแยกไฟล์ทั้งหมดจากไฟล์เก็บถาวรดังกล่าวได้โดยใช้ตัวเลือกบรรทัดคำสั่ง tar การแตกไฟล์ tarball ทำได้โดยใช้ตัวเลือก -z ซึ่งหมายความว่าไฟล์จะต้องถูกเรียกใช้ผ่าน gunzip ก่อนแล้วจึงแตกไฟล์ กำลังแกะ tarballs :

% tar -xvzf ไฟล์ tar.gz

มีตัวเลือกค่อนข้างมากที่นี่ พวกเขาหมายถึงอะไร? ตัวเลือก -x หมายถึงการแยก นี่เป็นสิ่งสำคัญเพราะมันจะบอก tar ว่าต้องทำอะไรกับไฟล์อินพุต ในกรณีนี้ มันจะถูกแยกกลับเป็นไฟล์ที่ถูกรวมเข้าด้วยกัน ตัวเลือก -v หมายถึงการเปิดใช้งานโหมด verbose ชื่อของไฟล์ทั้งหมดที่ถูกแยกออกจากไฟล์เก็บถาวร เป็นความคิดที่ดีที่จะใช้ตัวเลือกนี้เพื่อไม่ให้การแตกไฟล์ดูน่าเบื่อเกินไป คุณยังสามารถใช้ -vv เพื่อทำให้เอาต์พุตละเอียดยิ่งขึ้นและให้คุณมากยิ่งขึ้น ข้อมูลเกี่ยวกับไฟล์ที่กำลังแตกออกมา ตัวเลือก -z จะบอก tar" เกี่ยวกับความจริงที่ว่าไฟล์ .tar.gz จะต้องถูกเรียกใช้ผ่าน gunzip ก่อน สุดท้ายนี้ ตัวเลือก -f จะบอก tar ว่าบรรทัดถัดไปในบรรทัดคำสั่งคือไฟล์ที่จะใช้งาน

มีหลายวิธีในการเขียนคำสั่งเดียวกัน บนระบบเก่าที่ไม่มีสำเนา GNU tar ที่เหมาะสม คุณอาจเห็นรายการต่อไปนี้สำหรับคำสั่งเดียวกัน:

% ไฟล์ gunzip.tar.gz | ทาร์ -xvf -

ในคำสั่งนี้ ไฟล์จะถูกคลายแพ็กก่อน และผลลัพธ์จะถูกส่งไปยัง tar เพราะ gzip โดยค่าเริ่มต้นจะเขียนเอาต์พุตไปที่ stdout คำสั่งนี้จะเขียนไฟล์ที่คลายการบีบอัดไปที่ stdout ไปป์ไลน์จะส่งต่อสตรีมนี้ไปยัง tar เพื่อคลายการบีบอัด เครื่องหมาย "-" หมายความว่าข้อมูลถูกนำมาจากอินพุตมาตรฐาน คำสั่งนี้จะคลายซิปสตรีมข้อมูลที่ได้รับจาก gzip และเขียนลงดิสก์

อีกวิธีหนึ่งในการเขียนคำสั่งดั้งเดิมคือการลบเครื่องหมาย “-” หน้าตัวเลือก:

% tar xvzf ไฟล์.tar.gz

คุณอาจเจอไฟล์เก็บถาวร bzipped เวอร์ชัน tar ที่ให้ไว้ใน Slackware Linux สามารถทำงานร่วมกับไฟล์เหล่านี้ได้ในลักษณะเดียวกับไฟล์เก็บถาวร gzipped แทนที่จะใช้ตัวเลือก -z คุณต้องใช้ -j:

% tar -xvjf ไฟล์ tar.bz2

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

% ซีดี $HOME % cp /tmp/file.tar.gz % tar -xvzf file.tar.gz % ซีดี $HOME % tar -xvzf /tmp/file.tar.gz % ซีดี / % tar -xvzf /tmp/file.tar.gz -C $HOME

รายการข้างต้นทั้งหมดเทียบเท่ากัน ในแต่ละไฟล์ ไฟล์เก็บถาวรจะถูกขยายไปยังโฮมไดเร็กตอรี่ของคุณ และไฟล์เก็บถาวรที่บีบอัดดั้งเดิมจะยังคงอยู่

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

% tar -cvzf file.tar.gz .

ในคำสั่งนี้ ตัวเลือก -c บอกให้ tar สร้างไฟล์เก็บถาวร และตัวเลือก -z จะ gzip ไฟล์เก็บถาวรผลลัพธ์เพื่อบีบอัดไฟล์ file.tar.gz คือชื่อของไฟล์ที่จะสร้าง

การระบุตัวเลือก "-f" ไม่จำเป็นเสมอไป แต่ในกรณีใด ๆ จะดีกว่าถ้าใช้ หากไม่มีมัน tar จะเขียนข้อมูลไปยังเอาต์พุตมาตรฐาน ซึ่งโดยทั่วไปจะใช้เพื่อส่งกระแสข้อมูลไปยังโปรแกรมอื่น เช่นนี้

% tar -cv file.tar - gpg --เข้ารหัส

คำสั่งนี้จะสร้าง tarball ที่ไม่บีบอัดพร้อมกับเนื้อหาของไดเร็กทอรีปัจจุบัน จากนั้นรัน tarball ผ่านโปรแกรม gpg ซึ่งจะเข้ารหัสและบีบอัดไฟล์เก็บถาวร ทำให้ใครก็ตามที่ไม่มีคีย์ส่วนตัวของคุณอ่านไม่ได้

tar ผ่าน ssh

หากคอมพิวเตอร์ต้นทางและคอมพิวเตอร์เป้าหมายเชื่อมต่อผ่าน LAN หรือ WAN เพื่อประหยัดเวลา คุณสามารถรวมการใช้ SSH (Secure Shell) และ tar เพื่อเก็บถาวร คัดลอก และแยกไฟล์ได้ในคราวเดียว ต่อไปนี้เป็นวิธีดำเนินการ:

$ (cd ~/stuff; tar --create --gzip --file - *) | \ ssh ปลายทาง tar --extract --gunzip --file --verbose -C สิ่ง

คำสั่งนี้ดำเนินการหลายอย่างพร้อมกัน มาทำลายมันกัน:

    ลำดับของคำสั่งที่อยู่ในวงเล็บเรียกว่าเชลล์ย่อย การเปลี่ยนแปลงที่ทำในเชลล์ย่อย เช่น การเปลี่ยนไดเร็กทอรี จะไม่ส่งผลกระทบต่อคำสั่งโดยรวม แต่จะส่งผลต่อสภาพแวดล้อมเชลล์ย่อยเท่านั้น ดังนั้นลำดับการหลีกเลี่ยงลำดับแรก - (cd ~/stuff; tar –create –gzip –file - *) เปลี่ยนไดเร็กทอรีการทำงานปัจจุบันเป็น ~/stuff จากนั้นรัน tar เนื่องจากเชลล์ย่อยตามมาด้วยการเปลี่ยนเส้นทางไปยังไพพ์ ผลลัพธ์ทั้งหมดของเชลล์ย่อยจะถูกส่งไปยังคำสั่งถัดไปในบรรทัด

    เช่นเดียวกับยูทิลิตี้ UNIX อื่นๆ tar สามารถเขียนไปยังเอาต์พุตมาตรฐาน (stdout) และอ่านจากอินพุตมาตรฐาน (stdin) ทั้ง stdout และ stdin มักจะแสดงด้วยยัติภังค์ (-) ดังนั้นคำสั่ง –create –file จะสร้างไฟล์เก็บถาวรบน stdout

    ช่อง (|) ถ่ายโอนผลลัพธ์ทั้งหมดของเชลล์ย่อยไปยังยูทิลิตี้ ssh ซึ่งในทางกลับกันจะถ่ายโอนข้อมูลที่จำเป็นทั้งหมดจากคอมพิวเตอร์ต้นทางไปยังคอมพิวเตอร์ระยะไกล

    ในที่สุด คอมพิวเตอร์ระยะไกลจะเรียกใช้ยูทิลิตี้ tar ของตัวเองเพื่อดึงข้อมูลจากไฟล์เก็บถาวร ตอนนี้ –แยก –file อ่านไฟล์เก็บถาวรจากอินพุตมาตรฐาน ตัวเลือก -C บังคับให้ tar บนเครื่องเป้าหมายเปลี่ยนไดเร็กทอรีการทำงานปัจจุบันเป็นไฟล์ต่างๆ ก่อนที่จะเริ่มดำเนินการคลายซิป ผลลัพธ์สุดท้ายของคำสั่งนี้โดยทั่วไปคือการถ่ายโอนไฟล์เก็บถาวรผ่าน ssh และแตกไฟล์ลงใน ~/stuff

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

$ ssh ปลายทาง cat archive.tgz | \ (cd ~/stuff; tar --extract --gunzip --file -)

ไฟล์เก็บถาวรบนเครื่องระยะไกลจะถูกเปิด จากนั้นสตรีมไบต์จาก cat จะถูกส่งไปยังเชลล์ที่ซ้อนกัน ซึ่งจะเปลี่ยนไดเร็กทอรีการทำงาน จากนั้นแตกไฟล์เก็บถาวร (การเพิ่ม -C ~/stuff ให้กับคำสั่ง tar จะให้ผลลัพธ์เดียวกัน ตัวอย่างนี้แสดงให้เห็นเพียงว่าเชลล์ย่อยสามารถจัดการอินพุตได้เช่นกัน)

น้ำมันดินไม่รวม

–ไม่รวมรูปแบบ (-Wไม่รวม=รูปแบบ) อย่าประมวลผลไฟล์หรือไดเร็กทอรีที่ตรงกับรูปแบบที่ระบุ โปรดทราบว่าข้อยกเว้นจะมีความสำคัญเหนือรูปแบบหรือชื่อไฟล์ที่ระบุในบรรทัดคำสั่ง

    ตัวอย่าง: เมื่อเก็บถาวร tar ให้แยกไดเรกทอรีย่อย .svn ออกจากไดเรกทอรีทดสอบ tar -czf test1.tar.gz --exclude=".svn" test/

    ตัวอย่าง: เมื่อเก็บถาวรไดเร็กทอรีปัจจุบันและบีบอัด ตัวอย่างการใช้ gzip และ gunzip ให้ยกเว้นไฟล์ที่มีนามสกุล .tar.gz .iso .deb .py $ tar -czf test.tar.gz *.* --exclude="*. tar.gz " --exclude="*.iso" --exclude="*.deb" --exclude="*.zip" --exclude="*.py"

tar พร้อมรักษาสิทธิ์การเข้าถึง

สร้างไฟล์เก็บถาวรโดยยังคงรักษาสิทธิ์การเข้าถึง Switch -p, –preserve-permissions, –same-permissions ดึงข้อมูลเกี่ยวกับสิทธิ์การเข้าถึงไฟล์ (ค่าเริ่มต้นสำหรับ superuser)

Tar -cvpf archive.tar.gz dir1

แตกไฟล์เก็บถาวรโดยยังคงรักษาสิทธิ์การเข้าถึง

ทาร์ -xvpf archive.tar.gz

tar แยกไปยังไดเร็กทอรีที่ต้องการ

หากต้องการแตกไฟล์เก็บถาวรลงในไดเร็กทอรีที่ต้องการ ให้ใช้ปุ่ม -C

# man tar ... -C directory ในโหมด c และ r สิ่งนี้จะเปลี่ยนไดเร็กทอรีก่อนที่จะเพิ่มไฟล์ต่อไปนี้ ในโหมด x ให้เปลี่ยนไดเร็กทอรีหลังจากเปิดไฟล์เก็บถาวร แต่ก่อนที่จะแยกรายการออกจากไฟล์เก็บถาวร -

ตัวอย่างเช่น ตัวอย่างได้รับการทดสอบสำหรับ FreeBSD:

# tar -xvf /usr/home/darkfire/backup.ns.server.254/usr/ports/distfiles.tar -C /usr/ports/

tar split แบ่งไฟล์เก็บถาวรออกเป็นหลายส่วน

แยก -b 1,000m distfiles.tar distfiles.split.tar

ส่งผลให้คุณจะได้ไฟล์จำนวนมากเช่น

Distfiles.split.taraa distfiles.split.tarab distfiles.split.tarai

100m หมายถึง 100 เมกะไบต์ คุณสามารถเขียนได้ 100k - มันจะเป็น 100 กิโลไบต์ คุณสามารถนำพวกมันกลับมารวมกันได้ดังนี้:

แมว distfiles.split.tar* | ทาร์ zxvf -

ทาร์- โปรแกรมเก็บถาวรที่ใช้กันมากที่สุดบนระบบ Linux tar นั้นไม่ใช่ผู้จัดเก็บตามความหมายปกติของคำนี้ เพราะว่า มันไม่ได้ใช้การบีบอัดเอง ในเวลาเดียวกันผู้จัดเก็บจำนวนมาก (เช่น Gzip หรือ bzip2) ไม่ทราบวิธีบีบอัดไฟล์หลายไฟล์ แต่ใช้งานได้กับไฟล์เดียวหรือสตรีมอินพุตเท่านั้น ดังนั้นโปรแกรมเหล่านี้ส่วนใหญ่มักจะใช้ร่วมกัน tar สร้างไฟล์เก็บถาวรที่ไม่มีการบีบอัดซึ่งประกอบด้วยไฟล์และไดเร็กทอรีที่เลือก ในขณะที่ยังคงรักษาคุณลักษณะบางอย่างไว้ (เช่น การอนุญาต) หลังจากนี้ ไฟล์ *.tar ที่ได้จะถูกบีบอัดด้วยโปรแกรมเก็บถาวร เช่น gzip นี่คือเหตุผลว่าทำไมไฟล์เก็บถาวรจึงมีนามสกุล .tar.gz หรือ .tar.bz2 (สำหรับผู้จัดเก็บ gzip และ bzip2 ตามลำดับ)

การใช้งาน

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

การสร้างที่เก็บถาวร

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

ทาร์ -cf txt.tar *.txt

คำสั่งนี้จะแพ็คไฟล์ทั้งหมดที่มีนามสกุล txt ลงในไฟล์เก็บถาวร txt.tar นี่คือวิธีการสร้างไฟล์เก็บถาวรแบบธรรมดาที่ไม่มีการบีบอัด หากต้องการใช้การบีบอัด คุณไม่จำเป็นต้องเรียกใช้สิ่งใดอีก คุณเพียงแค่ต้องบอก tar ว่าจะใช้ Archiver ใดในการบีบอัดข้อมูล สำหรับผู้จัดเก็บเอกสารยอดนิยมสองราย ได้แก่ gzip และ bzip2 คีย์จะเป็น -z และ -j ตามลำดับ

ทาร์ -cvzf files.tar.gz ~/files

จะแพ็คโฟลเดอร์ ~/files พร้อมเนื้อหาทั้งหมดลงในไฟล์เก็บถาวรที่บีบอัด gzip

Tar -cvjf files.tar.bz2 ~/files

จะสร้างไฟล์เก็บถาวรที่คล้ายกันโดยใช้ bzip2 สำหรับการบีบอัด

สวิตช์ -v ช่วยให้สามารถแสดงรายการไฟล์ที่แพ็กระหว่างการดำเนินการได้ น่าเสียดายที่การบ่งชี้ขั้นสูงเพิ่มเติมเกี่ยวกับความคืบหน้าของกระบวนการ (เช่น การระบุระดับความสำเร็จเป็นเปอร์เซ็นต์) ไม่ได้ระบุไว้ใน tar เมื่อต้องการทำเช่นนี้ ให้ใช้ตัวจัดเก็บแบบกราฟิก (เช่น Xarchiver) หรือใช้เครื่องมือจัดการไฟล์

นอกจาก gzip และ bzip2 แล้ว คุณสามารถใช้เช่น lzma (switch –lzma) หรือ xz (switch -J) และต้องติดตั้ง archiver ที่เกี่ยวข้องบนระบบ

กำลังคลายไฟล์เก็บถาวร

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

ทาร์ -xvf /path/to/archive.tar.bz2

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

Tar -xvf archive.tar.bz2 -C /path/to/folder

การดูเนื้อหาที่เก็บถาวร

หากต้องการดูเนื้อหาของไฟล์เก็บถาวรให้ใช้คำสั่งต่อไปนี้:

ทาร์ -tf archive.tar.gz

มันจะแสดงรายการไฟล์และไดเร็กทอรีอย่างง่ายในไฟล์เก็บถาวร หากคุณเพิ่มสวิตช์ -v รายการโดยละเอียดจะแสดงขนาด สิทธิ์การเข้าถึง และพารามิเตอร์อื่นๆ (เช่นเดียวกับ ls -l)

คุณสมบัติอื่นๆ

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

แมน ทาร์ ทาร์ --ช่วยด้วย

ในเนื้อหานี้ เราจะดูว่าคุณสามารถแตกไฟล์เก็บถาวร TAR ได้อย่างไร ไฟล์ที่คล้ายกันถูกสร้างขึ้นโดยใช้แพ็คเกจซอฟต์แวร์ที่พัฒนาขึ้นสำหรับแพลตฟอร์ม Unix

คำอธิบาย

ก่อนที่จะพิจารณาว่าจะแกะ TAR อย่างไร คุณควรทำความเข้าใจว่ารูปแบบนี้ได้รับการพัฒนาเพื่อวัตถุประสงค์ใด ไฟล์ประเภทนี้มีไฟล์เก็บถาวรทั่วไปที่ประกอบด้วยสื่อหลายประเภท TAR เป็นส่วนขยายทั่วไปในสภาพแวดล้อม Unix รูปแบบนี้ใช้สำหรับถ่ายโอนซอฟต์แวร์ต่างๆ บ่อยครั้งที่ TAR ใช้เพื่อสร้างไฟล์เก็บถาวรในระบบไฟล์ ไฟล์นี้เก็บข้อมูลทั้งหมดเกี่ยวกับวัสดุ รวมถึงโครงสร้างไดเร็กทอรีและการประทับเวลา ไฟล์ประเภทนี้หนึ่งไฟล์สามารถมีสื่อได้หลายรายการ แล้วจะแกะ TAR ได้อย่างไร? Windows เป็นระบบปฏิบัติการที่ผู้ใช้พีซีใช้บ่อยที่สุด เริ่มจากเธอกันก่อน

จะแตกไฟล์เก็บถาวรบน Windows ได้อย่างไร?

ตอนนี้เราจะดูที่แอปพลิเคชัน WinZip เครื่องมือนี้จะช่วยให้คุณสามารถแกะ TAR ได้ เรากำลังพูดถึงโปรแกรมเก็บไฟล์แชร์แวร์และคอมเพรสเซอร์ที่สร้างโดย Corel เครื่องมือนี้มีความสามารถมากมาย ช่วยให้คุณสามารถสร้าง ขยาย และแตกไฟล์เก็บถาวรได้ มีการนำการรวมแบบกำหนดเองเข้ากับสภาพแวดล้อม Microsoft Windows แล้ว รองรับคีย์ 128 และ 256 บิต คุณสามารถเบิร์นไฟล์เก็บถาวรลงดีวีดีหรือซีดีได้โดยตรง ดำเนินการสำรองข้อมูลอัตโนมัติ รองรับโปรโตคอล FTP สามารถส่งเอกสารสำคัญทางอีเมลได้ รองรับยูนิโค้ด

คุณยังสามารถโต้ตอบกับรูปแบบที่เราสนใจโดยใช้โปรแกรม 7-Zip เรากำลังพูดถึงโปรแกรมเก็บไฟล์ฟรีที่มีการบีบอัดข้อมูลในระดับสูง แอปพลิเคชั่นนี้ได้รับการพัฒนามาตั้งแต่ปี 1999 เครื่องมือนี้แจกฟรี แอปพลิเคชันนี้เป็นโอเพ่นซอร์ส โปรแกรมมีสองเวอร์ชัน อันแรกมีส่วนต่อประสานกราฟิก อันที่สองทำงานบนบรรทัดคำสั่ง แอปพลิเคชันมีเครื่องมือทดสอบประสิทธิภาพในตัว มีการนำอินเทอร์เฟซแบบกราฟิกหลายภาษามาใช้ซึ่งมีฟังก์ชันของตัวจัดการไฟล์แบบสองหน้าต่าง Unicode ได้รับการสนับสนุนสำหรับชื่อไฟล์ 7-Zip ใช้มัลติเธรด เมื่อทำการบีบอัดจะใช้ตัวกรองการปรับมาตรฐานแบบพิเศษ

แอพ Smith Micro StuffIt Deluxe ก็จะช่วยเราเช่นกัน เรากำลังพูดถึงเครื่องมือสำหรับการทำงานกับไฟล์เก็บถาวรต่างๆ โปรแกรมนี้ช่วยให้คุณสามารถเข้ารหัสข้อมูลและทำสำเนาสำรองได้ ไฟล์ที่เก็บถาวรสามารถป้องกันได้ด้วยรหัสผ่าน ในกรณีนี้ จะใช้การเข้ารหัสด้วยคีย์ 256- และ 512- บิต โปรแกรมสามารถเพิ่มข้อมูลที่ช่วยให้คุณสามารถกู้คืนไฟล์เก็บถาวรได้โดยอัตโนมัติ เพิ่มความสามารถในการดูไฟล์และโฟลเดอร์ที่บีบอัด มีตัวกำหนดเวลาในตัวรวมถึงการแชร์ไฟล์ผ่านอินเทอร์เน็ต

ระบบปฏิบัติการอื่นๆ

ตอนนี้เราจะดูวิธีการแยก TAR บน Mac OS แอพ Apple Archive Utility เหมาะสำหรับสิ่งนี้ คุณยังสามารถใช้โปรแกรม Incredible Bee Archiver ได้อีกด้วย บน Android คุณสามารถทำงานกับรูปแบบนี้ได้ แอปพลิเคชัน File Viewer สำหรับ Android เหมาะสำหรับสิ่งนี้ เรากำลังพูดถึงตัวจัดการไฟล์สากลที่รองรับมากกว่าร้อยรูปแบบ เนื้อหาสามารถจัดการหรือดูได้ สามารถแตกไฟล์เก็บถาวรในรูปแบบที่เราสนใจได้ คุณยังสามารถใช้โปรแกรม RarLab ได้ เครื่องมือ GNU Tar จะช่วยคุณคลายแพ็ก TAR บน Linux