Erstellen Sie einen symbolischen Link des Verzeichnisses in Ubuntu
Unten ist mein code für das erstellen einer symbolischen Verknüpfung für ein Verzeichnis:
sudo ln -s /usr/local/nginx/conf//etc/nginx
Ich schon erstellt das Verzeichnis /etc/nginx
. Ich möchte nur den Inhalt der Quell-Verzeichnis (/usr/local/nginx/conf/
) werden die Inhalte der Ziel-Verzeichnis (/etc/nginx
). Aber wenn ich den code auszuführen, /etc/nginx
enthält ein Verzeichnis namens conf
statt den Inhalt conf
. Das Verzeichnis enthält den Inhalt, den ich will, aber an der falschen Stelle.
Warum haben Sie ein Verzeichnis, in dem Ziel-Ordner, anstatt nur darum, den Inhalt des Verzeichnisses in das Zielverzeichnis?
InformationsquelleAutor der Frage | 2012-02-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist das Verhalten von
ln
wenn das zweite argument ein Verzeichnis ist. Es stellt einen link zu der ersten arg innen. Wenn Sie möchten/etc/nginx
zu den symbolischen Link, den Sie entfernen sollten Sie zuerst in diesem Ordner, und führen gleichen Befehl.InformationsquelleAutor der Antwort FatalError
Das ist, was
ln
dokumentiert ist zu tun, wenn das Ziel bereits existiert und ist ein Verzeichnis. Wenn Sie möchten/etc/nginx
zu werden ein symlink anstatt enthalten ein symlink ist, Sie hatten besser, Sie nicht erstellen Sie es als ein Verzeichnis erste!InformationsquelleAutor der Antwort Celada
Im Skript ist nützlich, so etwas wie dieses:
es verhindert, bevor Sie erneut erstellen "schlecht" geloopt symlink nach re-Skript ausführen
InformationsquelleAutor der Antwort kayn