SYMLINKS
Section: User Commands (1)
Updated: Jan 2020
Page Index
NAME
symlinks - symbolic link maintenance utility
SYNOPSIS
symlinks
[
-cdorstvC
]
LINK|DIR ...
DESCRIPTION
symlinks
is a useful utility for maintainers of FTP sites, CDROMs,
and Linux software distributions.
It scans directories for symbolic links and lists them on stdout,
often revealing flaws 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.
- -C
-
chroot to current directory before looking at dirlist.
You need to be root for the chroot() call to work,
and all paths given as args must be relative to the current directory.
BUGS
symlinks
does not recurse or change links across filesystems.
AUTHOR
symlinks
has been written by Mark Lord <
mlord@pobox.com>, the original developer and maintainer
of the IDE Performance Package for linux, the Linux IDE Driver subsystem, hdparm, and a current day libata hacker.
SEE ALSO
symlink(2)