フォルダーが 2 つあり、そのうちの 1 つは Web サーバーのルートです。Git で最新の状態に維持できるように、これをプロジェクト フォルダーにリンクしたいと考えています。
これを実行しようとすると:
ln -s /home/user/project /var/www/html
システムは、プロジェクトhtmlフォルダ内にあり、それをリンクしています。ディレクトリ「html」が次のコンテンツを指すようにリンクする方法はありますか?プロジェクト? 同じ名前にする必要がありますか?
注記: いくつかの隠しファイルをリンクする必要もあります。 を使用してこれを行うことはできますかln
?
答え1
からman ln
:
デフォルトでは、各宛先 (新しいリンクの名前) は存在してはなりません。
すでに という名前のディレクトリがあるため、ターゲットの名前 (つまり ) を持つhtml
リンクが内部に作成されます。/var/www/html
project
/var/www/html
を指すシンボリックリンクを作成したい場合は、事前に/home/user/project
ディレクトリを用意しないでください。そのため、ディレクトリを用意して、次のコマンドを実行すると、目的のシンボリックリンクが作成されます (確信が持てない限り、これを実行しないでください)。html
/var/www
ln -s /home/user/project /var/www/html
注記: 末尾にスラッシュを使用すると ( のようにln -s /home/user/project /var/www/html/
)、エラーが発生します: ln: target '/var/www/html' is not a directory: No such file or directory
。
次に例を示します。
$ pwd
/home/user/test/askubuntu
$ ls -l
total 4
drwxrwxr-x 2 user user 4096 Mar 25 00:16 foo
$ ln -s /home/user/test/bar /home/user/test/askubuntu/foo
$ ls -l
total 4
drwxrwxr-x 2 user user 4096 Mar 25 00:17 foo
$ cd foo/
$ ls -l
total 0
lrwxrwxrwx 1 user user 25 Mar 25 00:17 bar -> /home/user/test/bar
$ cd ..
$ rm -r foo/
$ ls -l
total 0
$ ln -s /home/user/test/bar /home/user/test/askubuntu/foo
$ ls -l
total 0
lrwxrwxrwx 1 user user 25 Mar 25 00:18 foo -> /home/user/test/bar
はい、隠しファイルのシンボリックリンクを作成できます。
答え2
の下に html ディレクトリが作成されていないことを確認してください/var/www/
。
コマンドは次のようになります。ln -s -T /home/user/project /var/www/html