08/04 Nachtrag Ich habe Ergänzungen und Korrekturen in den Kommentaren erhalten, daher werde ich gegebenenfalls Korrekturen vornehmen.
Als ich Shell-Befehle lernte, war ich süchtig nach symbolischen Links im Sumpf, deshalb werde ich ein Memorandum hinterlassen. ~~ Ich weiß nicht, ob dies die beste Vorgehensweise ist, aber benutze so viele absolute Pfade wie möglich, um symbolische Links zu generieren. ~~
Dies ist keine bewährte Methode, da dies vom Anlass abhängt. Dies liegt daran, dass Sie anfällig für Änderungen des Installationsorts sind, wenn Sie die Dateien und Links der Linkquelle gemeinsam verwalten möchten.
Die symbolische Verknüpfung ist eine der Funktionen des Dateisystems des Betriebssystems (OS) und ein Mechanismus zum Erstellen einer weiteren Datei, die auf eine bestimmte Datei oder ein bestimmtes Verzeichnis verweist und über diese auf den Hauptteil verweist. IT-Glossar E-Wörter
Wir erkennen, dass symbolische Links unter Linux wie Verknüpfungen unter Windows sind.
Der Zweck ist ähnlich, aber die Realität sieht ganz anders aus. Darüber hinaus verfügt Windows auch über symbolische Links (mithilfe einer Funktion namens Analysepunkte). Verknüpfungen sind nur Starter mit Informationen zum Öffnen der angegebenen Datei in der App, während symbolische Links Dateien sind, die als Alternative zur angegebenen Datei verwendet werden können. @angel_p_57
Die Befehle zum Erstellen einer symbolischen Verknüpfung sind: hoge.jpg ist ein beliebiger Dateiname, fuga ist ein beliebiger Verzeichnisname. Hier wird im fuga-Verzeichnis ein symbolischer Link für eine Datei namens hoge.jpg generiert.
$ ln -s hoge.jpg fuga
Hinweis: In diesem Fall wird "wenn das Fuga-Verzeichnis bereits vorhanden ist" wie vorgesehen ausgeführt. Ohne das Fuga-Verzeichnis würde im selben Verzeichnis ein symbolischer Link namens Fuga erstellt.
Wenn Sie "$ ln -s hoge.jpg fuga /" festlegen, wird dieser Befehl ausgeführt, wenn das Verzeichnis vorhanden ist. (Ich bezog mich auf die Kommentare, die ich erhielt)
~ / Picture / konosuba.jpg symbolischer Link, Ich möchte es in ~ / Picture / foobar generieren.
Angenommen, das aktuelle Verzeichnis ist ~ / Picture.
~/Picture $ ln -s konosuba.jpg foobar
konosuba.jpg wird aber im foobar-Verzeichnis generiert Dies ist zunächst einmal ein Fehler.
Der symbolische Link von konosuba.jpg, der im aktuellen Verzeichnis vorhanden ist, wird nicht in dem als relativer Pfad angegebenen Ordner foobar generiert ... **. ** ** **
Der symbolische Link konosuba.jpg, der im Verzeichnis foobar generiert wird, lautet Relativer Pfad aus Ihrer eigenen Perspektive konosuba.jpg Mit anderen Worten, denken wir darüber nach, auf konosuba.jpg im selben Verzeichnis zu verweisen.
Mit anderen Worten, es wird eine mysteriöse Datei erstellt, die als symbolischer Link bezeichnet wird und auf sich selbst verweist.
(Dies liegt daran, dass "konosuba.jpg ", das erste Argument des Shell-Befehls, als relativer Pfad basierend auf der Position des symbolischen Links selbst gelesen wird.)
Angenommen, das aktuelle Verzeichnis ist ~ / Picture.
~/Picture $ ln -s ../konosuba1.jpg foobar
konosuba.jpg wird im Verzeichnis foobar generiert. Dies ist die richtige Antwort. Der im Verzeichnis foobar generierte symbolische Link konosuba.jpg lautet Es wird als Link generiert, der von seiner eigenen Position aus auf "../konosuba1.jpg " verweist.
Es mag kein Problem sein, wenn ich mich daran gewöhne, aber ehrlich gesagt fühlte ich mich verwirrt.
Verwenden Sie in diesem Fall die Option -r (--relative). Der Befehl ermittelt automatisch die relative Position. Mit ln -s hoge.jpg fuga / verursacht der erstellte symbolische Link fuga / hoge.jpg einen Zirkelverweis und ist nutzlos, aber mit ln -s -r hoge.jpg fuga /, fuga / hoge. Es wird ein entsprechender Link namens jpg-> ../hoge.jpg erstellt. @angel_p_57
$ ln -s ~/Picture/konosuba.jpg ~/Picture/foobar
Mit einem absoluten Pfad kann das Risiko, dass der Überweiser nicht beabsichtigt ist, stark reduziert werden. Wenn die Verzeichnisstruktur kompliziert wird, denke ich, dass es lächerlich sein wird, aber vorerst sollte ich keinen Fehler machen ...
Ich habe nicht das Gefühl, dass ich es gut schreiben konnte, also werde ich nach Bedarf einige Änderungen vornehmen ...
Erste Schritte mit der Linux-Befehlszeile Ubuntu Manuals
Recommended Posts