Dalam konteks NTFS:
MKLINK [[/D] | [/H] | [/J]] Link Target
/D
Membuat tautan simbolis direktori. Default adalah tautan simbolis file.
/H
Membuat tautan keras alih-alih tautan simbolis.
/J
Membuat Persimpangan Direktori.
Link
menentukan nama tautan simbolik baru.
Target
menentukan jalur (relatif atau absolut) yang dirujuk oleh tautan baru.
Bukankah persimpangan direktori sama persis dengan tautan simbolik direktori ?
Apa perbedaan antara
mklink /D f1 f2
danmklink /J f1 f2
?Karena "direktori" sebenarnya hanya sebuah file , apa perbedaan antara tautan simbolik direktori dan tautan simbolik file?
windows
filesystems
ntfs
symbolic-link
Pacerier
sumber
sumber
Jawaban:
Persimpangan jelas bukan hal yang sama dengan tautan simbolik direktori, meskipun mereka berperilaku serupa. Perbedaan utama adalah bahwa, jika Anda melihat server jarak jauh, persimpangan diproses di server dan tautan simbolik direktori diproses di klien . Juga lihat komentar Matthew tentang fakta bahwa ini berarti tautan simbolik pada sistem file lokal dapat mengarah ke sistem file jarak jauh.
Misalkan pada mesin bernama Alice Anda harus meletakkan titik persimpangan
c:\myjp
dan tautan simbolik direktoric:\mysymlink
, keduanya menunjuk kec:\targetfolder
. Saat Anda menggunakan Alice, Anda tidak akan melihat banyak perbedaan di antara mereka. Tetapi jika Anda menggunakan mesin lain bernama Bob, maka titik persimpangan\\Alice\c$\myjp
akan menunjuk ke\\Alice\c$\targetfolder
tetapi tautan simbolis
\\Alice\c$\mysymlink
akan menunjuk ke\\Bob\c$\targetfolder
(Peringatan: secara default, sistem tidak mengikuti symlink pada volume jarak jauh, jadi dalam kebanyakan kasus contoh kedua sebenarnya akan menghasilkan "File Tidak Ditemukan" atau "Tautan simbolik tidak dapat diikuti karena tipenya dinonaktifkan." )
Perbedaan antara tautan simbolis direktori dan tautan simbolis file adalah secara sederhana satu merepresentasikan direktori dan satu merepresentasikan file. Karena target tautan tidak perlu ada saat tautan dibuat, sistem file perlu tahu apakah akan memberi tahu aplikasi apakah itu direktori atau tidak.
Juga harus dicatat bahwa membuat tautan simbolik memerlukan hak istimewa khusus (secara default, hanya tersedia untuk proses yang ditingkatkan) sedangkan membuat persimpangan hanya membutuhkan akses ke sistem file.
sumber
C:\testlink
(yang mengarah keC:\test
komputer saya) dan seseorang mengakses komputer saya secara remote dan mengklikC:\testlink
, itu akan menyelesaikan keC:\test
komputer HIS, sedangkan jika saya membuat persimpangan direktoriC:\testlink
(yang menunjuk keC:\test
di komputer saya), dan seseorang mengakses komputer saya dari jarak jauh dan mengkliknyaC:\testlink
) itu akan membawanya keC:\test
komputer saya? Atau apakah saya salah mengerti?C:\MyNetworkShare
yang menunjuk ke\\Alice\Share
juga?Obrolan yang kompleks menyakitkan otak - Saya suka bagan:
Asumsikan ada yang
MyLink
merupakan tautan simbolis dan ada yangMyJunc
merupakan persimpangan yang menunjukTarget as created
.misalnya
mklink /D MyLink C:\T_Dir
untuk membuat tautan simbolis ke direktori targetmklink /J MyJunc C:\T_Dir
untuk membuat persimpangan direktori ke direktori targetDi mana sintaksis
mklink [/J,/D] [link path] [target path]
seperti yang diketik pada mesin lokalKesalahan * 1 - Jika Anda membuka blokir akses ke tautan simbolis jarak jauh pada mesin lokal Anda, maka ini akan bekerja .. tetapi hanya pada mesin lokal di mana itu diblokir
sumber
d:\_tmp\data
. Membuat link seperti:d:\_tmp>mklink /d data-link data
. Pengguna jarak jauh memiliki akses penuh ked:\_tmp
dan semua subfoldernya TETAPI dia masih tidak dapat membukad:\_tmp\data-link
.Complex talk hurts brain -- I like charts
Saya suka kalimat ini, dan bagan juga.Tautan simbolik memiliki lebih banyak fungsi, sementara persimpangan tampaknya merupakan fitur warisan karena keterbatasannya, tetapi implikasi keamanan dari batasan ini secara spesifik mengapa persimpangan mungkin lebih disukai daripada tautan simbolik. Penargetan jarak jauh membuat tautan simbolik lebih fungsional, tetapi juga meningkatkan profil keamanannya, sementara persimpangan mungkin dianggap lebih aman karena dibatasi oleh jalur lokal . Jadi, jika Anda menginginkan tautan lokal dan dapat hidup dengan jalur absolut, Anda mungkin lebih baik dengan persimpangan; jika tidak, pertimbangkan tautan simbolik untuk kemampuannya yang ditambahkan.
** Pernyataan perbedaan dalam kecepatan / kompleksitas berasal dari pernyataan tidak terverifikasi di entri Wikipedia tentang poin reparasi NTFS (bacaan yang bagus). *
Perbandingan NTFS Link Lainnya
Berikut adalah beberapa perbandingan lain pada topik, tetapi ini bisa menyesatkan ketika mempertimbangkan persimpangan karena mereka tidak mencantumkan manfaat yang saya sebutkan di atas.
Diambil dari sini (baca pengantar yang bagus)
Dari halaman SS64 di MKLink
Komentar tentang Terminologi
Persimpangan adalah Tautan Simbolik
Persimpangan dan tautan simbolik benar-benar melakukan hal yang sama dengan cara yang sama (titik reparse), selain dari perbedaan yang disebutkan di atas dalam cara mereka diproses. Faktanya, secara teknis, sebuah Junction adalah tautan simbolik, dan terkadang dokumentasi mungkin menyebut Junction sebagai tautan simbolik, seperti yang terjadi di sini . Jadi, itu hanya sesuatu yang harus diperhatikan tentang terminologi.
NTFS
Meskipun OP menentukan ini, ada baiknya menunjukkan bahwa "tautan simbolik" adalah istilah yang sangat umum yang tidak spesifik untuk NTFS. Jadi, untuk lebih spesifik, perbandingan ini adalah tentang NTFS Junctions vs NTFS Symbolic Links.
sumber