REALPATH(1)

NAME
realpath - return resolved canonical path

SYNOPSIS
realpath [-eEq] [path ...]

DESCRIPTION
The realpath utility uses the realpath(3) function to resolve all symbolic links, extra ‘/’ characters and references to /./ and /../ in each path, and writes the result of each to standard output followed by a newline. If path is absent, the current working directory (‘~’). is assumed.

With the -E option (the default) it is not an error for the final component of the resolved pathname to reference a file which does not exist.

The -e option reverses the effect of -E, requiring the path to resolve to an existing pathname.

If -q is specified, warnings will not be printed when realpath(3) fails. Messages about other errors, such as bad usage, are still printed.

On error, nothing is written to standard output for that path. If -q was not given a diagnostic is written to standard error.

EXIT STATUS
Any failure to resolve a path is an error for this purpose, the -q option is irrelevant.

SEE ALSO
readlink(1), realpath(3)

STANDARDS
The realpath utility is expected to comply with the forthcoming edition of the POSIX standard. To be fully POSIX compliant, applications must use either the -e or -E option, as which of those (if in fact either, and not some other behaviour) applies in their absence is unspecified. The standard requires support for only a single, mandatory, path argument.

HISTORY
The realpath utility first appeared in FreeBSD 4.3 and was imported into NetBSD 10, but modified to be slightly more compatible with the coreutils version, and the proposed POSIX standard requirements.