gpt4 book ai didi

linux - 无法使用查找实用程序找到文件

转载 作者:太空宇宙 更新时间:2023-11-04 04:42:27 28 4
gpt4 key购买 nike

我注意到 linux 有一个奇怪的行为 find实用程序

这是我的目录结构:

[root@machine test]# ls -lR
.:
total 4
drwxr-xr-x. 3 root root 4096 Aug 1 21:25 dir1

./dir1:
total 8
drwxr-xr-x. 2 root root 4096 Aug 1 21:24 dir2
-rw-r--r--. 1 root root 11 Aug 1 21:25 mgmt.py

./dir1/dir2:
total 8
-rw-r--r--. 1 root root 11 Aug 1 21:24 mgmt.py
-rw-r--r--. 1 root root 106 Aug 1 21:24 mgmt.pyc

如果我尝试从顶级目录中查找 mgmt.pyc,我可以在结果中看到它

[root@machine test]# find . -name mgmt*
./dir1/mgmt.py
./dir1/dir2/mgmt.py
./dir1/dir2/mgmt.pyc

但是,如果我尝试从下面的一级找到它,它不会显示在结果中

[root@machine test]# cd dir1/
[root@machine dir1]# find . -name mgmt*
./mgmt.py
./dir2/mgmt.py

我正在使用find以不正确的方式还是其他错误?

最佳答案

如果存在任何匹配的名称,则 shell 会扩展通配符。在dir1子目录中有一个名为mgmt.py的文件,所以

find . -name mgmt*

扩展为

find . -name mgmt.py

find 启动之前。这就是为什么它只精确查找名为 mgmt.py 的文件。

要防止 shell 扩展通配符,只需引用它们即可:

find . -name 'mgmt*'

关于linux - 无法使用查找实用程序找到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57317219/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com