เชื่อมโยง - เรียกอีกอย่างว่าลิงก์สัญลักษณ์หรือซอฟต์ลิงก์ - อาจเป็นหนึ่งในแนวคิดที่ซ่อนเร้นที่สุดสำหรับผู้ใช้คอมพิวเตอร์ อย่างไรก็ตาม นั่นไม่ได้ทำให้ความสำคัญและประโยชน์ที่ได้รับหายไป แล้วการเข้าถึงโฟลเดอร์และไฟล์จากโฟลเดอร์ต่าง ๆ โดยไม่ทำสำเนาที่ซ้ำกันล่ะ? ใช่ นั่นคือพลังของ Symlink .
Symlink หรือ Symbolic Link คืออะไร
Symlink เป็นไฟล์ช็อตคัทที่อ้างถึงไฟล์จริงหรือโฟลเดอร์ที่อยู่ที่อื่น Symlinks ทำหน้าที่เป็นไฟล์หรือโฟลเดอร์เสมือน ซึ่งสามารถใช้เพื่อเชื่อมโยงกับแต่ละไฟล์หรือโฟลเดอร์ ทำให้ปรากฏราวกับว่าถูกเก็บไว้ในโฟลเดอร์ที่มี Symlinks แม้ว่า Symlinks จะชี้ไปยังตำแหน่งจริงเท่านั้น
อย่าสับสนว่า Symlink เป็นเพียงทางลัด
สิ่งสำคัญคือต้องเข้าใจว่า Symlinks เป็นมากกว่าทางลัดที่คุณรู้จักอยู่แล้วในฐานะผู้ใช้ Windows ไฟล์ทางลัดชี้ไปที่ไฟล์ที่ต้องการในขณะที่ Symlink จะทำให้ดูเหมือนไฟล์ที่เชื่อมโยงอยู่ที่นั่นจริงๆ เมื่อคุณคลิกที่ Symlink คุณจะถูกนำไปยังตำแหน่งไฟล์จริง
โครงสร้างของ Symlink
Symlink คือการสร้างสตริงข้อความที่ตีความโดยอัตโนมัติและตามด้วยระบบปฏิบัติการเป็นพาธไปยังไฟล์หรือไดเร็กทอรีอื่น ไฟล์หรือไดเรกทอรีอื่นนี้เรียกว่า “เป้าหมาย “.
Symlink มีอิสระจากเป้าหมาย หาก Symlink ถูกลบ เป้าหมายของ Symlink จะไม่ได้รับผลกระทบ หาก Symlink ชี้ไปที่เป้าหมาย และบางครั้งเป้าหมายนั้นถูกย้าย เปลี่ยนชื่อหรือลบ ลิงก์สัญลักษณ์จะไม่อัปเดตหรือลบโดยอัตโนมัติ แต่ยังคงมีอยู่และยังคงชี้ไปที่เป้าหมายเดิม อย่างไรก็ตาม Symlink ดังกล่าวที่ชี้ไปยังเป้าหมายที่ย้ายหรือไม่มีอยู่ บางครั้งเรียกว่าเสีย กำพร้า ตาย หรือห้อยต่องแต่ง
ประโยชน์ของซิมลิงค์
- Symlinks ใช้พื้นที่น้อยมากและสร้างได้เร็วมาก คุณประหยัดพื้นที่ฮาร์ดดิสก์ได้มากด้วย Symlinks
- ตรงกันข้ามกับฮาร์ดลิงก์ ลิงก์ซิมลิงก์สามารถลิงก์ไปยังไฟล์ข้ามระบบไฟล์ได้ จำไว้ว่า หากคุณลบไฟล์ต้นฉบับ ฮาร์ดลิงก์จะยังคงมีชีวิตอยู่ Symlink จะไม่ทำ
- Symlinks รักษาโครงสร้างโฟลเดอร์ที่มี Symlinks อยู่ ตัวอย่างเช่น สมมติว่ามี txt ไฟล์อยู่ใน “ยูทิลิตี้” โฟลเดอร์ซึ่งอยู่ที่ /D/Myfolder/Utility/windowsclub.txt . ตอนนี้ถ้า Symlink สำหรับ ยูทิลิตี้ โฟลเดอร์ถูกสร้างขึ้นในโฟลเดอร์ Dropbox และคุณไปค้นหา windowsclub.txt ภายในโฟลเดอร์ Dropbox เส้นทางของไฟล์จะอ่านว่า /D/Myfolder/Utility/windowsclub.txt แทนที่จะแปลงกลับไปเป็นเส้นทางไฟล์เดิม/จริง
- การใช้ Symlinks คุณสามารถจัดเก็บไฟล์สื่อของคุณ เพลง/วิดีโอในฮาร์ดไดรฟ์อื่น แต่ทำให้พวกเขาปรากฏในโฟลเดอร์เพลง/วิดีโอมาตรฐานของคุณ ดังนั้นพวกเขาจะตรวจพบโดยโปรแกรมสื่อของคุณ
- นักพัฒนามักจะแทนที่สำเนาของไฟล์/โฟลเดอร์ที่แชร์ซ้ำกันด้วยลิงก์สัญลักษณ์ที่อ้างอิงถึงไฟล์/โฟลเดอร์ที่มีอยู่จริง การแทนที่สำเนาไฟล์ที่ซ้ำซ้อนสามารถประหยัดพื้นที่ดิสก์จริงได้มาก และลดเวลาที่ใช้ในการคัดลอก/สำรอง/ปรับใช้/โคลนโปรเจ็กต์ได้อย่างมาก
ความสำคัญของ Symlinks ในโลกของการพัฒนาในปัจจุบัน
ตามที่ Yosef Durr หัวหน้าผู้จัดการโครงการอาวุโสของ Microsoft กล่าวถึงในบล็อกของ Windows
เครื่องมือพัฒนายอดนิยมมากมาย เช่น git และตัวจัดการแพ็คเกจ เช่น npm รู้จักและคง symlink เมื่อสร้าง repos หรือแพ็คเกจ ตามลำดับ เมื่อ repos หรือแพ็คเกจเหล่านั้นถูกกู้คืนที่อื่น symlink จะถูกกู้คืนด้วย เพื่อให้แน่ใจว่าพื้นที่ดิสก์ (และเวลาของผู้ใช้) จะไม่สูญเปล่า ตัวอย่างเช่น Git ร่วมกับไซต์อย่าง GitHub ได้กลายเป็นเครื่องมือจัดการโค้ดต้นทางหลักที่นักพัฒนาส่วนใหญ่ใช้ในปัจจุบัน
การใช้ตัวจัดการแพ็คเกจในการพัฒนาที่ทันสมัยก็มีการระเบิดเช่นกันในช่วงไม่กี่ปีที่ผ่านมา ตัวอย่างเช่น ตัวจัดการแพ็คเกจโหนด (npm) ให้บริการการติดตั้งประมาณ 400 ล้านครั้งในสัปดาห์ที่ 1 กรกฎาคม 2015 แต่ให้บริการการติดตั้งมากกว่า 1.2 พันล้านครั้งในอีกหนึ่งปีต่อมา - เพิ่มขึ้น 3 เท่าในเวลาเพียงหนึ่งปี! ปลายเดือนมิถุนายน 2559 npm ให้บริการแพ็คเกจโหนดมากกว่า 1.7 พันล้านในเวลาเพียงเจ็ดวัน!
Symlinks ใน Windows 11/10
แม้ว่า Symlinks จะมีข้อดีที่แตกต่างกันออกไป แต่ระบบนี้มักถูกใช้งานโดยระบบปฏิบัติการที่เข้ากันได้กับ UNIX เช่น Linux, FreeBSD, OSX เป็นต้น ซึ่งสามารถสร้าง symlink ได้โดยไม่มีข้อจำกัด สำหรับผู้ใช้ Windows แม้ว่า Symlinks จะพร้อมใช้งานตั้งแต่ Windows Vista แต่การสร้างก็ยากและน่าเบื่อ
เนื่องจากข้อกำหนดด้านความปลอดภัยของ Windows Vista ผู้ใช้จึงจำเป็นต้องมีสิทธิ์ของผู้ดูแลระบบในพื้นที่ และที่สำคัญต้องเรียกใช้ mlink ในคอนโซลบรรทัดคำสั่งที่ยกระดับเป็นผู้ดูแลระบบเพื่อสร้าง/แก้ไข Symlinks ข้อจำกัดหลังนี้ส่งผลให้นักพัฒนา Windows ส่วนใหญ่ใช้ Symlinks ไม่บ่อยนัก และทำให้เครื่องมือพัฒนาข้ามแพลตฟอร์มที่ทันสมัยจำนวนมากทำงานได้อย่างมีประสิทธิภาพน้อยลงและเชื่อถือได้บน Windows
อย่างไรก็ตาม ตอนนี้ใน Windows 10 หรือ Windows 11 เมื่อผู้ใช้ที่มีสิทธิ์ของผู้ดูแลระบบเปิดใช้งานโหมดนักพัฒนาซอฟต์แวร์ ใครก็ตามบนพีซีก็สามารถเรียกใช้ mklink คำสั่งโดยไม่ต้องยกคอนโซลบรรทัดคำสั่ง
สร้าง Symlinks ได้อย่างไร
สามารถสร้าง Symlink ได้โดยใช้ คำสั่ง mklink หรือ CreateSymbolicLink API .
คุณสามารถสร้าง Symlinks หรือ Symbolic Links ใน Windows โดยใช้ยูทิลิตี้บรรทัดคำสั่ง:mklink ไวยากรณ์มีดังนี้:
MKLINK [[ /D] | [ /H] | [ /J]] Link Target
ที่ไหน –
- /D:สร้างลิงก์ไดเรกทอรีสัญลักษณ์หรือซอฟต์ลิงก์
- /H:สร้างฮาร์ดลิงก์ไปยังไฟล์แทนลิงก์สัญลักษณ์
- /J:สร้างลิงก์ Directory Junction
เป้าหมาย:ระบุเส้นทางที่ลิงก์ใหม่อ้างถึง
ตัวอย่างเช่น ถ้าคุณต้องการให้ d:\Data พร้อมใช้งานจากโฟลเดอร์ D:\Maindata use:
C:\mklink /D D:\Maindata D:\Data
ตอนนี้ ถ้าคุณดูใน D:\Maindata คุณจะเห็นไฟล์ใดก็ตามที่อยู่ในไดเร็กทอรีอื่น มีอยู่ใน Linux มาตลอด แต่ฟีเจอร์นี้ก็มีให้ใช้งานใน Vista ด้วยเช่นกัน
การใช้คำสั่ง mklink
ขณะใช้ คำสั่ง mklink , ใช้ไวยากรณ์ด้านล่าง:
“mklink /prefix link_path file/folder_path”
หมายเหตุ:mklink สามารถสร้างลิงค์ได้หลายประเภท ด้านล่างนี้คือประเภท-
- /D สร้างลิงก์สัญลักษณ์ไดเรกทอรี ค่าเริ่มต้นคือลิงก์สัญลักษณ์ของไฟล์
- /H สร้างฮาร์ดลิงก์แทนลิงก์สัญลักษณ์
- /J สร้างไดเร็กทอรีจังก์ชัน
ตัวอย่างเช่น ฉันสร้างไดเร็กทอรีจังก์ชันของโฟลเดอร์ Music ของฉันไปที่เดสก์ท็อป ดูภาพหน้าจอด้านล่าง -
ดังนั้นเมื่อฉันคลิกที่ Symlink ดูเหมือนว่าไฟล์เพลงของฉันจะถูกจัดเก็บไว้ใน C:\Users\
โปรดจำไว้ว่า หากเส้นทางของคุณมีช่องว่าง คุณต้องใส่เครื่องหมายคำพูดรอบๆ
การใช้ CreateSymbolicLink
ในการเปิดใช้งานลักษณะการทำงานใหม่เมื่อใช้ CreateSymbolicLink API มี dwFlags เพิ่มเติม ตัวเลือกที่คุณจะต้องตั้งค่าเป็น:
SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE
0x2
ดังนั้น เมื่อเลือกค่าข้างต้น แสดงว่าคุณได้ระบุแฟล็กเพื่อให้สร้างลิงก์สัญลักษณ์เมื่อไม่ได้ยกระดับกระบวนการ
หากต้องการอ่านเพิ่มเติมเกี่ยวกับวิธีสร้าง Symlink โดยใช้ CreateSymbolicLink API ไปที่ windows.com
อ่าน :สร้าง Hardlinks, Symbolic Links, Junctions, Volume Mountpoints
บทสรุป
อาจกล่าวได้ว่า Symlinks มีประโยชน์มากกว่าทางลัดเพียงอย่างเดียว แต่สร้างยากสักหน่อย ผู้ใช้พีซีโดยเฉลี่ยอาจยังพบว่าการสร้างขึ้นมาใหม่นั้นค่อนข้างน่ากลัว ยิ่งไปกว่านั้น แม้แต่ในปัจจุบัน ผู้ใช้จำนวนมากยังไม่เข้าใจแนวคิดของทางลัดเป็นอย่างดี ดังนั้นจึงอาจมีปัญหาในการแยกแยะ Symlinks และทำความเข้าใจการใช้งาน
พูดได้เลยว่าแทบจะรับประกันได้เลยว่าคุณจะเปลี่ยนการตั้งค่าอะไรก็ได้ง่ายๆ เพื่อให้โปรแกรมชี้ไปที่ไดเร็กทอรีที่ถูกต้อง และคุณไม่ได้สร้าง Symlink จริงๆ แต่รู้วิธีตั้งค่าและใช้งาน Symlink ที่ดีมีประโยชน์จริง ๆ