11

フォルダへのシンボリックリンクを作成したい。次のコマンドはリンク名のファイルを作成しますが、ソース フォルダーにリンクしようとしています。私は何を間違っていますか?

ln -s /Users/me/somefolder somefolder

これにより、現在のディレクトリにファイル「somefolder」が作成されます。フォルダとその内容へのシンボリック リンクを作成するにはどうすればよいですか?

ありがとう!

4

5 に答える 5

12

リンクを作成するには、絶対パス名を使用する必要があります。たとえば、私は今

$ pwd
/home/alex/my_folder

そして、pwd (現在の作業ディレクトリ) の下のサブディレクトリにある "directoryA" フォルダーへのシンボリック リンクを作成しています。

 $ ln -s $PWD/directoryA $PWD/temp/link_to_directoryA

この場合、変数$PWDは作業ディレクトリへの絶対パスを保持します。次のような変数なしで絶対パスを確実に使用できます。

 $ ln -s /home/alex/my_folder/directoryA /home/alex/my_folder/temp/link_to_directoryA
于 2018-06-28T19:03:04.060 に答える
1

ディレクトリを作成しないのは、予期された動作です。

あなたがするとき

  ls -ali

で始まる何かが表示されます。

  lrwxrwxrwx

ここで、「l」はシンボリックリンクを表し、cd を使用してトラバースできるようにします。

注意:無効なソース パスを指定しても、 lnコマンドは文句を言いません。cd を実行しようとすると、エラー メッセージが表示されます。

于 2013-07-27T04:12:27.673 に答える
1

シンボリックリンクを作成するのと同じディレクトリ内にいる必要があります

例えば:

cd /Users/me
ln -s somefolder somefolderNewName

于 2019-05-08T10:01:33.780 に答える
0

あなたは欲しいものを持っていると思いますが、あなたはそれを知らないだけです。データ ファイルやディレクトリと同様に、リンクにはディレクトリ内のエントリがあります。ls -lリンクを作成しているディレクトリで実行すると、これが最も明確にわかります。

リンクをディレクトリのように使用できます。たとえば、次のようになります。

$ cd somefolder

また、この方法でディレクトリを変更すると、 somefolder の親がリンクを含むディレクトリになることも知っておく必要があります。それを望まない場合は、次を使用します。

$ cd -P somefolder
于 2013-07-27T04:13:47.933 に答える