ใช่. หากคุณดำเนินการln -s
คุณสร้างลิงค์สัญลักษณ์ซึ่งเป็นinodeชี้ไปที่วัตถุระบบไฟล์บางอย่างซึ่งเป็นสาเหตุที่ symlinks สามารถสำรวจระบบไฟล์และฮาร์ดลิงก์ไม่สามารถ: ฮาร์ดลิงก์ไม่มีไอโหนดของตัวเอง
หากคุณเมานต์ระบบไฟล์ด้วย--bind
คุณจะสร้างการเมานต์ที่สองสำหรับอุปกรณ์หรือระบบไฟล์
หากคุณมองเห็น symlink เป็นการเปลี่ยนเส้นทางให้มองเห็น--bind
ระบบไฟล์ที่เมาท์แล้วเช่นเดียวกับการสร้างเกตเวย์ไปยังข้อมูลอื่น
Symlinks และ bind mounts เป็น ballgame ที่แตกต่างกันโดยสิ้นเชิง
--bind
ภูเขาดูเหมือนว่าบิตที่แข็งแกร่งมากขึ้นกับผมและมันอาจจะเป็นบิตเร็วกว่าการทำงานกับลิงก์สัญลักษณ์ ในทางกลับกันไม่มีข้อเสียอย่างร้ายแรงในการใช้ symlink เนื่องจากประสิทธิภาพการทำงานจะน้อย (ถ้ามีอยู่ทั้งหมด)
แก้ไข : ฉันกำลังคิดเกี่ยวกับสิ่งนี้และการแสดงที่มีประสิทธิภาพอาจใหญ่กว่าที่ฉันคิดไว้เล็กน้อย หากคุณมีแอพพลิเคชั่นที่อ่านไฟล์ต่าง ๆ มากมายไฟล์ใหม่ทุกไฟล์ที่เปิดจะต้องอ่านเพิ่ม งานวิจัยบางคนนี่แสดงให้เห็นว่าสมมติฐานของฉันถูกต้องดังนั้นหากคุณมีโปรแกรมหนัก IO ทำงานมีพิจารณา--bind
ตัวเลือกในการแก้ปัญหาดังกล่าวข้างต้นติด symlink
สาเหตุที่ไม่ธรรมดาอาจเป็นความจริงที่ว่า symlink สามารถมองเห็นได้ในls
ขณะที่การเชื่อมโยง bind จะปรากฏเฉพาะเมื่อดู / proc / mounts หรือ / etc / mtab (ซึ่งเป็นสิ่งที่คำสั่ง mount ทำถ้าเป็น ดำเนินการโดยไม่มีพารามิเตอร์) นอกจากนั้นฉันไม่คิดว่าจะมีปัญหาใด ๆ ฉันจะสนใจถ้ามี
เพิ่มเติม : ปัญหาอีกประการหนึ่งln -s
คือสำหรับบางแอปพลิเคชันเมื่อเส้นทางถูกยกเลิกการลงทะเบียนอาจทำให้แอปพลิเคชันหยุดชะงักหาก "คาดว่า" บางรายการจะอยู่ในสถานที่เฉพาะ