ข้อผิดพลาด“ ล้มเหลวในการสร้างลิงก์สัญลักษณ์: ไฟล์มีอยู่” คืออะไร


60

ฉันพยายามสร้าง symlink ในโฮมไดเร็กตอรี่ของฉันไปยังไดเร็กตอรี่และไฟล์ในพาร์ติชั่นข้อมูลของฉัน. ฉันได้ลองแล้ว:

~/Documents$ ln -sv ~/Documents/saga /media/mariajulia/485f3e29-355c-4be3-b80a-1f5abd5604b6/mariajulia/Downloads/saga..doc

เพื่อสร้าง symlink ชื่อsagaในDocumentsไดเรกทอรีของฉันในhomeโฟลเดอร์ของฉัน ขั้วเอาท์พุทคือ:

ln: failed to create symbolic link ‘/media/mariajulia/485f3e29-355c-4be3-b80a-1f5abd5604b6/mariajulia/Downloads/saga..doc’: File exists

ฉันถูกตรวจสอบเนื้อหาของ~/Documentsกับคำสั่ง ls -a มีอะไร แต่และ. ..โดยทั่วไปhomeโฟลเดอร์ของฉันว่างเปล่ามันเป็นเพียงการติดตั้งระบบใหม่


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

3
คำถามของคุณมีคะแนนถึงสี่ดังนั้นชุมชนจึงเห็นว่าเป็นประโยชน์ นอกจากนี้แม้ว่าคุณพยายามแล้วคุณจะไม่สามารถลบคำถามได้เนื่องจากมีคำตอบด้วยคะแนน 1 หรือมากกว่า
11684

ฉันได้รับคำตอบสำหรับคำถามนี้จากที่นี่ (บนฟอรัมนี้): askubuntu.com/questions/379647/…
wayneeusa

คำตอบ:


46

นี่เป็นข้อผิดพลาดแบบคลาสสิก ... เป็นอีกวิธีหนึ่ง:

ln -s Existing-file New-name 

ดังนั้นในกรณีของคุณ

ln -sv /media/mariajulia/485f3e29-355c-4be3-b80a-1f5abd5604b6/mariajulia/Downloads/saga..doc ~/Documents/saga 

ควรทำงาน. ทราบว่า:

  1. หาก~/Documents/sagaมีอยู่และไม่ใช่ไดเรกทอรีคุณจะมีข้อผิดพลาดเช่นกัน

  2. หาก~/Documents/sagaมีอยู่และเป็นไดเรกทอรีลิงก์สัญลักษณ์จะเป็น~/Documents/saga/saga..doc(คุณแน่ใจเกี่ยวกับจุดสองจุดหรือไม่)

  3. หาก~/Documents/sagaไม่มีอยู่ลิงค์สัญลักษณ์ของคุณจะเป็น~/Documents/saga(เหมือนเดิมไม่มีส่วนขยาย)


12
โปรดจำไว้เสมอว่าลำดับพารามิเตอร์เป็นในcp
Hagen von Eitzen

... ตามที่กล่าวไว้ที่นี่ใน Super User
G-Man

2
ช่วยในการจำของฉันนี้คือ "อะไรที่" เช่นเชื่อมโยงสิ่งที่ย้ายสิ่งที่ ...
Microsoft ฟรี

1
cp -sมีแม้กระทั่ง
deltab

18

ฉันมีข้อความแสดงข้อผิดพลาดเดียวกัน
เมื่อเปลี่ยนเส้นทาง

ln -s /usr/bin/nodejs /usr/bin/node

จาก node.js v0.10.25
ถึง node.js v4.2.3
ดังนั้นฉันดูman ln และใช้

[OPTION] 
-f, --force
          remove existing destination files

นี่เป็นงานที่ฉันคาดไว้


1
ฉันไม่ได้รับคำตอบ / ประเด็นของคุณจริง ๆ แล้วคุณใช้สคริปต์อะไรทั้งหมด? ฉันคิดว่าเรามีปัญหาเดียวกัน
theArc

1
ฉันคิดว่าสิ่งที่เขาแนะนำให้เพิ่ม --force ให้กับคำสั่ง ln ของคุณ ln -sv ~ / Documents / saga /media/mariajulia/485f3e29-355c-4be3-b80a-1f5abd5604b6/mariajulia/Downloads/saga..doc - แรง
DropHit

นั่นก็คือln -sf...
Pathros

16

ในฐานะที่เป็น @Rmano ตอบในของเขาคำตอบข้อโต้แย้งอยู่ในคำสั่งที่ไม่ถูกต้อง ฉันทำผิดพลาดบ่อยครั้งเหมือนกัน ดังนั้นฉันจึงพบ

วิธีการพิสูจน์คนโง่ในการสร้างลิงก์สัญลักษณ์

ก่อนอื่นให้เข้าไปในไดเรกทอรีที่คุณต้องการสร้างลิงค์

cd ~/Documents/saga

แล้วสร้างการเชื่อมโยงที่มีอาร์กิวเมนต์เดียว

ln -s /very/long/path/to/target/Downloads/saga..doc

สิ่งนี้จะสร้างลิงค์ไปยังไดเรกทอรีปัจจุบันที่มีชื่อเดียวกับเป้าหมาย


0

อาจไม่เกี่ยวข้อง
สำหรับฉันลิงค์นั้นตายแล้ว ชี้ไปที่โฟลเดอร์ที่ไม่มีอยู่ เมื่อพยายามแทนที่มันจะล้มเหลวด้วยข้อความนี้ ^ ง่าย ๆrm linkNameก็เพียงพอแล้ว


0

เพียงเพิ่มข้อมูลใหม่คุณสามารถลบ symlink ปัจจุบันจากนั้นสร้าง symlink ใหม่

rm  ~/Documents/saga

จากนั้นสร้าง symlink ใหม่:

ln -sv /media/mariajulia/485f3e29-355c-4be3-b80a-1f5abd5604b6/mariajulia/Downloads/saga..doc ~/Documents/saga

หวังว่านี่จะช่วยให้ทุกคนที่ยังคงมีข้อผิดพลาด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.