シンボリック リンクは、完全なパスまたはリンクに対する相対パスを好む傾向があります。 ローカルに (奇妙なことに)。
17
に移動します 29
を実行します シンボリックリンクが 36
を探していることがわかります 、 45
であるべき場合 .
したがって、2 つのオプションがあります:
<オール>フルパスを与える
ln -s ~/actual/file-1.txt ~/actual/file-2.txt ~/proper
リンクを入れたいフォルダに移動し、そこからリンクします
cd proper
ln -s ../actual/file-1.txt ../actual/file-2.txt ./
編集 :入力を節約するためのヒント。
53
を実行できます
中括弧内の項目は置き換えられ、互いの後に配置され、コマンドが作成されます
ln -s ~/actual/file-1.txt ~/actual/file-2.txt ~/proper
これにより、両方のファイルがターゲット ディレクトリにリンクされます。シェルをさらに進めるにつれて、いくつかの主要な入力を節約します。
問題は、相対パスの使用です。完全な明示的なパスを使用してリンクの作成を指定すると、機能します。
<ブロック引用>$ ln -s ~/actual/file1.txt ~/actual/file2.txt ~/proper/
$ 猫の適切な/file1.txt
ファイル 1
$
あなたの例は 60
でリンクを作成します 意図した両方の親ではなく、現在のディレクトリの下にある実際の名前のサブディレクトリを探します。
シンボリック リンクは扱いにくい場合があります。本質的に、シンボリック リンクは、別のファイルのファイル名/パス名を含むファイルです (そして、特別な処理のためにフラグが立てられます)。リンクファイルのパス名が「76
」で始まる場合 ' の場合、絶対パス名として扱われ、物事はかなり簡単です。スラッシュで始まらない場合は、相対パス名 (リンクが配置されているディレクトリからの相対パス) として扱われます。 (これは、名前にスラッシュが含まれているかどうかに関係なく当てはまります。)つまり、80
を作成しました。 「92
」へのリンクとして 」、そしてそれにアクセスしようとすると、システムは 105
にアクセスしようとしました .言うべきだった
ln –s ../actual/file–1.txt ../actual/file–2.txt proper
ちなみに、112
は必要ありませんでした コマンド。 125
132
を作成するには十分です .