如何使用 find 搜索符号链接?

发布于 2024-10-05 03:18:16 字数 432 浏览 3 评论 0原文

这就是我所拥有的:

abc:~/findtests$ ls -l  
total 0  
lrwxrwxrwx 1 abc abc 22 2010-11-30 14:32 link1 -> /home/abc/testpy1.py  

我正在尝试在当前目录中搜索链接 link1

我做到了:

abc:~/findtests$ find -L . -lname 'link1'
abc:~/findtests$ find -P . -lname 'link1'
abc:~/findtests$ find -L . -lname 'test*'
abc:~/findtests$ find -P . -lname 'test*'

但无法得到任何输出。我做错了什么?

This is what I have:

abc:~/findtests$ ls -l  
total 0  
lrwxrwxrwx 1 abc abc 22 2010-11-30 14:32 link1 -> /home/abc/testpy1.py  

I am trying to search for the link link1 in the current directory.

I did :

abc:~/findtests$ find -L . -lname 'link1'
abc:~/findtests$ find -P . -lname 'link1'
abc:~/findtests$ find -L . -lname 'test*'
abc:~/findtests$ find -P . -lname 'test*'

But could not get any output. What am I doing wrong ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

行至春深 2024-10-12 03:18:16

首先,从手册页开始:

“使用 -L 会导致 -lname 和 -ilname 谓词始终返回 false。”

符号链接的目标与“test*”不匹配,因为存在完整路径。尝试“*/测试*”。

To start with, from the man page:

"Using -L causes the -lname and -ilname predicates always to return false."

The target of the symbolic link doesn't match 'test*' because there is the full path. Try '*/test*'.

海拔太高太耀眼 2024-10-12 03:18:16

find 怎么样? -type l -name link1

另外,查找 . -lname '*test*' 似乎对我有用。

How about find . -type l -name link1?

Also, find . -lname '*test*' seems to work for me.

枯寂 2024-10-12 03:18:16

“使用 -L 会导致 -lname 和 -ilname 谓词始终返回 false。” find 手册页说,

所以这两个无论如何都不起作用

,但要解决的问题是通过其目标路径或其名称来查找符号链接,如 aix 的答案所示

"Using -L causes the -lname and -ilname predicates always to return false." says the find man page

so those two wouldn't work anyway

but is the problem to be solved to find a symlink via its target path or by its name as aix's answer does

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文