ฮาร์ดลิงก์ใน Linux คืออะไร?

ฮาร์ดลิงก์คือไฟล์ที่ชี้ไปยังไอโหนดพื้นฐานเดียวกันกับไฟล์อื่น ในกรณีที่คุณลบไฟล์หนึ่งไฟล์ มันจะลบหนึ่งลิงก์ไปยังไอโหนดพื้นฐาน ในขณะที่ลิงก์สัญลักษณ์ (หรือที่เรียกว่าซอฟต์ลิงก์) เป็นลิงก์ไปยังชื่อไฟล์อื่นในระบบไฟล์

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

Soft Link และ Hard Link ใน Linux คืออะไร? ลิงก์สัญลักษณ์หรือซอฟต์ลิงก์คือลิงก์จริงไปยังไฟล์ต้นฉบับในขณะที่ฮาร์ดลิงก์คือสำเนามิเรอร์ของไฟล์ต้นฉบับ หากคุณลบไฟล์ต้นฉบับ ซอฟต์ลิงก์จะไม่มีค่า เนื่องจากชี้ไปที่ไฟล์ที่ไม่มีอยู่จริง

ฮาร์ดลิงก์คือ ลิงค์ที่เชื่อมโยงชื่อโดยตรงกับไฟล์ที่กำหนดในระบบปฏิบัติการ. ไม่เหมือนกับซอฟต์ลิงก์ซึ่งจะเปลี่ยนตัวชี้เมื่อเปลี่ยนชื่อไฟล์ ฮาร์ดลิงก์ยังคงชี้ไปที่ไฟล์พื้นฐานแม้ว่าชื่อไฟล์จะเปลี่ยนไป

หากคุณพบไฟล์สองไฟล์ที่มีคุณสมบัติเหมือนกันแต่ไม่แน่ใจว่ามีฮาร์ดลิงก์หรือไม่ ใช้คำสั่ง ls -i เพื่อดูหมายเลขไอโหนด. ไฟล์ที่ฮาร์ดลิงก์เข้าด้วยกันจะใช้หมายเลขไอโหนดเดียวกัน หมายเลขไอโหนดที่ใช้ร่วมกันคือ 2730074 หมายความว่าไฟล์เหล่านี้เป็นข้อมูลที่เหมือนกัน

ในการสร้างฮาร์ดลิงก์บนระบบ Linux หรือ Unix:

  1. สร้างฮาร์ดลิงก์ระหว่าง sfile1file และ link1file เรียกใช้: ln sfile1file link1file
  2. ในการสร้างลิงก์สัญลักษณ์แทนฮาร์ดลิงก์ ให้ใช้: ln -s source link
  3. ในการตรวจสอบซอฟต์ลิงก์หรือฮาร์ดลิงก์บน Linux ให้รัน: ls -l source link

สาเหตุที่ฮาร์ดลิงก์ไดเร็กทอรีคือ ไม่ได้รับอนุญาต เป็นเทคนิคเล็กน้อย โดยพื้นฐานแล้วจะทำลายโครงสร้างระบบไฟล์ โดยทั่วไป คุณไม่ควรใช้ฮาร์ดลิงก์ ลิงก์สัญลักษณ์อนุญาตการทำงานเดียวกันส่วนใหญ่โดยไม่ก่อให้เกิดปัญหา (เช่น ln -s target link )

คุณสามารถ ตรวจสอบว่าไฟล์เป็น symlink ที่มี [ -L file ] . ในทำนองเดียวกัน คุณสามารถทดสอบว่าไฟล์นั้นเป็นไฟล์ปกติที่มี [ -f file ] หรือไม่ แต่ในกรณีนั้น การตรวจสอบจะเสร็จสิ้นหลังจากแก้ไข symlink แล้ว ฮาร์ดลิงก์ไม่ใช่ไฟล์ประเภทหนึ่ง แต่เป็นชื่อที่แตกต่างกันสำหรับไฟล์ (ประเภทใดก็ได้)

A ฮาร์ดลิงก์ทำหน้าที่เป็นสำเนา (มิเรอร์) ของไฟล์ที่เลือก. หากไฟล์ที่เลือกไว้ก่อนหน้านี้ถูกลบ ฮาร์ดลิงก์ไปยังไฟล์จะยังมีข้อมูลของไฟล์นั้นอยู่ … ซอฟต์ลิงก์ : ซอฟต์ลิงก์ (หรือที่เรียกว่าลิงก์สัญลักษณ์) ทำหน้าที่เป็นตัวชี้หรือการอ้างอิงถึงชื่อไฟล์

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

ลิงค์ใน UNIX คือ ตัวชี้ไปยังไฟล์. เช่นเดียวกับพอยน์เตอร์ในภาษาการเขียนโปรแกรมใดๆ ลิงก์ใน UNIX คือพอยน์เตอร์ที่ชี้ไปยังไฟล์หรือไดเร็กทอรี การสร้างลิงก์เป็นทางลัดชนิดหนึ่งในการเข้าถึงไฟล์ ลิงก์อนุญาตให้ใช้ชื่อไฟล์มากกว่าหนึ่งชื่อเพื่ออ้างถึงไฟล์เดียวกันที่อื่น

ฮาร์ดลิงค์: รายการไดเรกทอรีซ้ำกันซึ่งทั้งคู่ชี้ไปที่ไอโหนดเดียวกันและไปยังไฟล์เดียวกัน. … Linux ไม่จำเป็นต้องอ่านและเขียนไฟล์ใหม่

ชอบโพสต์นี้? กรุณาแบ่งปันให้เพื่อนของคุณ:
ระบบปฏิบัติการวันนี้