Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ซอฟต์แวร์ >> ซอฟต์แวร์

สร้างลิงก์สัญลักษณ์ (Symlinks) ใน Linux – คำแนะนำที่เป็นประโยชน์ทีละขั้นตอน

Linux ไม่มีทางลัด แต่มี Symbolic Links – หรือ Symlinks ตามที่มักเรียกกัน แต่ลิงก์สัญลักษณ์คืออะไรกันแน่? และคุณจะสร้างมันขึ้นมาได้อย่างไร? มาดูกัน

เราจะลองใช้คำสั่งในการติดตั้ง Ubuntu แม้ว่าไวยากรณ์จะทำงานเหมือนกันบน Linux distros ทั้งหมด สิ่งที่น่าสนใจคือสามารถสร้างลิงก์สัญลักษณ์บน Mac PC ได้

ลิงก์สัญลักษณ์คืออะไร

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

ในระบบปฏิบัติการที่ใช้ GUI คุณจะแก้ไขปัญหานี้ได้โดยการสร้างทางลัด สำหรับระบบปฏิบัติการที่ใช้ CUI (เช่นเดียวกับ Linux distro) คำตอบคือ symlink แม้แต่ Microsoft Windows ก็สามารถใช้ประโยชน์จาก Symlink ได้ในบางสถานการณ์

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

นอกจากนี้ยังรวมถึงการอนุญาตด้วย การใช้ chmod เพื่อเปลี่ยนการอนุญาตของไฟล์ symlink จะแก้ไขการอนุญาตของไฟล์เป้าหมายจริงๆ

ประเภทของ Symlinks

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

สร้างลิงก์สัญลักษณ์ (Symlinks) ใน Linux – คำแนะนำที่เป็นประโยชน์ทีละขั้นตอน

อันดับแรก ฮาร์ดลิงก์เป็นเพียงชื่อไฟล์ที่ชี้ไปยังไอโหนดเดียวกัน แม้ว่าสิ่งนี้จะทำให้พวกมันมีประสิทธิภาพมากในแง่ของพื้นที่จัดเก็บและความเร็วในการเข้าถึง แต่ก็ยังจำกัดพวกมันไว้เฉพาะไฟล์ที่อยู่ในระบบไฟล์หรือพาร์ติชั่นเดียวกัน และเนื่องจากลักษณะเฉพาะของการเข้าถึงโฟลเดอร์ใน Linux คุณจึงไม่สามารถใช้ฮาร์ดลิงก์สำหรับไดเร็กทอรีได้เช่นกัน

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

ฮาร์ดลิงก์ VS ซอฟต์ลิงค์ – ประเภทไหนที่จะใช้?

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

บนกระดาษฮาร์ดลิงก์มีประสิทธิภาพมากกว่า เนื่องจากใช้ inode เดียวกัน จึงไม่ใช้พื้นที่ดิสก์เพิ่มเติมและสามารถเข้าถึงได้เร็วกว่าซอฟต์ลิงก์มาก นี่คือสาเหตุที่ผู้ดูแลระบบจำนวนมากแนะนำให้ใช้ฮาร์ดลิงก์ทุกครั้งที่ทำได้

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

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

ลิงก์สัญลักษณ์หรือลิงก์ไฟล์โดยทั่วไปจะถูกสร้างขึ้นโดยใช้คำสั่ง ln ตามค่าเริ่มต้น คำสั่งจะสร้างฮาร์ดลิงก์ หากต้องการสร้างลิงก์สัญลักษณ์ คุณต้องเพิ่มแฟล็ก -s ต่อท้ายคำสั่ง ln

ไวยากรณ์นั้นง่ายพอ คำสั่ง ln รับพารามิเตอร์สองตัว ได้แก่ เส้นทางของไฟล์ (หรือโฟลเดอร์) ที่จะเชื่อมโยง และเส้นทางของไฟล์ลิงก์ที่จะสร้าง

เช่นนี้:

ln -s ชื่อ user_names.txt

สร้างลิงก์สัญลักษณ์ (Symlinks) ใน Linux – คำแนะนำที่เป็นประโยชน์ทีละขั้นตอน

สิ่งนี้จะสร้าง symlink ที่เรียกว่าชื่อที่เชื่อมต่อกับไฟล์ข้อความ user_names หากต้องการดูว่าลิงก์สัญลักษณ์ถูกสร้างขึ้นจริงหรือไม่ เพียงใช้คำสั่ง ls

สร้างลิงก์สัญลักษณ์ (Symlinks) ใน Linux – คำแนะนำที่เป็นประโยชน์ทีละขั้นตอน

อย่างที่คุณเห็น Ubuntu จะแสดงสีที่แตกต่างกันสำหรับไฟล์ประเภทต่างๆ โดยมีไดเร็กทอรีที่แสดงด้วยสีน้ำเงินเข้มและลิงก์สัญลักษณ์ที่มีสีฟ้าอ่อนกว่า (จริง ๆ แล้วเป็นสีฟ้า)

เราสามารถใช้ไวยากรณ์เดียวกันเพื่อสร้างลิงก์สัญลักษณ์สำหรับโฟลเดอร์ได้เช่นกัน:

ln -s ตัวอย่าง example_folder

สร้างลิงก์สัญลักษณ์ (Symlinks) ใน Linux – คำแนะนำที่เป็นประโยชน์ทีละขั้นตอน

หากต้องการสร้างลิงก์สัญลักษณ์ไปยังไฟล์และโฟลเดอร์ในไดเร็กทอรีอื่น เพียงใช้พาธแบบเต็ม ตัวอย่างเช่น:

ln -s ตัวอย่าง/example3.txt Distance_example

สร้างลิงก์สัญลักษณ์ (Symlinks) ใน Linux – คำแนะนำที่เป็นประโยชน์ทีละขั้นตอน

ข้อจำกัดของ Symlinks

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

ขั้นแรก คำสั่ง ln ไม่ได้ตรวจสอบลิงก์ที่สร้างขึ้นจริงๆ ซึ่งหมายความว่าคุณสามารถป้อนชื่อไฟล์ที่ไม่มีอยู่จริงได้ และคุณจะไม่ได้รับข้อผิดพลาดใดๆ วิธีเดียวที่จะยืนยันลิงก์ได้คือลองใช้ลิงก์นั้นและดูว่าลิงก์ไปยังไฟล์ที่ถูกต้องหรือไม่

ประการที่สอง ในขณะที่การเข้าถึงหรือการเปลี่ยนแปลงการอนุญาตของ symlink จะเปลี่ยนคุณสมบัติของไฟล์ต้นฉบับ การลบไฟล์จะไม่เหมือนกัน คุณสามารถลบลิงก์สัญลักษณ์ได้อย่างปลอดภัยโดยไม่กระทบต่อไฟล์หรือไดเร็กทอรีที่ลิงก์

การสร้าง Symlinks ใน Linux

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

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