点正斜杠正斜杠(.//)是什么意思?

点正斜杠正斜杠(.//)是什么意思?

我正在使用如下命令查询服务器:

find ./ -type f -name 'filename"

我有很多文件开头

.//library 

或者

.//user

这些事情意味着什么?

答案1

这没有多大意义:你给出的模式find./,并且很容易find将其结果粘贴到该路径上。双斜杠将被忽略(视为单斜杠),除非领导双斜杠对于某些系统可能有一定的意义。更重要的是,可移植程序采用这种行为。

但是,您只会在具有旧版本find(例如 OSX)的 BSD 派生系统中看到这种特殊行为。 NetBSD 尝试在其源代码中修复此问题2005年; OSX 的用户空间是较老的

检查“最近的”FreeBSD、NetBSD 和 OpenBSD,没有一个产生这种行为。 Linux 和 Unix(AIX、HPUX、Solaris)同样不支持。

进一步阅读:

答案2

表示.//当前目录,因此.//user在输出中表示user当前工作目录中的文件。

double//应该解析为 single /,这对于我使用过的所有系统都是如此。虽然,POSIX 仅定义了此行为///(或更多),当然,/.

出现双精度是因为您使用了as//的搜索路径,而不是典型的.两者都表示当前工作目录,并且都是正确的。这是在相对路径的情况下以这种方式附加路径的行为。请注意,这种特定行为仅在系统的子集中普遍存在,例如find./.findfind这个答案提到过,你想必就是其中之一。

答案3

.//是相同的./

第一个斜杠之后的连续斜杠没有语义意义。

相关内容