ยูทิลิตี้ tar ที่แตกต่างกันจะทำงานแตกต่างกันในเรื่องนี้ดังนั้นจึงควรระวัง สำหรับไฟล์ tar ที่คุณไม่ได้สร้างให้แสดงรายการสารบัญทุกครั้งก่อนที่จะแตกไฟล์
Solaris tar :
ไฟล์ที่มีชื่อจะถูกแยกออกจาก tarfile และเขียนไปยังไดเรกทอรีที่ระบุใน tarfile เทียบกับไดเรกทอรีปัจจุบัน ใช้ชื่อพา ธ สัมพัทธ์ของไฟล์และไดเรกทอรีที่จะแยก
ชื่อพา ธ สัมบูรณ์ที่มีอยู่ในไฟล์เก็บถาวร tar จะถูกคลายแพ็กโดยใช้ชื่อพา ธ สัมบูรณ์นั่นคือสแลชนำหน้า (/) จะไม่ถูกแยกออก
ในกรณีของไฟล์ tar ที่มีชื่อพา ธ เต็ม (สัมบูรณ์) เช่น:
/tmp/real-file
/etc/sneaky-file-here
... หากคุณแยกไฟล์ดังกล่าวคุณจะท้ายด้วยไฟล์ทั้งสอง
tar GNU :
โดยค่าเริ่มต้น GNU tar จะลดการนำหน้า/
ลงในอินพุตหรือเอาต์พุตและบ่นเกี่ยวกับชื่อไฟล์ที่มี..
ส่วนประกอบ มีตัวเลือกที่จะปิดพฤติกรรมนี้:
--absolute-names
-P
ห้ามดึงเครื่องหมายทับจากชื่อไฟล์และอนุญาตให้ใช้ชื่อไฟล์ที่มี..
ส่วนประกอบของชื่อไฟล์
... ถ้าคุณแตกไฟล์ tar แบบเต็มเส้นทางโดยใช้ GNU tar โดยไม่ใช้-P
ตัวเลือกมันจะบอกคุณ:
tar: การลบส่วนนำ/
จากชื่อสมาชิก
และจะแตกไฟล์ลงในไดเรกทอรีย่อยของไดเรกทอรีปัจจุบันของคุณ
AIX tar :
พูดอะไรเกี่ยวกับมันและทำงานเป็น Solaris tar - มันจะสร้างและแยกไฟล์ tar ด้วยชื่อพา ธ เต็ม / สัมบูรณ์
HP-UX tar :
(ยินดีรับการอ้างอิงออนไลน์ได้ดีกว่า)
คำเตือน
ไม่มีวิธีในการกู้คืนชื่อพา ธ สัมบูรณ์ไปยังตำแหน่งสัมพัทธ์
tar OpenBSD :
-P
อย่าดึงเครื่องหมายทับ ( /
) จากชื่อพา ธ ค่าเริ่มต้นคือการตัดเครื่องหมายทับนำหน้า
นอกจากนี้-P
ตัวเลือกนำมาใช้สำหรับtar
บน MacOS, FreeBSD และ NetBSD เป็นอย่างดีกับความหมายเดียวกันด้วยนอกจากนี้ที่tar
บนFreeBSDและ MacOS จะ "ปฏิเสธที่จะดึงรายการเก็บที่มี pathnames ประกอบด้วย..
หรือมีเป้าหมายไดเรกทอรีจะมีการเปลี่ยนแปลงโดย symlink" -P
โดย
ดาว schilytools :
-/
อย่าดึงเครื่องหมายทับชั้นนำออกจากชื่อไฟล์เมื่อแตกไฟล์เก็บถาวร ไฟล์เก็บถาวร Tar ที่มีชื่อพา ธ สัมบูรณ์มักเป็นแนวคิดที่ไม่ดี ด้วยการใช้ tar อื่น ๆ พวกเขาอาจจะไม่ถูกแยกโดยไม่ต้องปิดกั้นไฟล์ที่มีอยู่ ติดดาวด้วยเหตุผลดังกล่าวตามค่าเริ่มต้นที่นำแถบเครื่องหมายทับจากชื่อไฟล์เมื่ออยู่ในโหมดแยก
-P
ตัวเลือกที่มีอิทธิพลต่อพฤติกรรมในเรื่องนี้