Tworzenie dowiązania symbolicznego z jednego folderu do drugiego o różnych nazwach?


81

Mam dwa foldery, z których jeden jest moim katalogiem głównym serwera. Chcę połączyć go z folderem mojego projektu, aby móc aktualizować Git.

Jeśli spróbuję to zrobić:

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

System tworzy folder o nazwie projekt w folderze HTML i łączy go. Czy istnieje jakiś sposób na połączenie go, aby katalog „html” wskazywał na zawartość projektu ? Czy muszą mieć to samo imię?

Uwaga : muszę również połączyć kilka ukrytych plików. Czy mogę to zrobić za pomocą ln?

Odpowiedzi:


109

Od man ln:

Domyślnie każde miejsce docelowe (nazwa nowego łącza) nie powinno już istnieć.

Ponieważ masz już katalog o nazwie html, link zostanie utworzony wewnątrz /var/www/htmlo nazwie docelowej tj project.

Jeśli chcesz, aby dowiązanie symboliczne /var/www/htmlwskazywało na /home/user/projectto, nie powinieneś wcześniej mieć katalogu htmlobecnego. Tak więc powinieneś tylko mieć, /var/wwwa następnie uruchomienie następującego spowoduje utworzenie pożądanego dowiązania symbolicznego (nie rób tego, chyba że jesteś pewien):

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

Oto przykład:

$ 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

I tak, możesz tworzyć dowiązania symboliczne ukrytych plików.


13
Próbowałem tego, ale powstałe dowiązanie symboliczne było plikiem, a nie katalogiem
Alex

1
@Alex softlink wygląda jak plik, ale powoduje, że zachowuje się jak folder, na który wskazywał.
Chanoch

5
Zauważ też, że katalog źródłowy nie może być ścieżką względną, musi być bezwzględny, więc ln -s ./ /var/www/htmlnie będzie działać
Diego Andrés Díaz Espinoza,

0

Upewnij się, że katalog HTML nie jest utworzony w obszarze /var/www/.

Polecenie to: ln -s -T /home/user/project /var/www/html

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.