ฉันกำลังใช้tar -xvf
คำสั่งและกำลังใช้เส้นทางที่ชัดเจน อย่างไรก็ตามเส้นทางเต็ม
ตัวอย่าง:
tar -xvf 13.2.tar
มันกำลังนำเส้นทางของ/mnt
โฟลเดอร์ /
โฟลเดอร์เต็ม
ฉันจะ tar ไฟล์ด้วยเส้นทางโดยนัยได้อย่างไร
ฉันกำลังใช้tar -xvf
คำสั่งและกำลังใช้เส้นทางที่ชัดเจน อย่างไรก็ตามเส้นทางเต็ม
ตัวอย่าง:
tar -xvf 13.2.tar
มันกำลังนำเส้นทางของ/mnt
โฟลเดอร์ /
โฟลเดอร์เต็ม
ฉันจะ tar ไฟล์ด้วยเส้นทางโดยนัยได้อย่างไร
คำตอบ:
โดยปกติtar
ต้องการ--absolute-names
หรือ--absolute-paths
ตัวเลือกเพื่อรักษา'/'
ส่วนรากในขณะที่สร้างการเก็บถาวร แม้ว่าคุณจะบังคับให้ทำเช่นนั้นสารสกัดก็จะข้ามการนำ'/'
ด้วยเช่นกัน
อย่างไรก็ตามถ้าคุณมีไฟล์เก็บถาวรที่มีไฟล์นำหน้า'/'
และคุณไม่ข้ามมันในขณะที่แตกไฟล์คำตอบของ NoahD ควรทำงานในรูปแบบนี้
pax -r -s ',/mnt,/new/path,' -v -f 13.2.tar
ผมคิดว่าไม่ได้จัดการกับไฟล์บีบอัดเพื่อให้คุณจะต้องท่อหลังจากขยายเข้าไปในpax
นั่นจะเป็นเช่นนี้ (สมมติว่าคุณมีไฟล์เก็บถาวร gzipped)pax
gunzip -c 13.2.tar.gz | pax -r -s ',/mnt,/new/path,' -v
ฉันพบหน้าวิกินี้บน Google แล้ว
ความแตกต่างระหว่างการใช้ canonical (aka ชัดแจ้ง) และญาติ (สิ่งที่คุณอาจเรียกโดยนัย) คือว่าคุณใช้ a /
ที่จุดเริ่มต้น
ตัวอย่างเช่นหากไดเร็กทอรีการทำงานปัจจุบันคือ/usr/home/bob
คำสั่งต่อไปนี้มีผลเหมือนกันทุกประการ
tar -xvf foo.tar * tar -xvf ./foo.tar * tar -xvf ./foo.tar ./* tar -xvf /usr/home/bob/foo.tar * tar -xvf /usr/home/bob/foo.tar ./* tar -xvf /usr/home/bob/foo.tar / usr / home / bob / *
แต่ฉันสงสัยว่านี่ไม่ใช่คำถามของคุณ ดูเหมือนว่าคุณจำเป็นต้องกำหนดการใช้งานดิสก์และค้นหาไดเรกทอรีที่ไม่เต็ม สิ่งนี้สามารถทำได้ด้วยdf
คำสั่ง
df -k # space on disk in kilobytes
df -m # as above, but in meg
df -g # as above, but in gig
และคุณสามารถใช้mount
เพื่อแสดงให้คุณเห็นว่าระบบไฟล์ใดติดตั้งอยู่ที่อุปกรณ์ใด
ในการสร้างไฟล์ tar ที่มีเส้นทางสัมพันธ์
cd /parent/of/dir/to/tar
tar cvf subdir.tar subdir
หากต้องการคลาย tar ลงในไดเร็กทอรีเฉพาะที่ไม่ใช่ไดเร็กทอรีการทำงานปัจจุบันให้ใช้สวิตช์ -C (ตัวพิมพ์ใหญ่ C)
หากคุณต้องการปลดล็อคไฟล์ที่มีชื่อพา ธ สัมบูรณ์อยู่ในจุดอื่นนอกเหนือจากรูทคุณอาจต้องยุ่งเกี่ยวกับchroot(1)
ไฟล์
ฉันเชื่อว่าpaxจะทำเคล็ดลับ
pax -r -s, / mnt, / gooddir, -f 13.2.tar
ควรให้คุณแทนที่ในไดเรกทอรีรากใหม่