อะไรคือข้อได้เปรียบของ symlinks ผ่านการเชื่อมโยงอย่างหนักและ viceversa


10

ฉันเข้าใจความแตกต่างระหว่างลิงก์เชิงสัญลักษณ์และฮาร์ดลิงก์ แต่ฉันไม่เคยเข้าใจเลยว่าทำไมเลือกอย่างใดอย่างหนึ่ง


2
ดูคำตอบของ 'ลิงค์สัญลักษณ์และลิงก์ฮาร์ด' ต่างกันอย่างไร ใน StackOverflow: stackoverflow.com/questions/185899/…
pelms

คำตอบ:


10

สิ่งนี้ถูกกล่าวถึงในรายละเอียดบางอย่างใน ServerFault

ฮาร์ดลิงก์จะใช้โครงสร้างระบบไฟล์ร่วมกันแบบดั้งเดิม (inode in unixspeak) ในขณะที่ soft-link เป็นการเปลี่ยนเส้นทางพา ธ

  • ฮาร์ดลิงก์ต้องอยู่บนระบบไฟล์เดียวกันซอฟต์ลิงก์สามารถข้ามระบบไฟล์ได้
  • ไฟล์ Hardlinked จะยังคงเชื่อมโยงอยู่แม้ว่าคุณจะย้ายไฟล์ใดไฟล์หนึ่ง (ยกเว้นว่าคุณย้ายไฟล์หนึ่งไปยังระบบไฟล์อื่นที่ก่อให้เกิดกลไกการคัดลอกและลบ) ไฟล์ Softlinked แตกถ้าคุณย้ายเป้าหมาย (ดั้งเดิม) และบางครั้งเมื่อคุณย้ายลิงก์ (คุณใช้เส้นทางแบบสัมบูรณ์หรือเส้นทางสัมพัทธ์หรือไม่
  • ไฟล์ Hardlinked มีค่าเท่ากันในขณะที่ต้นฉบับมีความพิเศษในซอฟต์ลิงค์และการลบต้นฉบับจะเป็นการลบข้อมูล ข้อมูลจะไม่หายไปจนกว่าจะลบฮาร์ดลิงก์ทั้งหมด
  • Softlinks สามารถชี้ไปที่ใดเป้าหมาย แต่ส่วนใหญ่ OS / filesystems ไม่อนุญาต hardlinking ไดเรกทอรีเพื่อป้องกันไม่ให้วงจรในกราฟระบบแฟ้ม (ยกเว้นของ.และ..รายการในไดเรกทอรียูนิกซ์ซึ่งมีการเชื่อมโยงยาก)
  • ซอฟต์ลิงค์สามารถต้องการการสนับสนุนพิเศษจากเครื่องมือการเดินระบบไฟล์ อ่านข้อมูลเกี่ยวกับreadlink (2)

(รายละเอียดบางอย่างกลับมาสู่ความคิดโดยmat1tขอบคุณ)


10

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


1

symlink สามารถข้ามระบบไฟล์ฮาร์ดลิงก์ไม่สามารถทำได้ หากคุณลบไฟล์ต้นฉบับฮาร์ดลิงก์ยังคงใช้งานได้ symlink จะไม่ทำงาน


0

ฮาร์ดลิงก์เป็นหลักหมายถึงไฟล์อยู่ในสองที่มันสามารถมีสิทธิ์ที่แตกต่างกันคุณสามารถลบมันในที่ แต่ไม่ใช่อื่น ๆ

ซอฟต์ลิงค์เป็นเพียงตัวชี้ไปยังของจริง

ฮาร์ดลิงก์คือรายการไดเร็กทอรีสอง (หรือมากกว่า) ที่ชี้ไปที่ไฟล์เดียวกัน soft link คือรายการไดเร็กทอรีที่ชี้ไปยังรายการไดเร็กทอรีอื่น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.