ลินุกซ์มีเครื่องมือที่ยอมให้เราสร้างลิ้งค์ไปยังไฟล์ที่ต้องการเพื่อให้ง่ายต่อการเรียกใช้งานไฟล์จากที่ใดที่หนึ่งเรียกว่า symbolic link ตัวอย่างเช่น เรามักจะทำงานภายใต้ home ไดเร็คทอรี่ของเราแต่ต้องมีการเรียกใช้งานไฟล์จากอีกไดเร็คทอรี่นึงที่อยู่ภายใต้โครงสร้างไดเร็คทอรี่ที่ซับซ้อนเสียเหลือเกิน เช่น /aaa/bbb/ccc/ddd/eee/fff.txt แทนที่เราจะต้องไปยังไดเร็คทอรี่นั้นเพื่อเปิดไฟล์ เราสามารถเรียกใช้งานไฟล์นั้นได้โดยตรงจากไดเร็คทอรี่ของเราโดยการสร้าง symbolic link ไปยังไฟล์นั้น สิ่งที่เราจะเห็นจากการสร้าง symbolic link คือเราจะเห็นไฟล์ในชื่อที่เราสร้างในไดเร็คทอรี่ home ของเราแต่จริงๆแล้วเป็น file-like object และเมื่อเรียกไฟล์ดังกล่าวระบบจะเปิดไฟล์จริงๆที่เราทำลิ้งค์ไป เราสามารถทำ symbolic link ได้ 2 แบบคือ hard symbolic link และ soft symbolic link ข้อแตกต่างระหว่างการลิงค์ทั้ง 2 แบบคือ hard symbolic link จะชี้ไปยังตำแหน่งของพื้นที่ที่เก็บไฟล์ ส่วน soft symbolic link จะชี้ไปที่ชื่อไฟล์ ดังนั้นในกรณีที่เราทำลิงค์แบบ hard symbolic link แล้วเราลบไฟล์ต้นทางออกไปชื่อไฟล์ที่เป็นลิงค์ของเราจะยังคงใช้ได้เพราะมันชี้ไปที่พื้นที่ที่เก็บไฟล์ แต่ในกรณี soft symbolic link ถ้าเราลบไฟล์ต้นทางออกไปชื่อไฟล์ที่เป็นลิงค์ของเราจะใช้งานไม่ได้และถ้าดูด้วยคำสั่ง ls ชื่อไฟล์ที่เป็นลิงค์ของเราจะเป็นสีแดง การแก้ไขไฟล์โดยการเรียกลิงค์มีผลเหมือนกันในลิ้งค์ทั้ง 2 แบบ

คำสั่ง ln

     เป็นคำสั่งที่ใช้ในการสร้างลิงค์ โดยถ้าใช้ ln เฉยๆคือการสร้าง hard symbolic link และถ้าใช้ ln -s คือการสร้าง soft symbolic link รูปแบบการใช้งานคือ “ ln -s file1 file2 “ เป็นการสร้าง soft symbolic link ชื่อ file2 ให้ชี้ไปยัง file1 เราสามารถสร้างลิ้งค์ให้ชี้ไปที่ไฟล์ที่อยู่บนเครื่องอื่นได้ด้วย 

     ตัวอย่างด้านล่างแสดงการใช้ทั้ง hard symbolic link และ soft symbolic link และผลลัพธ์เมื่อเราลบไฟล์ต้นทางของทั้ง 2 แบบ เริ่มจากสร้างไฟล์ชื่อ original.txt โดยใช้คำสั่ง nano จากนั้นแสดงเนื้อหาในไฟล์โดยใช้คำสั่ง cat และแสดงไฟล์โดยใช้คำสั่ง ls จากนั้นสร้างลิ้งค์โดยใช้คำสั่ง ln ตามด้วยการลบไฟล์ต้นทางออกด้วยคำสั่ง rm จะเห็นว่าในกรณีของ soft symbolic link จะแสดงเป็นสีแดงหลังจากที่เราลบไฟล์ต้นทางไปแล้ว

ภาพแสดงการใช้ hard symbolic link และ soft symbolic link