Operations 7 min read

How to Safely Delete Symbolic and Hard Links in Linux

This guide explains what symbolic and hard links are in Linux and provides step‑by‑step commands—using rm, unlink, and appropriate options—to remove single or multiple links, including those pointing to directories, while avoiding common pitfalls.

Liangxu Linux
Liangxu Linux
Liangxu Linux
How to Safely Delete Symbolic and Hard Links in Linux

What is a symbolic link?

A symbolic (or soft) link is a special file that acts as a shortcut pointing to another file or directory. It is created with ln -s and can be identified in ls -l output by the leading l permission character.

Deleting a symbolic link with rm

The generic rm command removes files and directories. To delete a single symlink, provide its path: rm symbolic_link_name Example:

$ ls -l
lrwxrwxrwx 1 user user 26 Oct 17 11:24 mylink -> ./Documents/sample-mark.md
$ rm mylink
$ ls -l

The target file remains untouched.

Removing multiple symbolic links at once

You can list several links after rm to delete them in one command:

rm symlink1 symlink2 symlink3

Using unlink to delete a symlink

The unlink command also removes a link, but it cannot handle multiple arguments and will delete a regular file if given its name:

unlink symbolic_link_name

Deleting a symlink that points to a directory

Even when the link points to a directory, you do **not** need the -r (recursive) option. Use the same rm syntax: rm dir_link_name Do not append a trailing slash; otherwise rm will treat it as a directory and refuse to delete it:

$ rm link_to_dir/</code>
<code>rm: cannot remove 'link_to_dir/': Is a directory

Deleting hard links

Hard links are indistinguishable from the original file except for their inode number. They are removed the same way as regular files:

rm hard_link_name

What happens when you delete a link file?

Removing a symlink does not affect the target file. If you need to delete the target as well, resolve the link first: rm "$(readlink '/path/to/link')" /path/to/link If the target is deleted but the link remains, the link becomes a dangling (broken) reference.

Best practice

Because rm is familiar and works for both files and links, it is generally recommended over unlink for removing symbolic links.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Linuxfile systemHard LinkSymbolic LinkUNLINKrm command
Liangxu Linux
Written by

Liangxu Linux

Liangxu, a self‑taught IT professional now working as a Linux development engineer at a Fortune 500 multinational, shares extensive Linux knowledge—fundamentals, applications, tools, plus Git, databases, Raspberry Pi, etc. (Reply “Linux” to receive essential resources.)

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.