In
computing, a hard link is a reference, or pointer, to physical data on a storage volume. On most
file systems, all named files are hard links. The name associated with the file is simply a label that refers the operating system to the actual data. As such, more than one name can be associated with the same data. Though called by different names, any changes made will affect the actual data, regardless of how the file is called at a later time. Hard links can only refer to data that exists on the same file system.
See more at Wikipedia.org...
<
file system> One of several directory entries which refer to the same
Unix file. A hard link is created with the "ln" (link) command:
ln
where and are
pathnames within the same
file system. Hard links to the same file are indistinguishable from each other except that they have different pathnames. They all refer to the same
inode and the inode contains all the information about a file.
The standard ln command does not usually allow you to create a hard link to a directory, chiefly because the standard
rm and
rmdir commands do not allow you to delete such a link. Some systems provide link and
unlink commands which give direct access to the
system calls of the same name, for which no such restrictions apply.
Normally all hard links to a file must be in the same
file system because a directory entry just relates a pathname to an inode within the same file system. The only exception is a
mount point.
The restrictions on hard links to directories and between file systems are very common but are not mandated by
POSIX.
Symbolic links are often used instead of hard links because they do not suffer from these restrictions.
The space associated with a file is not freed until all the hard links to the file are deleted. This explains why the system call to delete a file is called "unlink".
Microsoft Windows NTFS supports hard links via the
fsutil command.
Unix manual page: ln(1).
http://www.microsoft.com/windowsxp/home/using/productdoc/en/fsutil_hardlink.asp.
(2004-02-24)