Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

realpath(1) [debian man page]

REALPATH(1)							      Debian							       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.) Each path component in the filename must exist, otherwise realpath will fail and non-zero exit status will be returned. Please note that mostly the same functionality is provided by the `-e' 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), chase(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. Debian October 16th, 2011 REALPATH(1)

Check Out this Related Man Page

REALPATH(3)						   BSD Library Functions Manual 					       REALPATH(3)

NAME
realpath -- returns the canonicalized absolute pathname SYNOPSIS
#include <stdlib.h> char * realpath(const char *restrict file_name, char *restrict resolved_name); DESCRIPTION
The realpath() function resolves all symbolic links, extra ``/'' characters, and references to /./ and /../ in file_name. If the resolved_name argument is non-NULL, the resulting absolute pathname is copied there (it must refer to a buffer capable of storing at least PATH_MAX characters). As a permitted extension to the standard, if resolved_name is NULL, memory is allocated for the resulting absolute pathname, and is returned by realpath(). This memory should be freed by a call to free(3) when no longer needed. The realpath() function will resolve both absolute and relative paths and return the absolute pathname corresponding to file_name. All com- ponents of file_name must exist when realpath() is called. RETURN VALUES
On success, the realpath() function returns the address of the resulting absolute pathname, which is resolved_name if it was non-NULL, or the address of newly allocated memory. If an error occurs, realpath() returns NULL. If resolved_name was non-NULL, it will contain the pathname which caused the problem. VARIANTS
Defining _DARWIN_C_SOURCE or _DARWIN_BETTER_REALPATH before including stdio.h will cause the provided implementation of realpath() to use F_GETPATH from fcntl(2) to discover the path. ERRORS
The function realpath() may fail and set the external variable errno for any of the errors specified for the library functions alloca(3), getattrlist(2), getcwd(3), lstat(2), readlink(2), stat(2), and strdup(3). LEGACY SYNOPSIS
#include <sys/param.h> #include <stdlib.h> The include file <sys/param.h> is necessary. LEGACY DESCRIPTION
In legacy mode, the last component of file_name does not need to exist when realpath() is called. SEE ALSO
free(3), getcwd(3), compat(5) HISTORY
The realpath() function first appeared in 4.4BSD. BSD
April 5, 2008 BSD
Man Page