เมื่อใดที่ฉันควรใช้ฮาร์ดลิงก์เมื่อเทียบกับซอฟต์ลิงค์?


10

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

สิ่งที่ฉันสามารถรวบรวมได้มากที่สุดคือ:

  • ซอฟต์ลิงค์จะถูกใช้เป็นตัวชี้ไปยังไฟล์ / โฟลเดอร์เป้าหมาย
  • ฮาร์ดลิงก์จะถือว่าเสมือนว่าเป็นไฟล์ / โฟลเดอร์เป้าหมาย

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

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

คำตอบ:


6

เป็นไปได้ที่จะมีซอฟต์ลิงค์ห้อยเนื่องจาก softlink เป็นตัวชี้ไปยังไฟล์

มันเป็นไปไม่ได้เลยที่จะมีลิงก์ห้อยต่องแต่ง แต่ละไฟล์มีฮาร์ดลิงค์อย่างน้อยหนึ่งรายการเช่นไดเรกทอรีในระบบไฟล์ ดังนั้นหากคุณสร้างไฟล์และจากนั้นลิงก์ไปยังไฟล์นั้นและจากนั้นลบไฟล์ต้นฉบับฮาร์ดลิงก์จะไม่ได้รับผลกระทบ

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


ดังนั้นการตีความเชิงเปรียบเทียบที่เหมาะสมน่าจะเป็นว่าซอฟต์ลิงค์เป็นเพียงทางลัดของไฟล์ในขณะที่ฮาร์ดลิงก์เป็นสำเนาของไฟล์ที่ซิงโครไนซ์?
Iszi

จำไว้ว่าฮาร์ดลิงค์นั้นไม่ได้สร้างสำเนาข้อมูลเพิ่มเติมของไฟล์จริงๆ เป็นอีกหนึ่งรายการไดเรกทอรีทางกายภาพ ดังนั้นฮาร์ดลิงก์สองตัวไปยังไฟล์จะไม่เปลี่ยนพื้นที่ดิสก์ที่ใช้มากนัก
LawrenceC

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