首页>教程>Linux 命令手册> 文件与目录操作 >Linux realpath 命令 - 获取文件或目录绝对路径

Linux realpath 命令 - 获取文件或目录绝对路径

realpath 命令是 Linux / Unix 系统中用于解析并输出文件 / 目录绝对路径的命令,可自动处理软链接、相对路径、上级目录等路径格式,同时支持自定义解析规则、输出相对路径等功能,可以应用在脚本开发或文件管理中。

realpath 命令语法

realpath 命令的语法结构非常的简单,具体语法形式为:

realpath [选项]... 文件/目录...

语法结构解释说明:

  • [选项]...:可选的内容,用于执行不同的路径解析规则,可以同时使用多个选项
  • 文件/目录...:必选的内容,需要获取绝对路径的文件/目录,支持相对路径、绝对路径、软链接等形式

realpath 命令示例

如下给出一些 realpath 命令的常用的示例,关于更多的功能可以查看: realpath 命令的选项详解

获取绝对路径

不使用任何选项,默认会获取文件或目录的绝对路径:

realpath ./test.txt

校验路径是否存在

使用 -e / --canonicalize-existing 选项校验路径是否存在:

realpath -e /home/user/docs

如果路径存在,会输出绝对路径;如果路径不存在,会输出「没有那个文件或目录」

指定相对目录的路径

使用 --relative-to=DIR 选项指定相对路径的基准目录:

realpath --relative-to=/home/user /home/user/docs/file.txt

realpath 命令选项详解

如下给出 realpath 命令的所有选项的详细解释说明:

选项功能说明
-e, --canonicalize-existing执行严格模式,路径的所有部分都必须真实存在,不存在会输出错误信息
-m, --canonicalize-missing执行宽松模式,路径的所有部分无需存在,中间部分也可以不是目录,主要用来标准化路径信息
-L, --logical执行逻辑解析,优先解析路径中的 .././ 部分,再解析软链接
-P, --physical执行物理解析,该选项为默认选项,遇到软链接转换为真实路径
-q, --quiet执行静默模式,只输出少量的错误信息
--relative-to DIR指定基准目录 DIR,输出相对于该目录的相对路径
--relative-base DIRDIR(必须真实存在)为基准,如内容在该目录内则输出相对路径,否则输出绝对路径
-s, --strip, --no-symlinks不转换软链接,保留链接的原始路径信息
-z, --zero以 NUL 字符( ASCII 码 0)作为换行符
--help显示帮助信息并退出
--version输出版本信息并退出

结语

realpath 命令是 Linux / Unix 系统中*用于查看文件或目录绝对路径的工具,可以查看文件的路径、目录的路径以及链接的路径,还可以查看相对于指定目录的相对路径。本文介绍了 realpath 命令的语法结构、使用示例、以及选项的详细解释说明。