ความแตกต่างระหว่างฮาร์ดลิงค์และซอฟท์ลิงค์

ผู้เขียน: Laura McKinney
วันที่สร้าง: 1 เมษายน 2021
วันที่อัปเดต: 1 พฤษภาคม 2024
Anonim
Soft vs Hard Delete Concept | Active Field in Odoo
วิดีโอ: Soft vs Hard Delete Concept | Active Field in Odoo

เนื้อหา


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

ฮาร์ดลิงก์จะลิงก์ไฟล์และไดเร็กทอรีในระบบไฟล์เดียวกัน แต่ Soft link สามารถข้ามขอบเขตระบบไฟล์

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

  1. แผนภูมิเปรียบเทียบ
  2. คำนิยาม
  3. ความแตกต่างที่สำคัญ
  4. ข้อสรุป

แผนภูมิเปรียบเทียบ

พื้นฐานสำหรับการเปรียบเทียบฮาร์ดลิงก์
ซอฟต์ลิงค์
ขั้นพื้นฐานไฟล์สามารถเข้าถึงได้ผ่านชื่อต่าง ๆ มากมายที่เรียกว่าฮาร์ดลิงก์ไฟล์สามารถเข้าถึงได้ผ่านการอ้างอิงที่แตกต่างกันซึ่งชี้ไปที่ไฟล์นั้นเป็นที่รู้จักในชื่อ soft link
การตรวจสอบความถูกต้องของลิงค์เมื่อไฟล์ต้นฉบับถูกลบยังคงใช้ได้และสามารถเข้าถึงไฟล์ได้
โมฆะ
คำสั่งที่ใช้สำหรับการสร้างLN
ln -s
หมายเลข inodeเหมือนกัน
ต่าง
สามารถเชื่อมโยง ไปยังพาร์ทิชันของตัวเองไปยังระบบไฟล์อื่น ๆ แม้ในเครือข่าย
การใช้หน่วยความจำน้อยกว่ามากกว่า
เส้นทางสัมพัทธ์ไม่สามารถใช้ได้ได้รับอนุญาต


นิยามของฮาร์ดลิงก์

ลิงก์ถาวร เชื่อมโยงสองไฟล์โดยตรงในระบบไฟล์เดียวกันและเพื่อระบุตัวตนจะใช้หมายเลข inode ของไฟล์ ฮาร์ดลิงก์ไม่สามารถนำไปใช้กับไดเรกทอรีได้ (เนื่องจากชี้ไปที่ไอโหนด) เมื่อ“LNคำสั่ง” ใช้ในการสร้างฮาร์ดลิงก์มันสร้างไฟล์อื่นบนบรรทัดคำสั่งซึ่งสามารถใช้เพื่ออ้างอิงไฟล์ต้นฉบับ ทั้งไฟล์ต้นฉบับและไฟล์ที่สร้างขึ้นมีไอโหนดและเนื้อหาเหมือนกัน ดังนั้นพวกเขาจะมีสิทธิ์เหมือนกันและเป็นเจ้าของเดียวกัน

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

นิยามของลิงค์ซอฟต์

ลิงค์อ่อน มักเป็นเส้นทางสำรอง (หรือนามแฝง) สำหรับไฟล์ต้นฉบับ สิ่งเหล่านี้เรียกว่า ลิงก์สัญลักษณ์. ประกอบด้วยชื่อของ "ไฟล์เป้าหมาย" ของลิงก์ซึ่งระบุว่าเป็นลิงก์อ่อน เมื่อเข้าถึงไฟล์ซอฟต์ลิงก์จะเปลี่ยนเส้นทางไปยังไฟล์เป้าหมายผ่านพา ธ ที่เขียนในหัวเรื่องของซอฟต์ลิงค์


สิ่งเหล่านี้มีประโยชน์มากในกรณีของ windows OS ที่ซอฟต์ลิงค์ทำงานเป็นทางลัด การสร้างและการลบซอฟต์ลิงค์ไม่มีผลกับไฟล์ต้นฉบับ หากไฟล์เป้าหมายถูกลบซอฟต์ลิงก์ dangles ซึ่งหมายความว่าชี้ไปที่ใดและสร้างข้อผิดพลาดเมื่อเข้าถึงไฟล์เป้าหมาย ซอฟต์ลิงค์ไม่ใช้หมายเลขไอโหนดเหมือนฮาร์ดลิงค์ เส้นทางแบบสัมบูรณ์หรือเส้นทางสัมพัทธ์อาจเป็นส่วนหนึ่งของลิงก์สัญลักษณ์

  1. ฮาร์ดลิงก์คือชื่อเพิ่มเติมของไฟล์ต้นฉบับซึ่งอ้างถึง inode เพื่อเข้าถึงไฟล์เป้าหมายในทางตรงกันข้ามซอฟต์ลิงค์จะแตกต่างจากไฟล์ต้นฉบับและเป็นชื่อแทนไฟล์ต้นฉบับ แต่ไม่ได้ใช้ไอโหนด
  2. เมื่อไฟล์ต้นฉบับถูกลบซอฟต์ลิ้งค์นั้นไม่ถูกต้องในขณะที่ฮาร์ลิงค์นั้นจะใช้ได้แม้ว่าไฟล์เป้าหมายจะถูกลบ
  3. ใน Linux คำสั่งที่ใช้ในการสร้างฮาร์ดลิงก์คือ“LN“ เทียบกับคำสั่งที่ใช้สำหรับลิงค์นุ่มคือ“ln -s“.
  4. ฮาร์ดลิงก์มีหมายเลขไอโหนดเหมือนกันกับซอฟต์ลิงค์ซึ่งไฟล์เป้าหมายและซอฟต์ลิงค์นั้นมีหมายเลขไอโหนดที่แตกต่างกัน
  5. ฮาร์ดลิงก์ถูก จำกัด ไว้ที่พาร์ติชันของตัวเอง แต่ซอฟต์ลิงก์สามารถครอบคลุมระบบไฟล์ที่แตกต่างกัน
  6. ประสิทธิภาพของฮาร์ดลิงค์ดีกว่าซอฟต์ลิงค์ในบางกรณี
  7. อนุญาตให้ใช้พา ธ สัมพัทธ์และพา ธ สัมบูรณ์ได้ในซอฟต์ลิงก์ ในทางตรงกันข้ามเส้นทางสัมพัทธ์ไม่ได้รับอนุญาตในฮาร์ดลิงก์

ข้อสรุป

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