Apa itu kesalahan “gagal membuat tautan simbolis: file ada”?

60

Saya mencoba membuat symlink di direktori home saya ke direktori dan file di partisi data saya. Saya sudah mencoba:

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

untuk membuat symlink bernama sagadi Documentsdirektori saya di homefolder saya . Output terminal adalah:

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

Saya sedang memeriksa konten ~/Documentsdengan ls-a, tidak ada tapi .dan ... Secara umum homefolder saya kosong, hanya instalasi sistem baru.

Maria
sumber
Terima kasih. Sepertinya pertanyaan saya tidak terlalu berguna. Haruskah saya menghapusnya? Atau Anda mengonversi komentar Anda di balasan sehingga saya dapat menerimanya sebagai dipecahkan :)
maria
3
Pertanyaan Anda memiliki skor empat, begitu rupanya masyarakat memutuskan bahwa itu adalah berguna. Juga, bahkan jika Anda mencoba, Anda tidak akan dapat menghapus pertanyaan, karena ia memiliki jawaban dengan skor 1 atau lebih.
11684
Saya mendapat jawaban saya untuk pertanyaan ini dari sini (di forum ini): askubuntu.com/questions/379647/…
wayneeusa

Jawaban:

46

Ini adalah kesalahan klasik ... sebaliknya:

ln -s Existing-file New-name 

jadi dalam kasus Anda

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

harus bekerja. Perhatikan:

  1. jika ~/Documents/sagaada dan bukan direktori, Anda juga akan mengalami kesalahan;

  2. jika ~/Documents/sagaada dan merupakan direktori, tautan simboliknya adalah ~/Documents/saga/saga..doc(apakah Anda yakin tentang titik ganda?)

  3. jika ~/Documents/sagatidak ada, tautan simbolis Anda akan menjadi ~/Documents/saga(sebagaimana adanya, tidak ada ekstensi).

Rmano
sumber
12
Selalu ingat bahwa urutan parameter seperti dicp
Hagen von Eitzen
... seperti yang didiskusikan di sini pada Pengguna Super.
G-Man Mengatakan 'Reinstate Monica'
2
Mnemonik saya untuk ini adalah "apa di mana", mis., Tautkan ke mana, pindahkan ke mana ...
MicrosoftFree
1
Bahkan ada cp -s.
deltab
18

Saya memiliki pesan kesalahan yang sama
saat mengarahkan

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

dari node.js v0.10.25
ke node.js v4.2.3
jadi saya melihat man ln dan menggunakan

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

Ini bekerja seperti yang saya harapkan.

Alexander Glulkhovtsev
sumber
1
saya tidak benar-benar mendapatkan jawaban / poin Anda, apa keseluruhan skrip yang Anda gunakan? Saya pikir kita memiliki masalah yang sama
theArc
1
Saya pikir apa yang dia sarankan untuk menambahkan - memaksa ke perintah ln Anda di -sv ~ / Documents / saga /media/mariajulia/485f3e29-355c-4be3-b80a-1f5abd5604b6/mariajulia/Downloads/saga..doc --force
DropHit
Jadi itu akan menjadi ln -sf...
Pathros
16

Ketika @Rmano merespons dalam jawabannya , argumennya salah. Saya juga sering melakukan kesalahan yang sama. Jadi saya menemukan

Cara mudah-palsu untuk membuat tautan simbolik

Pertama masuk ke direktori tempat Anda ingin membuat tautan

cd ~/Documents/saga

Lalu buat tautan dengan satu argumen .

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

Ini akan membuat tautan ke direktori saat ini dengan nama yang sama dengan target.

MadMike
sumber
0

Mungkin tidak berhubungan.
Bagi saya tautannya sudah mati. Menunjuk ke folder yang tidak ada. Ketika mencoba menggantinya, itu akan gagal dengan pesan ini. ^ Jadi sederhana rm linkNamesudah cukup.

AdrianH
sumber
0

Hanya untuk menambahkan informasi baru, Anda dapat menghapus symlink saat ini, lalu membuat kembali symlink.

rm  ~/Documents/saga

Kemudian buat kembali symlink:

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

Semoga ini bisa membantu siapa saja yang masih menghadapi kesalahan 'file ada'.

Andre Suchitra
sumber