良许Linux教程网 干货合集 Linux 中获取文件的绝对路径具体方法

Linux 中获取文件的绝对路径具体方法

我们介绍了在 Linux 中获取文件完整路径的4种方法,其中 find 和 ls 命令的方式最常见,而 realpath 和 readlink 这两种方法对许多新用户来说可能还清楚,不过任何事情总有第一次,能学习到新的东西总是好的。

我们都知道,在命令行可以使用 pwd 命令来获取当前目录的完整路径(绝对路径):

pwd

那么,如何获取文件的绝对路径呢?有下列几种方法,可以打印文件的完整路径:

  • readlink
  • realpath
  • find
  • ls 和 pwd 组合使用
$ readlink -f sample.txt
/home/gliu/sample.txt
$ realpath -s sample.txt
/home/gliu/sample.txt
$ find $(pwd) -name sample.txt
/home/gliu/sample.txt1.2.3.4.5.6.

下面我们来详细介绍一下这些命令。不过在此之前,我建议先了解一下绝对路径和相对路径概念相关的基础知识。

使用 readlink 获取文件路径

readlink 的最初用途是解析符号链接,不过我们可以用它来显示文件的完整路径,如下为其语法结构:

readlink -f filename1.

如下为一个例子:

$ readlink -f sample.txt
/home/gliu/sample.txt1.2.

使用 realpath 获取文件的完整路径

realpath 原用于解析绝对文件名,在这里我们也可以用它来显示文件的完整路径:

realpath filename1.

下面是一个例子:

$ realpath sample.txt
/home/gliu/sample.txt1.2.

如果使用符号链接,它将显示原始文件的实际路径。你可以强制它不跟随符号链接(即显示当前文件的路径):

realpath -s filename1.

下面是一个示例,默认情况下它显示了源文件的完整路径,然后我强制它显示符号链接,而不是原始文件:

$ realpath linking-park
/home/gliu/Documents/ubuntu-commands.md
$ realpath -s linking-park
/home/gliu/linking-park1.2.3.4.

使用 find 命令获取文件绝对路径

下面是使用 find 命令获取文件路径的方法。

在 find 命令中,如果给定的路径是一个点 . ,那么它将显示相对路径;如果给定的是一个绝对路径,那么就可以获取搜索文件的绝对路径。 使用命令占位符与 find 命令一起使用,如下:

find $(pwd) -name filename1.

我们可以使用这种方式来获取单一文件的绝对路径:

$ find $(pwd) -name sample.txt
/home/gliu/sample.txt1.2.

或者,可以使用匹配模式(比如星号 *)来获取一组文件的路径:

$ find $(pwd) -name "*.pdf"
/home/gliu/Documents/eBooks/think-like-a-programmer.pdf
/home/gliu/Documents/eBooks/linux-guide.pdf
/home/gliu/Documents/eBooks/absolute-open-bsd.pdf
/home/gliu/Documents/eBooks/theory-of-fun-for-game-design.pdf
/home/gliu/Documents/eBooks/Ubuntu 1804 english.pdf
/home/gliu/Documents/eBooks/computer_science_distilled_v1.4.pdf
/home/gliu/Documents/eBooks/the-art-of-debugging-with-gdb-and-eclipse.pdf1.2.3.4.5.6.7.8.

使用 ls 命令打印完整路径

使用 ls 命令来获取文件的绝对路径,稍微优点复杂。 我们可以在 ls 命令中使用环境变量PWD来显示文件和目录的绝对路径,如下:

ls -ld $PWD/*1.

使用上述命令,会得到如下输出:

$ ls -ld $PWD/*
-r--rw-r-- 1 gliu gliu    0 Jul 27 16:57 /home/gliu/test/file2.txt
drwxrwxr-x 2 gliu gliu 4096 Aug 22 16:58 /home/gliu/test/new1.2.3.

要使用上述命令打印某个文件的完整路径,可以如下使用:

ls -l $PWD/filename1.

这虽然不是最好的解决方案,但是很有效,看下面的例子:

$ ls -l $PWD/sample.txt
-rw-r--r-- 1 gliu gliu 12813 Sep  7 11:50 /home/gliu/sample.txt1.2.

以上我们介绍了在 Linux 中获取文件完整路径的4种方法,其中 find 和 ls 命令的方式最常见,而 realpath 和 readlink 这两种方法对许多新用户来说可能还清楚,不过任何事情总有第一次,能学习到新的东西总是好的。

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部