Linux readlink 和 realpath 命令新手教程(附实例)Linux readlink 和 realpath 命令新手教程(附实例)Linux readlink 和 realpath 命令新手教程(附实例)Linux readlink 和 realpath 命令新手教程(附实例)
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

Linux readlink 和 realpath 命令新手教程(附实例)

在此页

  1. Linux realpath 和 readlink 命令
  2. Q1。如何使用 realpath 和 readlink 解析路径?
  3. Q2。如何打印相对于目录的解析路径?
  4. Q3。如何摆脱 .. 在路径中?
  5. Q4。如何更改分隔符?
  6. 结论

我们已经讨论了 ln 命令,它可以让您在文件之间创建链接。但也有一些工具可以让您解析这些链接。

在本教程中,我们将讨论 realpath 和 readlink 命令的基础知识,它们在输出中显示已解析的符号链接的意义上是相似的(如果不相同的话)。但在我们这样做之前,值得一提的是,这里的所有示例都已经在 Ubuntu 18.04 LTS 和 Debian 10 上进行了测试。

Linux realpath 和 readlink 命令

如开头所述,realpath 和 readlink 命令都在输出中显示符号链接的解析路径。

以下是它们的语法:

realpath [OPTION]... FILE...
readlink [OPTION]... FILE...

这是他们各自的手册页所说的:

Print the resolved absolute file name
print resolved symbolic links or canonical file names

以下是一些 Q&A 风格的示例,可以让您更好地了解这些工具的工作原理。

Q1。如何使用 realpath 和 readlink 解析路径?

很简单,只需提供文件或路径作为输入。以下示例显示了这两个解析符号链接的命令。

下面是它们如何处理路径:

因此,您可以看到在这两种情况下,这两个命令都成功解析了符号链接。

Q2。如何打印相对于目录的解析路径?

realpath 命令可以让您轻松地做到这一点。例如,假设这是您要尝试执行的操作:

realpath /var/local/Downloadslink

但是,附加要求是使此命令的输出相对于 /home/himanshu 目录。然后以下是您需要执行的命令:

realpath /var/local/Downloadslink --relative-to=/home/himanshu

继承人的输出:

Downloads

所以你可以看到 --relative-to 选项允许你有相对于 /home/himanshu 目录的输出。

Q3.如何摆脱 .. 在路径中?

有时扩展/解析符号链接不是目的,但摆脱路径中的 .. 才是目的。 realpath 命令允许您执行此操作。

您所要做的就是使用 -s 命令行选项。这是一个例子:

realpath -s ../../var/local/Downloadslink

以下是此命令的输出:

/var/local/Downloadslink

Q4.如何更改分隔符?

默认情况下,换行符用作分隔符。但是,这两个命令都提供了一种将 NUL 作为分隔符的方法。

在这两种情况下您需要使用的选项是 -z。

realpath -z [FILE/PATH]
readlink -z [FILE/PATH]

结论

我们在这里讨论的只是这些命令提供的少数选项/功能。完成这些练习后,请前往阅读链接和真实路径手册页(此处)以了解有关这些工具的更多信息。

©2015-2025 艾丽卡 support@alaica.com