ホームディレクトリのルート(/
)フォルダーへのシンボリックリンクを作成します。ただし、これを試してみると、
~$ ln -s /
ln: failed to create symbolic link './': File exists
Nautilusを使用してこれを行うことができます Ctrl+D、もちろん、私はそれが可能であることを知っています。
ターミナルを使用してこれを行う方法は?
リンクの名前が欠落しています。次のようになります。
cd ~
ln -s / root
これにより、ルートと呼ばれるシンボリックリンクがホームディレクトリに作成されます。したがって、正しい使用法は次のとおりです。
ln -s <target> <link-name>
表示されるエラーメッセージは、./
が常に存在し、この名前でリンクを作成できないことです。最良の方法は ln
コマンド を使用することです2 両方のパラメータを使用して、誤ったリンクを防ぎます。
man ln
から:
概要
(1st form) ln [OPTION]... [-T] TARGET LINK_NAME (2nd form) ln [OPTION]... TARGET (3rd form) ln [OPTION]... TARGET... DIRECTORY (4th form) ln [OPTION]... -t DIRECTORY TARGET...
説明
最初のフォームで、
TARGET
へのリンクを名前LINK_NAME
で作成します。 2番目のフォームで、現在のディレクトリにTARGET
へのリンクを作成します。 3番目と4番目のフォームでは、TARGET
の各DIRECTORY
へのリンクを作成します。デフォルトでハードリンクを作成します。シンボリックリンクは--symbolic
で。デフォルトでは、各宛先(新しいリンクの名前)が既に存在していてはなりません4。ハードリンクを作成する場合、各TARGET
が存在する必要があります。シンボリックリンクは任意のテキストを保持できます。後で解決される場合、相対リンクはその親ディレクトリに関連して解釈されます。長いオプションの必須引数は、短いオプションにも必須です。
最後のパラメーター<link-name>
は、デフォルトでターゲットの最後の部分になります。そのため、ターゲットが/path/dir
の場合、指定されない場合、リンク名はデフォルトでdir
になります。1 また、たとえば~/etc
でmkdir ~/etc
を作成し、ln -s /etc
で~
を実行すると、名前/ディレクトリが既に存在するため、リンクを作成できません。3
そして、あなたはあなたのホームディレクトリに作成されたリンクを見ることができます(ここでは例として、もちろんあなたは好きな名前を自由に付けることができます):
$ ls -l ~/root
lrwxrwxrwx 1 videonauth videonauth 1 Dez 14 00:28 root -> /
1@ thomasrutter に感謝します。
2man link
および man symlink
も参照してください
3コメントで例を提供してくれた @ steeldriver に感謝します。
4質問に関連しているため、テキストを指摘するために強調された部分。