ฉันมีไดเรกทอรีที่มีลิงก์สัญลักษณ์ไปยังไดเรกทอรีอื่น ฉันต้องการเก็บถาวรลิงก์สัญลักษณ์ไม่ใช่ลิงก์ แต่เป็นไฟล์เก็บถาวรที่มีไฟล์ของไดเร็กทอรีที่อ้างถึงโดยใช้คำสั่ง tar ฉันจะทำสิ่งนี้ได้อย่างไร
ฉันมีไดเรกทอรีที่มีลิงก์สัญลักษณ์ไปยังไดเรกทอรีอื่น ฉันต้องการเก็บถาวรลิงก์สัญลักษณ์ไม่ใช่ลิงก์ แต่เป็นไฟล์เก็บถาวรที่มีไฟล์ของไดเร็กทอรีที่อ้างถึงโดยใช้คำสั่ง tar ฉันจะทำสิ่งนี้ได้อย่างไร
คำตอบ:
ใช้-h
ตัวเลือก tar จากหน้าคน:
-h, --dereference
don't archive symlinks; archive the files they point to
หากลิงก์อยู่ในไดเร็กทอรีรูทคุณสามารถให้เชลล์อ้างอิงถึงพวกเขาและส่งผ่านไปยัง tar เป็นอาร์กิวเมนต์ ตัวอย่างเช่นหากคุณมี / backup / source / a และ / backup / source / b ซึ่งทั้งคู่เป็น symlink ที่ชี้ไปยังไดเรกทอรีจริงสิ่งต่อไปนี้จะได้ผล
tar -cf /path/to/backup.tar /backup/source/*/
tar -cf /path/to/backup.tar /backup/source/a/
คนเดียวไม่ทำงานแม้กระทั่งเมื่อa
เป็น symlink
tar -hcf file.tar /sym1 /sym2
จะรันฉันจะได้รับ / backups สองครั้งหรือไม่