Linux realpath:查找给定命令或者文件的绝对路径名

时间:2020-01-09 10:41:58  来源:igfitidea点击:

如何在Linux操作系统下找出给定命令或者文件的规范化绝对路径名?
您需要使用realpath命令。
它将每个文件名参数转换为绝对路径名,该绝对路径名不包含符号链接或者special组成部分。

(当前目录)或者..(父目录)条目。

" realpath命令"展开所有符号链接,并解析对以path命名的以空结尾的字符串中的/./、/../和extra /字符的引用,以生成规范化的绝对路径名。
生成的路径名将以一个以空字符结尾的字符串存储,最多可存储PATH_MAX分支,存储在resolve_path指向的缓冲区中。
结果路径将没有符号链接,/。
/或者/../组件。

语法

语法如下:

realpath /path/to/file
realpath /path/to/command

例子

执行以下命令:

ls -l /etc/motd

输出示例:

lrwxrwxrwx 1 root root 13 2007-10-06 04:52 /etc/motd -> /var/run/motd

/etc/motd是一个符号链接,它指向./var/run/motd。
要验证这一点并打印真实的绝对路径,请执行:

realpath /etc/motd

输出示例:

/var/run/motd

-s选项

如果使用选项-s,则realpath仅除去。
和..目录,但不是来自文件名的符号链接。

realpath -s /path/to/file