REALPATH(1)
NAME
realpath - return the canonicalised absolute pathname
SYNOPSIS
realpath [-s|--strip] [-z|--zero] filename ...
realpath --h|--help
realpath --v|--version
DESCRIPTION
realpath converts each filename argument to an absolute pathname, which
has no components that are symbolic links or the special . or ..
directory entries. (See realpath(3) for more information.)
Please note that mostly the same functionality is provided by the `-f'
option of the readlink(1) command.
When the -s option is used realpath only removes the . and .. directories, but not symbolic links from filename. If the given filename
argument is relative (i.e. does not start with `/'), realpath -s
prepends to it the current directory name as obtained from the
getcwd(2) system call before further processing.
Each converted pathname is output to the standard output, on its own
line.
OPTIONS
- -s, --strip
- Only strip . and .., components, but do not resolve symbolic links.
- -z, --zero
- Separate output filenames with the null character instead of newline, so it can be used with the `-0' option of xargs(1).
- -h, --help
- Print short usage information.
- -v, --version
- Show realpath's version number.
EXAMPLES
- For the examples below let's suppose that /usr/bin/X11 is a symbolic
link, pointing to directory /usr/bin.
- Example 1
- Regardless of what the current directory is
realpath /../usr/bin/X11/./xterm
- prints
/usr/bin/xterm
- but
realpath -s /../usr/bin/X11/./xterm
- outputs
/usr/bin/X11/xterm
- Example 2
- When the current directory is /usr/bin/X11 (which is still a symbolic
link to /usr/bin), the output of both
realpath ./xterm
- and
realpath -s ./xterm
- will be
/usr/bin/xterm
- Example 3
- Providing that the current directory is /home/user (and the directory
exists before and during the realpath run), the command
realpath ../path/to/some/./non-existent/./directory/../or/../file
- will fail with the following error
../path/to/some/./non-existent/./directory/../or/../file: No such file or directory
- but
realpath -s ../path/to/some/./non-existent/./directory/../or/../file
- will return
/home/path/to/some/non-existent/file
EXIT STATUS
realpath returns a zero exit code when all pathnames were successfully
converted.
In case of any errors (e.g. missing or unavailable directories in the
path), realpath prints error message to stderr and returns a non-zero
exit code.
SEE ALSO
basename(1), dirname(1), readlink(1), realpath(3)
BUGS
Hopefully none :)
If you find some, please report them via the normal Debian bug reporting system, see the file /usr/share/doc/debian/bug-reporting.txt in the
package doc-debian or the reportbug(1) man page.
AUTHOR
Originally written by Lars Wirzenius <liw@iki.fi>, as a part of the
dwww package. Robert Luberda <robert@debian.org> currently maintains
and extends it.
- realpath is licensed via the GNU General Public License. While it has
been written for Debian, porting it to other systems is strongly
encouraged.