You need to use the realpath command. It will converts each filename argument to an absolute pathname, which has no components that are symbolic links or the special . (current directory) or .. (parent directory) entries.
The realpath command expands all symbolic links and resolves references to /./, /../ and extra '/' characters in the null-terminated string named by path to produce a canonicalized absolute pathname. The resulting pathname is stored as a null-terminated string, up to a maximum of PATH_MAX butes, in the buffer pointed to by resolved_path. The resulting path will have no symbolic link, /./ or /../ components.
Syntax
The syntax is as follows:realpath /path/to/file
realpath /path/to/command
Examples
Type the following command:ls -l /etc/motd
Sample outputs:
lrwxrwxrwx 1 root root 13 2007-10-06 04:52 /etc/motd -> /var/run/motd/etc/motd is a symbolic link, which points to ./var/run/motd. To verify this and to print real absolute path, enter:
realpath /etc/motd
Sample outputs:
/var/run/motd
The -s option
If option -s is used realpath only removes . and .. directories, but not symbolic links from filename.realpath -s /path/to/file
No comments:
Post a Comment