0Pricing
Linux Command Line & Bash Scripting Mastery · บทเรียน

การสร้างลิงก์: ลิงก์ฮาร์ดและลิงก์สัญลักษณ์

อ้างอิงไฟล์เดียวจากหลายตำแหน่ง เรียนรู้ความแตกต่างระหว่างลิงก์ฮาร์ดกับลิงก์สัญลักษณ์ วิธีสร้างด้วย ln และเวลาที่ควรใช้แต่ละแบบ

การสร้างลิงก์: ลิงก์ฮาร์ดและลิงก์สัญลักษณ์ เป็นบทเรียน Linux Command Line & Bash Scripting Mastery ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Linux Command Line & Bash Scripting Mastery และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Linux Command Line & Bash Scripting Mastery มีบทเรียนทั้งหมด 4 บทเรียน

ลิงก์คืออะไร

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

ไอโหนด: ไฟล์จริง

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

การสร้างฮาร์ดลิงก์

ฮาร์ดลิงก์คือรายการไดเรกทอรีอีกรายการหนึ่งที่ชี้ไปยังไอโหนดเดียวกัน ใช้ ln โดยไม่ใส่แฟล็ก

ln original.txt copy.txt
# both names share the same data

การทำงานของฮาร์ดลิงก์

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

rm original.txt   # data still reachable via copy.txt

ข้อจำกัดของฮาร์ดลิงก์

ฮาร์ดลิงก์ข้ามระบบไฟล์ไม่ได้ และโดยทั่วไปไม่สามารถลิงก์ไดเรกทอรีได้ นอกจากนี้ยังไม่สามารถชี้ไปยังไฟล์บนดิสก์หรือพาร์ติชันอื่นได้

การสร้างลิงก์สัญลักษณ์

ซิมลิงก์คือไฟล์ขนาดเล็กที่เก็บพาธไปยังไฟล์อื่น สร้างด้วย ln -s

ln -s /var/www/site current
# current -> /var/www/site

การทำงานของซิมลิงก์

ซิมลิงก์ชี้ไปยังชื่อ ไม่ใช่ไอโหนด หากเป้าหมายถูกลบหรือย้าย ซิมลิงก์จะกลายเป็นลิงก์เสีย (ลิงก์ห้อย)

ls -l current
current -> /var/www/site

ซิมลิงก์ข้ามระบบไฟล์

ซิมลิงก์ต่างจากฮาร์ดลิงก์ตรงที่สามารถข้ามระบบไฟล์และชี้ไปยังไดเรกทอรีได้ จึงมักใช้กับสิ่งต่าง ๆ เช่น โฟลเดอร์รีลีสที่สลับหมุนเวียน

ตรวจดูลิงก์ด้วย ls

ls -l แสดงซิมลิงก์พร้อมลูกศรและประเภทไฟล์ l สำหรับฮาร์ดลิงก์ คอลัมน์จำนวนลิงก์จะแสดงจำนวนชื่อที่ใช้ไอโหนดร่วมกัน

ls -li
12345 -rw-r--r-- 2 user ...   # count 2 = hard linked

การลบลิงก์

ใช้ rm กับซิมลิงก์เพื่อลบลิงก์ ไม่ใช่เป้าหมาย โปรดระวัง: การเติมเครื่องหมายทับปิดท้ายซิมลิงก์ไปยังไดเรกทอรีอาจทำให้เกิดพฤติกรรมที่ไม่คาดคิด

rm current   # removes only the symlink

ควรใช้แบบไหนดี

ใช้ซิมลิงก์สำหรับทางลัด การอ้างอิงข้ามระบบไฟล์ และไดเรกทอรี (เป็นกรณีที่พบบ่อยที่สุด) ใช้ฮาร์ดลิงก์เมื่อต้องการให้หลายชื่อที่มีสถานะเท่าเทียมกันชี้ไปยังข้อมูลเดียวกันบนระบบไฟล์เดียวกัน

ตรวจสอบอย่างรวดเร็ว

ทดสอบความเข้าใจของคุณ

สรุปทบทวน

คุณได้เรียนรู้เกี่ยวกับลิงก์: ฮาร์ดลิงก์เพิ่มชื่อให้กับไอโหนดเดียวกัน (ต้องอยู่ในระบบไฟล์เดียวกัน ใช้กับไดเรกทอรีไม่ได้ และข้อมูลจะคงอยู่จนกว่าลิงก์สุดท้ายจะหายไป) ส่วนซิมลิงก์ (ln -s) จะเก็บพาธ สามารถข้ามระบบไฟล์และชี้ไปยังไดเรกทอรีได้ แต่ก็อาจเสียได้

คำถามที่พบบ่อย

บทเรียน “การสร้างลิงก์: ลิงก์ฮาร์ดและลิงก์สัญลักษณ์” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การสร้างลิงก์: ลิงก์ฮาร์ดและลิงก์สัญลักษณ์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Linux Command Line & Bash Scripting Mastery ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Linux Command Line & Bash Scripting Mastery มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การสร้างลิงก์: ลิงก์ฮาร์ดและลิงก์สัญลักษณ์”

อ้างอิงไฟล์เดียวจากหลายตำแหน่ง เรียนรู้ความแตกต่างระหว่างลิงก์ฮาร์ดกับลิงก์สัญลักษณ์ วิธีสร้างด้วย ln และเวลาที่ควรใช้แต่ละแบบ คุณปฏิบัติ Linux Command Line & Bash Scripting Mastery ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Linux Command Line & Bash Scripting Mastery หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Linux Command Line & Bash Scripting Mastery บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “การสร้างลิงก์: ลิงก์ฮาร์ดและลิงก์สัญลักษณ์” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Linux Command Line & Bash Scripting Mastery นี้ได้ไหม

ได้ บทเรียน Linux Command Line & Bash Scripting Mastery ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การดูเนื้อหาไฟล์ (cat, less, head, tail)
  2. ทำความเข้าใจสิทธิ์ไฟล์ (chmod, chown)
  3. การค้นหาไฟล์ (find, grep)
  4. การสร้างลิงก์: ลิงก์ฮาร์ดและลิงก์สัญลักษณ์
← กลับไปที่ Linux Command Line & Bash Scripting Mastery