---
name: "symlinks"
section: "8"
platform: "linux"
package: "symlinks"
version: "1.4.3-4"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/symlinks/8"
---

# symlinks(8)

symbolic link maintenance utility

## NAME

symlinks - symbolic link maintenance utility

## SYNOPSIS

**symlinks** \[ **-cdorstv** \] dirlist

## DESCRIPTION

**symlinks** scans directories for symbolic links and lists them on stdout, often revealing broken links in the filesystem tree.

Each link is output with a classification of **relative,** **absolute,** **dangling,** **messy,** **lengthy,** or **other\_fs.**

**relative** links are those expressed as paths relative to the directory in which the links reside, usually independent of the mount point of the filesystem.

**absolute** links are those given as an absolute path from the root directory as indicated by a leading slash (/).

**dangling** links are those for which the target of the link does not currently exist. This commonly occurs for **absolute** links when a filesystem is mounted at other than its customary mount point (such as when the normal root filesystem is mounted at /mnt after booting from alternative media).

**messy** links are links which contain unnecessary slashes or dots in the path. These are cleaned up as well when **-c** is specified.

**lengthy** links are links which use "../" more than necessary in the path (eg.  /bin/vi -\> ../bin/vim) These are only detected when **-s** is specified, and are only cleaned up when **-c** is also specified.

**other\_fs** are those links whose target currently resides on a different filesystem from where symlinks was run (most useful with **-r** ).

## OPTIONS

- *-c*

  convert absolute links (within the same filesystem) to relative links. This permits links to maintain their validity regardless of the mount point used for the filesystem -- a desirable setup in most cases. This option also causes any **messy** links to be cleaned up, and, if **-s** was also specified, then **lengthy** links are also shortened. Links affected by **-c** are prefixed with **changed** in the output.

- *-d*

  causes **dangling** links to be removed.

- *-o*

  fix links on other filesystems encountered while recursing. Normally, other filesystems encountered are not modified by symlinks.

- *-r*

  recursively operate on subdirectories within the same filesystem.

- *-s*

  causes **lengthy** links to be detected.

- *-t*

  is used to test for what **symlinks** would do if **-c** were specified, but without really changing anything.

- *-v*

  show all symbolic links.  By default,  **relative** links are not shown unless  **-v** is specified.

## BUGS

**symlinks** does not recurse or change links across filesystems.

## AUTHOR

**symlinks** was created by Mark Lord \<mlord@pobox.com\>. The current maintainer is J. Brandt Buckley \<brandt@runlevel1.com\>.

## SEE ALSO

[**symlink**(2)](/symlink/2.md)
