首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >如何查找软链接的最终目标文件

如何查找软链接的最终目标文件

作者头像
KINGYT
发布2019-10-10 10:56:46
发布2019-10-10 10:56:46
5.5K0
举报

一般我们查看软链接的目标文件都是用 ls -l 这种形式,但它只能查看该软链接的当前目标,如果该目标又是一个软链接的话,该命令并不会递归查找,最终输出真实的目标文件。

那有没有什么方法可以输出软链接的最终目标文件呢?

当然有,下面用个小实验来展示下。

先创建以下文件:

代码语言:javascript
复制
$ tree
.
├── a
│   └── a.txt
├── b
│   └── b.txt -> ../a/a.txt
└── c
    └── c.txt -> ../b/b.txt

3 directories, 3 files

如果用 ls -l 命令,只会输出软链接的当前目标,比如下面这样:

代码语言:javascript
复制
$ ls -l c/c.txt
lrwxrwxrwx 1 yt yt 10 Oct  9 18:43 c/c.txt -> ../b/b.txt

如果我们想知道c.txt这个软链接最终指向哪个文件,可以用下面的命令:

代码语言:javascript
复制
$ realpath c/c.txt
/home/yt/test/a/a.txt

由上可见,realpath命令遍历所有软链接后,输出了c.txt最终指向的目标文件,而且还是以绝对路径形式输出的。

那有没有什么方法可以查看寻找最终目标文件的整个过程呢?

用下面的命令:

代码语言:javascript
复制
$ namei c/c.txt
f: c/c.txt
 d c
 l c.txt -> ../b/b.txt
   d ..
   d b
   l b.txt -> ../a/a.txt
     d ..
     d a
     - a.txt

希望对你有所帮助。

完。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Linux内核及JVM底层相关技术研究 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档