it-swarm.com.de

Erstellen eines Symlinks von einem Ordner in einen anderen mit unterschiedlichen Namen?

Ich habe zwei Ordner, von denen einer mein Webserver-Root ist. Ich möchte es mit meinem Projektordner verknüpfen, damit ich mit Git auf dem neuesten Stand bleiben kann.

Wenn ich das versuche:

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

Das System erstellt einen Ordner mit dem Namen project im HTML-Ordner und verknüpft diesen. Gibt es eine Möglichkeit, es so zu verknüpfen, dass das Verzeichnis 'html' auf den Inhalt des Projekts verweist? Müssen sie den gleichen Namen haben?

Anmerkung: Ich muss auch mehrere versteckte Dateien verknüpfen. Kann ich dies mit ln tun?

78
user991710

Aus man ln:

Standardmäßig sollte noch kein Ziel (Name des neuen Links) vorhanden sein.

Da Sie bereits ein Verzeichnis mit dem Namen html haben, wird der Link in /var/www/html mit dem Namen des Ziels, d. H. project, erstellt.

Wenn Sie einen Symlink /var/www/html haben möchten, der auf /home/user/project verweist, sollten Sie vorher nicht das Verzeichnis html haben. Sie sollten also nur /var/www haben, und wenn Sie dann Folgendes ausführen, wird der gewünschte Symlink erstellt (tun Sie dies nicht, es sei denn, Sie sind sich sicher):

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

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 Symlinks von versteckten Dateien erstellen.

105
heemayl

Stellen Sie sicher, dass unter /var/www/ kein HTML-Verzeichnis erstellt wird.

Der Befehl lautet dann: ln -s -T /home/user/project /var/www/html

0
Jivak Dhadse