Ich habe zwei Ordner, einer davon ist mein Webserver-Stammverzeichnis. Ich möchte ihn mit meinem Projektordner verknüpfen, damit ich alles mit Git auf dem neuesten Stand halten kann.
Wenn ich versuche, dies zu tun:
ln -s /home/user/project /var/www/html
Das System erstellt einen Ordner namensProjektim html-Ordner und verlinkt diesen. Gibt es eine Möglichkeit, es so zu verknüpfen, dass das Verzeichnis 'html' auf den Inhalt vonProjekt? Müssen sie den gleichen Namen haben?
Notiz: Ich muss auch mehrere versteckte Dateien verknüpfen. Kann ich das mit tun ln
?
Antwort1
Aus man ln
:
Standardmäßig sollte jedes Ziel (Name des neuen Links) noch nicht vorhanden sein.
Da Sie bereits ein Verzeichnis mit dem Namen haben html
, wird der Link darin /var/www/html
mit dem Namen des Ziels erstellt, d. h. project
.
Wenn Sie einen symbolischen Link haben möchten, /var/www/html
der auf dieses Verzeichnis verweist /home/user/project
, darf das Verzeichnis nicht html
bereits vorhanden sein. Sie müssen also nur /var/www
Folgendes ausführen, um den gewünschten symbolischen Link zu erstellen (tun Sie dies nicht, wenn Sie nicht sicher sind):
ln -s /home/user/project /var/www/html
Notiz: Wenn Sie einen abschließenden Schrägstrich verwenden (wie in ln -s /home/user/project /var/www/html/
), erhalten Sie einen Fehler: ln: target '/var/www/html' is not a directory: No such file or directory
.
Hier ist ein Beispiel:
$ 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
Und ja, Sie können symbolische Links zu versteckten Dateien erstellen.
Antwort2
Stellen Sie sicher, dass darunter kein HTML-Verzeichnis erstellt wird /var/www/
.
Der Befehl lautet dann:ln -s -T /home/user/project /var/www/html