web-dev-qa-db-ja.com

「シンボリックリンクの作成に失敗しました:ファイルが存在します」エラーとは何ですか?

ホームディレクトリにデータパーティションのディレクトリとファイルへのシンボリックリンクを作成しようとしています。私はもう試した:

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

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フォルダーは空です。これは、システムの新規インストールです。

58
maria

これは古典的なエラーです...それは他の方法です:

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になります(つまり、拡張子はありません)。

44
Rmano

同じエラーメッセージがあります
リダイレクト時

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

これは予想どおりの動作です。

@Rmanoが answer で応答したため、引数の順序が間違っていました。私も同じ間違いを頻繁に犯しました。したがって、私は見つけた

シンボリックリンクを作成する簡単な方法

まず、リンクを作成するディレクトリに移動します

cd ~/Documents/saga

次に、単一引数でリンクを作成します。

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

これにより、ターゲットと同じ名前の現在のディレクトリへのリンクが作成されます。

16
MadMike

無関係かもしれません。
私にとってはリンクは切れていました。存在しないフォルダーを指している。置き換えようとすると、このメッセージで失敗します。 ^したがって、単純なrm linkNameで十分でした。

0
AdrianH

新しい情報を追加するために、現在のシンボリックリンクを削除してから、シンボリックリンクを再作成できます。

rm  ~/Documents/saga

次に、シンボリックリンクを再作成します。

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

これがまだ「ファイルが存在する」エラーに直面している人の助けになることを願っています.

0
Andre Suchitra