Home > File & Directory Management > link

link: Create a hard link to a file

The `link` command is used to create a hard link to an existing file. A hard link shares the same inode as the original file, acting as another name that points to the same data within the file system. If the original file is deleted, the data remains accessible as long as a hard link to it exists.

Overview

The `link` command creates a hard link using two specified file paths. The first argument is the path to the existing file, and the second argument is the path for the newly created hard link. This command is similar to the hard link creation functionality of the `ln` command, but it exclusively provides hard link creation without additional options.

Key Features

  • Creates a hard link to an existing file
  • Shares the same inode as the original file
  • Works only within the same file system
  • Cannot create hard links to directories

Usage Examples

Here are a few examples of using the `link` command.

Creating a basic hard link

echo "Hello, World!" > original.txt
link original.txt hardlink.txt
ls -li original.txt hardlink.txt

Creates a hard link named `hardlink.txt` to the file `original.txt`.

Verifying access after deleting the original file

echo "This is a test." > file_to_link.txt
link file_to_link.txt linked_file.txt
rm file_to_link.txt
cat linked_file.txt

Demonstrates that data can still be accessed through the hard link even after the original file is deleted.

Tips & Considerations

Useful tips and points to consider when using the `link` command.

Understanding Hard Links

  • Inode Sharing: Hard links have the same inode number as the original file, meaning both names point to the same actual data. The file system tracks the inode's link count, and the actual data is not deleted until this count reaches zero.
  • File System Boundaries: Hard links can only be created within the same file system. You cannot create a hard link to a file on a different partition or mounted disk. In such cases, you should use a symbolic link (symlink).
  • Cannot Link Directories: The `link` command cannot create hard links to directories. Directory hard links are generally not allowed as they can compromise file system integrity.

Difference between `link` and `ln`

  • Functionality: The `link` command exclusively creates hard links. In contrast, the `ln` command can create symbolic links using the `-s` option and offers more options such as `-f` (force overwrite) and `-v` (verbose output).
  • Ease of Use: In most cases, the `ln` command is more flexible and convenient, making it widely used. `link` is a more basic utility that only provides the hard link creation functionality of `ln`.

Same category commands