คู่มือนี้อธิบาย Symlink (Symbolic Link) คืออะไร ทำไมต้องใช้ และวิธีสร้าง/จัดการใน Linux
Symlink คืออะไร?
Symlink = Shortcut ใน Linux ชี้ไปยังไฟล์/โฟลเดอร์จริง (Target) ใช้ Inode แยกจากไฟล์ต้นฉบับ
- Soft Link (Symlink): ชี้ไปที่ path ของไฟล์ ตัดไฟล์ต้นฉบับ -> link ชำรุด
- Hard Link: ชี้ไปที่ Inode เดียวกัน ตัดไฟล์ต้นฉบับ -> link ยังใช้ได้ (ไม่ข้าม Filesystem ได้)
คำสั่งสร้าง Symlink
# ln -s <target> <link-name>
ตัวอย่าง
# ลดความยาว path ยาวๆ
ln -s /var/www/html/application/configuration/images/config.php /var/www/html/image-config.php
ตรวจสอบ Symlink
# ls -l /var/www/html/image-config.php
lrwxrwxrwx 1 user user 62 Jan 15 10:30 image-config.php -> /var/www/html/application/configuration/images/config.php
lนำหน้า = Symlink->แสดง target
คำสั่งที่เกี่ยวข้อง
| คำสั่ง | คำอธิบาย |
|---|---|
ln -s target link | สร้าง Symlink |
ln target link | สร้าง Hard Link (ไม่มี -s) |
readlink -f link | แสดง path จริงของ target (resolve ทุกชั้น) |
realpath link | แสดง absolute path ของ target |
find -L /path -type l | หา symlink ทั้งหมด (รวม broken) |
rm link | ลบ symlink (ไม่ลบ target) |
unlink link | ลบ symlink (รูปแบบเดิม) |
กรณีการใช้งานทั่วไป
- ลด path ยาว:
/var/www/html/config.php→/etc/app/config.php - จัดการเวอร์ชัน:
/usr/bin/python3→python3.11 - Shared directory:
/var/www/site1/storage→/shared/storage - Compatibility:
/usr/local/bin/node→/opt/node-v18/bin/node
ข้อควรระวัง
- ใช้ Absolute Path สำหรับ target (ปลอดภัยกว่า Relative path)
- Symlink ชำรุด (Broken link) = target ถูกลบ/ย้าย → ใช้
find -xtype lหาได้ - บางโปรแกรมไม่ติดตาม symlink (ต้องตั้งค่า follow symlinks)
Symlink เป็นเครื่องมือพื้นฐานที่ SysAdmin และ Developer ต้องเชี่ยวชาญ จะช่วยจัดการระบบให้ยืดหยุ่นและสะดวกมาก