web-dev-qa-db-ja.com

あるフォルダから別のフォルダへのシンボリックリンクを異なる名前で作成しますか?

2つのフォルダーがあり、そのうちの1つはWebサーバーのルートです。これをプロジェクトフォルダーにリンクして、Gitで最新のものを維持できるようにします。

これをしようとすると:

ln -s /home/user/project  /var/www/html

システムは、htmlフォルダー内にprojectというフォルダーを作成し、それをリンクします。ディレクトリ 'html'がprojectのコンテンツを指すようにリンクする方法はありますか?彼らは同じ名前でなければなりませんか?

:いくつかの隠しファイルもリンクする必要があります。 lnを使用してこれを実行できますか?

78
user991710

man lnから:

デフォルトでは、各宛先(新しいリンクの名前)が既に存在することはありません。

htmlという名前のディレクトリが既にあるので、リンクは/var/www/html内に作成され、ターゲットの名前、つまりprojectを持ちます。

/var/www/htmlを指すシンボリックリンク/home/user/projectが必要な場合は、ディレクトリhtmlを事前に存在させないでください。したがって、必要なのは/var/wwwのみで、次を実行すると必要なシンボリックリンクが作成されます(確信がない限りこれを行わないでください)。

ln -s /home/user/project /var/www/html

以下に例を示します。

$ 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

そして、はい、隠しファイルのシンボリックリンクを作成できます。

105
heemayl

/var/www/の下にhtmlディレクトリが作成されていないことを確認してください。

コマンドは次のとおりです:ln -s -T /home/user/project /var/www/html

0
Jivak Dhadse