Создание символической ссылки из одной папки в другую с разными именами?

40

У меня есть две папки, одна из которых - мой корень веб-сервера. Я хочу связать его с моей папкой проекта, чтобы я мог постоянно обновлять Git.

Если я попытаюсь сделать это:

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

Система создает папку с именем project внутри html-папки и связывает ее. Есть ли способ связать его так, чтобы каталог «html» указывал на содержимое project ? Должны ли они быть одним и тем же именем?

Примечание . Мне также нужно связать несколько скрытых файлов. Могу ли я это сделать, используя ln ?     

задан user991710 24.03.2015 в 16:10
источник

1 ответ

60

От man ln :

  

По умолчанию каждый получатель (имя новой ссылки) еще не существует.

Поскольку у вас уже есть каталог с именем html , ссылка будет создана внутри /var/www/html , имеющей имя целевой i.e. 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

И да, вы можете создавать символические ссылки скрытых файлов.

    
ответ дан heemayl 24.03.2015 в 16:31
источник