"directory-junction" vs "- Verzeichnis, symbolische Verknüpfung"?
Im Kontext von NTFS:
MKLINK [[/D] | [/H] | [/J]] Link Target
/D
Erstellt einen verzeichnissymbolischen Link. Default ist eine Datei mit symbolischen Links./H
Erstellt einen harten Link anstelle eines symbolischen Links./J
Erstellt einen Verzeichnisknoten.Link
gibt den neuen symbolischen Linknamen an.Target
gibt den Pfad (relativ oder absolut) an, auf den sich der neue Link bezieht zu.
-
Ist ein directory junction nicht genau dasselbe wie ein directory symbolic link?
Was ist der Unterschied zwischen
mklink /D f1 f2
undmklink /J f1 f2
? -
Da ein "Verzeichnis" eigentlich nur eine Datei ist, was wäre der Unterschied zwischen einem verzeichnissymbolischen Link und einem dateisymbolischen Link?
3 answers
Eine Kreuzung ist definitiv nicht dasselbe wie eine verzeichnissymbolische Verknüpfung, obwohl sie sich ähnlich verhalten. Der Hauptunterschied besteht darin, dass beim Betrachten eines Remote-Servers - Kreuzungen auf dem Server und - Verzeichnissymbolverbindungen auf dem Client verarbeitet werden. Siehe auch Matthews Kommentar zu der Tatsache, dass dies bedeutet, dass symbolische Links auf dem lokalen Dateisystem auf entfernte Dateisysteme verweisen können.
Angenommen, auf einer Maschine namens Alice sollten Sie eine junction point c:\myjp
und ein Verzeichnis symbolischer Link c:\mysymlink
, beide zeigen auf c:\targetfolder
. Während Sie Alice verwenden, werden Sie keinen großen Unterschied zwischen ihnen bemerken. Aber wenn Sie eine andere Maschine namens Bob verwenden, dann ist der Verbindungspunkt
\\Alice\c$\myjp
zeigt auf \\Alice\c$\targetfolder
Aber der symbolische link
\\Alice\c$\mysymlink
zeigt auf \\Bob\c$\targetfolder
(Vorbehalt: Standardmäßig folgt das System Symlinks auf entfernten Volumes nicht, so dass in den meisten Fällen das zweite Beispiel tatsächlich zu entweder führt "Datei nicht gefunden" oder " Der symbolische Link kann nicht befolgt werden, da sein Typ deaktiviert ist.")
Der Unterschied zwischen einem verzeichnissymbolischen Link und einem dateisymbolischen Link besteht einfach darin, dass einer ein Verzeichnis und einer eine Datei darstellt. Da das Ziel des Links beim Erstellen des Links nicht vorhanden sein muss, muss das Dateisystem wissen, ob es Anwendungen mitteilen soll, dass es sich um ein Verzeichnis handelt oder nicht.
Es sollte auch beachtet werden, dass das Erstellen eines symbolischen link erfordert spezielle Berechtigungen (standardmäßig nur für erhöhte Prozesse verfügbar), während das Erstellen einer Junction nur Zugriff auf das Dateisystem erfordert.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-02-07 07:59:33
Symbolische Verknüpfungen haben mehr Funktionalität, während Kreuzungen aufgrund ihrer Einschränkungen fast ein Legacy-Feature zu sein scheinen, aber die Sicherheitsauswirkungen dieser Einschränkungen sind insbesondere der Grund, warum eine Verbindung einer symbolischen Verknüpfung vorgezogen werden kann. Remote Targeting macht symbolische Links funktionaler, erhöht aber auch ihr Sicherheitsprofil, während Kreuzungen als sicherer angesehen werden können, da sie auf lokale Pfade beschränkt sind. Also, wenn Sie einen lokalen Link wollen und mit einem leben können absoluter Pfad, Sie sind wahrscheinlich besser dran mit einer Kreuzung; Andernfalls betrachten Sie einen symbolischen Link für seine zusätzlichen Fähigkeiten.
**Die Erklärung der Differenz in der Geschwindigkeit und Komplexität stammt von einem nicht verifizierten Erklärung im Wikipedia-Eintrag auf NTFS-Analysepunkte (gut zu Lesen).*
Andere NTFS Link Vergleiche
Hier sind einige andere Vergleiche zum Thema, aber diese können irreführend sein, wenn man Kreuzungen betrachtet, weil sie listen Sie nicht die Vorteile auf, die ich oben aufgeführt habe.
Von hier Entnommen (eine gute einführende Lesen)
Kommentare zu:
Kreuzungen sind symbolische Verbindungen
Kreuzungen und symbolische Links machen wirklich dasselbe auf die gleiche Weise (Reparse-Punkte), abgesehen von den oben genannten Unterschieden in der Verarbeitung. Tatsächlich, technisch gesehen ist eine Kreuzung eine symbolische Verbindung, und manchmal kann man eine Kreuzung als symbolische Verbindung bezeichnen, wie hier. Das ist also nur etwas, was man in Bezug auf Terminologie beachten sollte.
NTFS
Obwohl das OP dies angibt, ist es erwähnenswert, dass "symbolischer Link" ein sehr allgemeiner Begriff ist, der nicht spezifisch für NTFS ist. Um genau zu sein, handelt es sich bei diesem Vergleich um NTFS-Junctions vs. NTFS-symbolische Links.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2019-03-22 00:08:57
Komplex sprechen, schadet Gehirn-ich mag-charts:
Angenommen, any MyLink
ist eine symbolische Verbindung und any MyJunc
ist eine Verbindung, die auf Target as created
zeigt.
Z. B.
mklink /D MyLink C:\T_Dir
zum Erstellen einer symbolischen Verknüpfung zum Zielverzeichnis
mklink /J MyJunc C:\T_Dir
zum Erstellen einer Verzeichniskreuzung zum Zielverzeichnis
Wobei die Syntax mklink [/J,/D] [link path] [target path]
ist, wie sie auf dem lokalen Computer eingegeben wurde
link path | target path | When accessed ..
| | (locally) | (remotely)
| | |
C:\MyLink | C:\T_Dir | C:\T_Dir | [leads back to local]
C:\MyJunc | C:\T_Dir | C:\T_Dir | [leads to remote]
| |
\\Svr\MyLink | C:\T_Dir | C:\T_Dir | [leads back to local]
\\Svr\MyJunc | C:\T_Dir | *** Must create and point local ***
| |
C:\MyLink | \\Sv2\T_Dir | \\Sv2\T_Dir | Error*1
C:\MyJunc | \\Sv2\T_Dir | *** Error - Must point local ***
| |
\\Svr\MyLink | \\Sv2\T_Dir | Error*1
\\Svr\MyJunc | \\Sv2\T_Dir | *** Must create link using target device ***
Fehler*1-Wenn Sie den Zugriff auf entfernte symbolische Links auf Ihrem lokalen Computer entsperrt haben ,funktioniert dies.. aber nur auf dem lokalen Computer, auf dem es entsperrt ist
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-08-03 17:39:30