ルートへのシンボリックリンクを作成する方法


13

/ホームディレクトリのルート()フォルダーへのシンボリックリンクを作成します。ただし、これを試してみると、

~$ ln -s /
ln: failed to create symbolic link './': File exists

Nautilus Ctrl+ を使用してこれを行うことができますDもちろんので、それが可能であることはわかっています。

ターミナルを使用してこれを行う方法は?


これは良い質問ですが、これを行う理由を知りたいですか?入力するのは難しいcd /ですか?または、繰り返しループを繰り返し続けるリンクを作成しますか?例: cd root/home/terrance/root/home/terrance/root/home/terrance/root。。。など
テランス

rootにリンクする必要なく、これを実行できます。実際に、私はあなたがそれを行うことができない理由だけで興味があった
はAnkur S

けっこうだ。私の質問に答えてくれてありがとう。=)
テランス

回答:


17

リンクの名前が欠落しています。次のようになります。

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そして、あなたは、たとえば作成した場合~/etcmkdir ~/etcて実行ln -s /etcする~と、名前/ディレクトリが既に存在するため、リンクを作成できません。3

そして、あなたはあなたのホームディレクトリに作成されたリンクを見ることができます(ここでは例として、もちろんあなたは好きな名前を自由に付けることができます):

$ ls -l ~/root
lrwxrwxrwx 1 videonauth videonauth 1 Dez 14 00:28 root -> /

1 それを指摘してくれた@thomasrutterに感謝します。
2 も参照してくださいman linkman symlink
3人 のおかげ@steeldriverコメントの例を提供します。
4 質問に関連しているため、テキストを指摘するために強調された部分。


私の唯一の疑問は、なぜln -s /etcこのようなコマンドではなく、仕事のようなコマンドが必要なのかということです。答えてくれてありがとう
アンクルS

これは、ディレクトリ名、/ルート、またはパスコンポーネントになり、プログラムが現在の意味を認識できないために作成されます。/etc明示的な区別可能なパスです。
Videonauth

7
@AnkurSonawane ./常に存在する./etcため、そうではありません。試してみてくださいmkdir etc最初、およびln -s /etc-あなたも取得しますFile exists
steeldriver

8
最後のパラメーターlink-nameは、省略された場合、デフォルトでターゲットの最後の部分になります。そのため、ターゲットが/some/dirリンク名であるdir場合、指定されない場合はデフォルトになります。/ただし、ターゲットが単にの場合、これは機能しません。
thomasrutter

この非常に重要なことは感じませんが、@ steeldriverの説明は、File Exists出力を考えると、より合理的に聞こえます。これは退化したケースであるため、とにかく重要ではない
アンクルS
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.