ディレクトリ~/download
のln
を次のように呼び出そうとしました。
ln -s ./abc ~/abc [EDITED]
しかし、それは機能しません。
自宅でls -al
を実行すると、abc
のリンクが間違ってしまいます。
ln [OPTION]... [-T] TARGET LINK_NAME (1st form)
だからここでの私の質問は:ln
はターゲットのフルパスを必要としますか? man
ページにドキュメントやヒントが見つかりませんでした。もしそうなら、どこで詳細情報を入手できますか。
非常に簡単です。~
そのディレクトリ内を指すシンボリックリンクを./abc
に作成します。シンボリックリンクのパス名は、それが存在するディレクトリのコンテキストで有効である必要があります¹。 現在は現在ディレクトリにあるファイルを実際にポイントする場合は、フルパスを使用する必要があります。
ln
は、絶対パス名または相対パス名のいずれかを取ることができます。シンボリックリンクでは違いが重要ですが、ハードリンクを作成するように要求したため、どちらの方法でも同じファイルに解決されます。
ls -li
および~/abc
の~/download/abc
出力を確認してください。リンク数が2
であり、iノード番号が両方のファイルで同じであることがわかります。