目录和目录/在Linuxterminal或在DOS中有什么区别?

例如:在我们需要引用任何目录的任何命令。 然后我们使用dirnamedirname/

他们有什么区别?

例如cd dirname vs cd dirname/

cp -R dirname1 dirname2 vs cp -R dirname1 dirname2/ vs cp -R dirname1/ dirname2/

dirname是目录。 dirname\是最后一个节点是目录的路径。

大多数情况下,您都可以使用,但情况并非总是如此。

通常如果你cp file dirname\复制到一个目录中,可以使用cp file dirname\来清楚地表明你正在将它复制到一个新的路径中。 可视化file被追加到路径,成为dirname\file 。 当使用符号链接时,这是最重要的,因为当dirname是符号链接时,根据需要自动将dirname转换为dirname\时,文件系统不够聪明。

对于linux shell:一般来说,任何一个都可以工作。 假设两个文件名实际上是目录,包括或省略最后一个斜杠应该是可选的。

您可能会注意到不同的情况:

  • 如果dirname实际上是一个目录的符号链接,那么使用最后的/将会失败
  • 一些命令,如rsync,特别处理以/不同结尾的文件名参数

至少在DOS / Windows shell中,通常没有区别。 我知道有一个例外:

如果你使用

 xcopy somefile C:\somepath 

并且somepath不存在,xcopy会询问某个somepath是否是要创建的文件或目录,这是可以避免的

 xcopy somefile C:\somepath\ 

这只会创建一些somepath并在那里复制一些文件。

所以在这种情况下,某些路径会使得它更清晰。 无论如何,通常你指的是一条已经存在的路径,所以两种情况之间没有区别。