これを私に説明できますか#ln -s:「ターゲットはディレクトリではありません」?


12

私はこれをやっています:

sudo ln s /etc/apache2/sites-available/LoginProject /etc/apache2/sites-enabled/LoginProject

そして私は得る:

ln: target `/etc/apache2/sites-enabled/LoginProject' is not a directory

/ etc / apache2 / sites-available / LoginProjectファイルです

編集:

このコマンド:

ls -l /etc/apache2/sites-enabled/LoginProject /etc/apache2/sites-available/LoginProject

出力:

ls: cannot access /etc/apache2/sites-enabled/LoginProject: No such file or directory
-rw-r--r-- 1 root root 526 2011-09-27 18:40 /etc/apache2/sites-available/LoginProject

編集2:

$ls /etc/apache2/sites-available/
default  default-ssl  LoginProject
$

$ls /etc/apache2/sites-enabled/
$

1
ls -l /etc/apache2/sites-enabled/LoginProject /etc/apache2/sites-available/LoginProject出力を追加できますか?
ベルミンフェルナンデス2011

確かに、そこに追加しました
fceruti

ここに到着してこのエラーを探しているが、上記の解決策が機能しない場合は...ディレクトリをシンボリックリンクしている場合は、ターゲットまたは名前の末尾にスラッシュがないことを確認してください。
Sherri

回答:


4

試してください: sudo a2ensite LoginProject

あなたもできる sudo ln –s /etc/apache2/sites-available/LoginProject /etc/apache2/sites-enabled/


ファイルは次のとおりです
。/

申し訳ありませんが間違っていたこと、編集を参照してください
xofer

ありがとう!a2ensite LoginProjectが機能しました!他のコマンドは試しませんでした。それはまだ非常に奇妙です...私は本当にそれを取得しません
fceruti

通常、lnは2つのファイルパスを受け入れ、3つ以上の場合、ターゲットはディレクトリでなければなりません。なぜそれがこのようにあなたのパラメーターを数えるのか私はまだ疑問に思っています!!!
SparX 2011

26

ln -s別のソースからコマンドをコピーして貼り付けた可能性があり、システムは間違ったタイプのを挿入しました-。を削除して-、手動でもう一度入力してください。


あなたはこの答えで私の日を救った!さて、一日の半分。残りの半分は、自分の髪の残りを引き抜いて、自分が間違っていることと、それが私にどのディレクトリを必要としているのかを理解するために費やしました。確かに、私は一線に間違ったダッシュを付けていました。
Alexander Amelkin

受け入れられるべきすばらしい、最良の答え
ゴッドファーザー

すごい!!!ありがとうございました。
nano.galvao 2017年

6

問題はこれの違いです...

sudo ln s path1 path2

この...

sudo ln -s path1 path2

違いがわかりませんか?短いダッシュと長いダッシュ。

長いダッシュはオプションとして解釈されないため、lnはコマンドラインで3つのパスを参照し、最後のパスがディレクトリであると想定します。


2
元の投稿では実際に長いダッシュを見ることができます。これが答えです。
Xalorous

3

以下のような単一の引数でlnを試して、それが役立つかどうかを確認してください。

cd /etc/apache2/sites-enabled/ ; sudo ln -s /etc/apache2/sites-available/LoginProject

2

ディレクトリを引用符で囲み、sudo次のようにコマンド引数を終了してください:

sudo -- \ln s "/etc/apache2/sites-available/LoginProject" "/etc/apache2/sites-enabled/LoginProject"

いいえ、これはうまく
いき

編集しました。もう一度お試しください。
Belmin Fernandez、2011

私はそれをコピーして貼り付けました:ln:target `/ etc / apache2 / sites-enabled / LoginProject 'is not a directory
fceruti

おとこ。私は踏みにじられました。ターゲットが存在するときだけそれを見た。しかし、あなたのls出力はそうではないことを示しています。なんらかのSELinuxまたはACLの問題なのか疑問に思っています。ああ、あなたはそれを@fuscataの答えで機能させることができました。よくできました:-)
ベルミンフェルナンデス2011

お時間を割いていただきありがとうございます。@ fuscataが解決策を手に入れました。おそらくそれが起こった理由に対する答えではないかもしれませんが、それでも...ありがとう
fceruti
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.