คุณไม่มีชื่อลิงก์ควรเป็น:
cd ~
ln -s / root
ซึ่งจะสร้าง symlink ชื่อ root ในโฮมไดเร็กตอรี่ของคุณ ดังนั้นการใช้งานที่ถูกต้องคือ:
ln -s <target> <link-name>
ข้อความแสดงข้อผิดพลาดที่คุณเห็นคือ./มีอยู่เสมอและไม่สามารถสร้างลิงก์ด้วยชื่อนี้ได้ดีที่สุดคือการใช้lnคำสั่ง2กับพารามิเตอร์ทั้งสองเพื่อป้องกันการเชื่อมโยงที่ไม่ถูกต้อง
จากman ln:
สรุป
(1st form) ln [OPTION]... [-T] TARGET LINK_NAME
(2nd form) ln [OPTION]... TARGET
(3rd form) ln [OPTION]... TARGET... DIRECTORY
(4th form) ln [OPTION]... -t DIRECTORY TARGET...
รายละเอียด
ในรูปแบบที่ 1 สร้างการเชื่อมโยงที่จะมีชื่อTARGET LINK_NAMEในฟอร์มที่ 2 ให้สร้างลิงก์ไปยังTARGETในไดเรกทอรีปัจจุบัน ในครั้งที่ 3 และครั้งที่ 4 รูปแบบการสร้างการเชื่อมโยงถึงกันในTARGET DIRECTORYสร้างการเชื่อมโยงอย่างหนักโดยค่าเริ่มต้นการเชื่อมโยงสัญลักษณ์ด้วย --symbolicโดยค่าเริ่มต้นแต่ละปลายทาง (ชื่อของการเชื่อมโยงใหม่) ไม่ควรมีอยู่แล้ว 4 เมื่อสร้างฮาร์ดลิงก์แต่ละอันTARGETจะต้องมีอยู่ ลิงก์สัญลักษณ์สามารถเก็บข้อความโดยพลการ หากแก้ไขในภายหลังลิงก์ที่เกี่ยวข้องจะถูกตีความโดยสัมพันธ์กับไดเรกทอรีหลัก
อาร์กิวเมนต์ที่จำเป็นต้องมีสำหรับตัวเลือกแบบยาวนั้นจำเป็นสำหรับตัวเลือกแบบสั้นเช่นกัน
ตัวเลือก
พารามิเตอร์สุดท้าย<link-name>, ค่าเริ่มต้นเป็นส่วนสุดท้ายของเป้าหมาย ดังนั้นเมื่อเป้าหมายคือ/path/dirชื่อลิงค์จะเริ่มต้นdirหากไม่ได้ระบุ 1และถ้าคุณเช่นสร้าง~/etcด้วยmkdir ~/etcและจากนั้นเรียกใช้ln -s /etcใน~มันไม่สามารถสร้างลิงค์เพราะชื่อ / ไดเรกทอรีมีอยู่แล้ว 3
และคุณสามารถเห็นลิงค์ที่สร้างในโฮมไดเร็กตอรี่ของคุณ (นี่คือตัวอย่างแน่นอนว่าคุณมีอิสระที่จะตั้งชื่อสิ่งที่คุณต้องการ):
$ ls -l ~/root
lrwxrwxrwx 1 videonauth videonauth 1 Dez 14 00:28 root -> /
1 ขอบคุณ@thomasrutter ที่ชี้ให้เห็นว่า
2 ดูเพิ่มเติมman linkและman symlink
3 ขอบคุณ@steeldriver ที่ให้ตัวอย่างในความคิดเห็น
4 เน้นส่วนที่จะทำให้ข้อความเป็นประเด็นเนื่องจากเกี่ยวข้องกับคำถาม
cd /หรือไม่ หรือคุณต้องการสร้างลิงค์ที่จะวนซ้ำไปเรื่อย ๆ ? ตัวอย่าง:cd root/home/terrance/root/home/terrance/root/home/terrance/root. . . ฯลฯ