Linux 查找未命中目标?

Linux find misses targets?

我的文件结构如下:

.
├── a.o
└── test_sub
    └── b.o

从 test_sub,"find .. -name *.o" 只产生 b.o。有什么问题吗?

$ find .. -name *.o
../test_sub/b.o

如果重要的话,我正在 Ubuntu 16.04 VM 上进行测试。

您 cmd 中的 *.o 通配符由 shell 解释,而不是由 find 程序解释。因此,当您的 cwd 是 test_sub 时,实际执行的命令是 'find .. -name b.o',它正确地在 ../test_sub.

中找到了 b.o

您真正想要的是 *.o 模式由 find 命令解释。因此,您想转义它,以便 shell 不理会它:

$ 查找 .. -name "*.o"