Hard link

<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 <old name> <new name>

where <old name> and <new name> 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).


< Previous Terms Terms Containing hard link Next Terms >
hard disk
hard disk drive
hard drive
hard link
hard linking
symbolic link
hard linking
hard sector
Hardware Abstraction Layer
hardware circular buffer