Man Linux: Main Page and Category List

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.