Dalam konteks NTFS:
MKLINK [[/D] | [/H] [J]] Link Target
/D
Menciptakan sebuah direktori link simbolik. Default adalah file symbolic link./H
Menciptakan hard link bukan link simbolik./J
Menciptakan sebuah Direktori Junction.Link
menentukan baru simbolik link nama.Target
menentukan path (relatif atau absolut) yang baru link yang menunjuk ke.
Apa's perbedaan antara mklink /D f1 f2
dan mklink /J f1 f2
?
Persimpangan ini jelas bukan hal yang sama seperti direktori link simbolik, meskipun mereka berperilaku sama. Perbedaan utama adalah bahwa, jika anda mencari di remote server, persimpangan diproses di server dan direktori link simbolik diproses di client. Juga lihat Matius's komentar pada fakta bahwa ini berarti link simbolik pada sistem file lokal dapat point untuk remote file sistem.
Misalkan pada sebuah mesin bernama Alice anda adalah untuk menempatkan titik persimpangan c:\myjp
dan direktori link simbolik c:\mysymlink
, keduanya menunjuk ke c:\targetfolder
. Sementara anda're menggunakan Alice anda tidak't melihat banyak perbedaan di antara mereka. Tapi jika anda're menggunakan mesin lain bernama Bob, maka titik persimpangan
\\Alice\c$\myjp
akan mengarah ke \\Alice\c$\targetfolder
tapi link simbolik
\\Alice\c$\mysymlink
akan mengarah ke \\Bob\c$\targetfolder
(Peringatan: secara default, sistem doesn't mengikuti symlink pada remote volume, sehingga dalam banyak kasus kedua contoh yang benar-benar akan mengakibatkan baik "File Tidak Ditemukan" atau "link simbolik tidak dapat diikuti karena jenis dinonaktifkan.")
Perbedaan antara sebuah direktori simbolik link dan file symbolic link adalah hanya yang satu merupakan direktori dan satu mewakili sebuah file. Karena target dari link doesn't perlu ada ketika link yang dibuat, file kebutuhan sistem untuk mengetahui apakah untuk memberitahu aplikasi bahwa itu adalah sebuah direktori atau tidak.
Hal ini juga harus dicatat bahwa menciptakan link simbolik membutuhkan hak istimewa (secara default, hanya tersedia untuk peningkatan proses) sedangkan menciptakan junction hanya membutuhkan akses ke file sistem.
Pembicaraan kompleks sakit otak-saya suka grafik:
Asumsikan setiap MyLink
adalah simbolik link dan setiap MyJunc
adalah persimpangan menunjuk pada Target seperti yang dibuat
.
misalnya
mklink /D MyLink C:\T_Dir
untuk menciptakan link simbolik ke target direktori
mklink /J MyJunc C:\T_Dir
untuk menciptakan sebuah direktori junction ke target direktori
Dimana sintaks mklink [/J,/D] [link path] [target path]
sebagai diketik pada mesin lokal
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 ***
Kesalahan*1 - Jika anda diblokir akses ke remote link simbolik pada mesin lokal anda, maka ini akan bekerja .. tapi hanya pada mesin lokal di mana ia's diblokir
Link simbolik memiliki fungsi yang lebih, sementara persimpangan hampir tampaknya menjadi warisan tidur karena keterbatasan mereka, tetapi implikasi dari pembatasan ini adalah khusus mengapa junction mungkin menjadi pilihan lebih dari simbolik link. Remote menargetkan membuat link simbolik lebih fungsional, tetapi juga meningkatkan keamanan mereka profil, sementara persimpangan mungkin dianggap lebih aman karena mereka dibatasi untuk jalur lokal. Jadi, jika anda ingin link lokal dan dapat hidup dengan path absolut, anda're mungkin lebih baik dengan persimpangan; jika tidak, pertimbangkan symbolic link untuk menambahkan kemampuan.
*Pernyataan dari perbedaan kecepatan/kompleksitas berasal dari unverified pernyataan di entri Wikipedia pada NTFS reparse poin (baca).
Lainnya NTFS Link Perbandingan
Berikut ini adalah beberapa perbandingan lain pada topik, tapi ini bisa menyesatkan ketika mempertimbangkan persimpangan karena mereka don't daftar manfaat yang saya daftar di atas.
Diambil dari sini (pengantar yang baik baca)
Komentar anda tentang Terminologi
Persimpangan Link Simbolik
Persimpangan dan link Simbolik yang benar-benar melakukan hal yang sama dengan cara yang sama (reparse poin), selain dari yang tersebut di atas perbedaan-perbedaan dalam cara mereka're diproses. Bahkan, secara teknis, Persimpangan adalah simbolik link, dan kadang-kadang dokumentasi sebut Junction link simbolik, seperti yang terjadi di sini. Jadi, yang's hanya sesuatu yang harus diperhatikan mengenai terminologi.
NTFS
Meskipun OP menentukan ini, it's worth menunjukkan bahwa "link simbolik" adalah sebuah istilah yang sangat umum yang tidak spesifik ke NTFS. Jadi, untuk menjadi tertentu, perbandingan ini adalah tentang NTFS Persimpangan vs NTFS Link Simbolik.