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


81

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

これをしようとすると:

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

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

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

回答:


109

からman ln

デフォルトでは、各宛先(新しいリンクの名前)はまだ存在していないはずです。

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

/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

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


13
私はこれを試してみましたが、結果のシンボリックリンクはファイルであり、ディレクトリではありませんでした
Alex

1
@Alexソフトリンクはファイルのように見えますが、結果はそれが指していたフォルダーのように振る舞います。
チャノック

5
また、ソースディレクトリは絶対パスでなければなりません相対パスをしてはならないことに注意してくださいので、ln -s ./ /var/www/html動作しません
ディエゴ・アンドレス・ディアスエスピノーザ

0

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

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.