Perbedaan
┌──────────────┬─────────┬─────────────────── ───────┬─────┐ │ │ Mutlak │ Relatif │ File │ Direktori │ UNC │ ├──────────────┼─────────┼─────────────────── ───────┼─────┤ │ Tautan simbolik │ Ya │ Ya │ Ya │ Ya │ Ya │ │ Persimpangan │ Ya │ - │ - │ Ya │ - │ └──────────────┴─────────┴─────────────────── ───────┴─────┘
Skenario
Mari kita asumsikan kita sedang membuat titik reparse untuk membuat pengalihan C:\SomeDir => D:\SomeDir
Karena skenario ini hanya memerlukan jalur lokal dan absolut, baik persimpangan atau symlink akan berfungsi. Dalam situasi ini, apakah ada keuntungan menggunakan satu atau yang lain?
Asumsikan Windows 7 untuk OS, mengabaikan kompatibilitas ke belakang. (Sebelum Vista, symlinks tidak didukung secara native, meskipun ada driver pihak ke-3 yang menyediakan dukungan symlink pada Windows XP.)
Memperbarui
Saya telah menemukan perbedaan lain.
- Symbolic Link - Izin tautan hanya memengaruhi operasi hapus / ganti nama pada tautan itu sendiri, akses baca / tulis (ke target) diatur oleh izin target
- Junction - Izin Junction memengaruhi enumerasi, mencabut izin pada persimpangan akan menolak daftar file melalui persimpangan itu, bahkan jika folder target memiliki ACL yang lebih permisif.
Izin membuatnya menarik, karena symlink dapat memungkinkan aplikasi lawas untuk mengakses file konfigurasi di area yang dibatasi UAC (seperti %ProgramFiles%
) tanpa mengubah izin akses yang ada, dengan menyimpan file di lokasi yang tidak dibatasi dan membuat symlink di direktori terbatas.
Perbarui 2
Windows 8.1 akan menyelesaikan tautan direktori simbolis ketika menavigasi ke satu melalui kotak teks di Save As...
kotak dialog. Persimpangan tidak diperluas.
mount.cifs
, maka symlink akan muncul seperti itu sedangkan persimpangan akan dilihat sebagai direktori normal - mungkin karena titik di mana resolusi IO terjadi, yaitu secara lokal pada host Windows.