PhilHibbs Asked: 2019-09-27 05:43:53 +0800 CST2019-09-27 05:43:53 +0800 CST 2019-09-27 05:43:53 +0800 CST 为什么 find 有时会 find 。有时不是? 772 find -name "?" find ~ -name "?" 为什么这些命令之一找到.而另一个没有?如何使具有显式路径的第二个版本.在指定目录中找到该条目以及任何其他单字符文件? find (GNU findutils) 4.5.11以防万一…… bash gnu 1 个回答 Voted Best Answer bitinerant 2019-09-27T06:14:00+08:002019-09-27T06:14:00+08:00 没有starting pointfor find,它使用.(当前目录)。事实上,这两行将产生相同的输出: find -name "?" find . -name "?" 为了能够指定起点并找到目录,请添加find到起点,即:./. find ~/. -name "?" 编辑:现在对于为什么的问题,让我们比较这两个命令: find ~/. -name "?" find ~ -name "?" 它们的输出有两个不同之处。首先,命令 with/.产生的结果在每一行都有一个额外的结果/.,正如预期的那样。其次,这是 OP 的根本问题,是/.命令自己找到~/.伪目录,但~命令没有。这是因为~/.搜索明确要求.被搜索。除非它在find命令行中列出,否则find忽略.和..伪目录。(如果没有,你能想象吗?) 有关man find更多信息,请参阅。
没有
starting point
forfind
,它使用.
(当前目录)。事实上,这两行将产生相同的输出:为了能够指定起点并找到目录,请添加
find
到起点,即:.
/.
编辑:现在对于为什么的问题,让我们比较这两个命令:
它们的输出有两个不同之处。首先,命令 with
/.
产生的结果在每一行都有一个额外的结果/.
,正如预期的那样。其次,这是 OP 的根本问题,是/.
命令自己找到~/.
伪目录,但~
命令没有。这是因为~/.
搜索明确要求.
被搜索。除非它在find
命令行中列出,否则find
忽略.
和..
伪目录。(如果没有,你能想象吗?)有关
man find
更多信息,请参阅。