3

What is the difference between a 'symbolic link' versus a 'junction' when use 'Link Shell Extension' ? Please explain.

3 Answers 3

12

I know this has been answered a while ago, but I was wondering the same thing and found this answer.

The accepted answer is actually not quite correct.

There are symbolic links to files and directories. There are hard links to files.

"Hard links" to directories are called junctions. The thing is, they are not quite hard links. Microsoft calls them Soft links.

"A junction (also called a soft link) differs from a hard link in that the storage objects it references are separate directories, and a junction can link directories located on different local volumes on the same computer. Otherwise, junctions operate identically to hard links. Junctions are implemented through reparse points."

Source: http://msdn.microsoft.com/en-us/library/aa365006(v=vs.85).aspx

3

A symbolic link can be relative to a base directory. A junction point always references the destination absolutely. Even if you create the junction point without specifying an absolute path linkd source destination the created junction point is absolute and will be broken, if you move the two directories into another directory.

2

A symbolic link is a reference to a file object in another part of a file system. Think of it like an alias. A junction is like a symbolic link for directories. You can basically associate two paths to reach the same directory.

I would not recommend using them unless you have a really good reason.

3
  • 1
    wait so windows has 2 things for what we have 1 for in unix? Apr 21, 2010 at 5:10
  • @xenoterracide Symlink is to Junction in Windows as Symlink is to Hardlink in Unix
    – 7wp
    Aug 31, 2012 at 5:47
  • @Unsigned +1 for insight!
    – 7wp
    Nov 16, 2012 at 23:04

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .