2011-03-31 137 views
3

例如:在我们需要引用任何目录时的任何命令。然后我们使用dirnamedirname/dir和dir /在linux终端或dos中有什么区别?

它们之间有什么区别呢?

例如, cd dirname VS cd dirname/

cp -R dirname1 dirname2 VS cp -R dirname1 dirname2/ VS cp -R dirname1/ dirname2/

+0

你能显示你正在尝试的命令吗? – 2011-03-31 10:16:17

+0

如果你有一个名为'foo'的链接到一个目录'bar /'的符号链接,'ls foo'将显示'foo',而'ls foo /'将显示'bar /'的内容。正如其他人所说,在其他一些情况下,差异很重要。在大多数情况下,你不会注意到。其他示例:如果有一个名为'directory'的文件(某人犯了一个错误,创建了一个预期为目录的文件)'mv somefile directory'将默默覆盖该文件。但是'mv somefile directory /'会抱怨'directory'没有目录... – 2011-04-05 13:14:19

回答

1

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

大多数上下文,你可以使用任何一个,但事实并非总是如此。

通常,如果你想,比方说,一个文件复制到一个目录中,cp file dirname\弄清楚,你将其复制到一个新的路径。将可视化file附加到路径上,成为dirname\file。符号链接工作时,根据需求,当dirname是符号链接的文件系统不相当在自动转换dirnamedirname\那样聪明,这是最重要的。

0

至少在一个DOS/Windows外壳程序中,通常是没有区别的。有一个例外,我知道:

如果使用

xcopy somefile C:\somepath 

somepath不存在,XCOPY询问是否somepath是一个文件或目录被创建,可使用可避免

xcopy somefile C:\somepath\ 

这将只是创建somepath,并在那里复制somefile

因此,在这种情况下,somepath\使其更清晰,它是一个路径。无论如何,通常你指的是已经存在的路径,所以这两种情况之间没有区别。

+1

您也可以查看_Window_的“[robocopy]”(https://technet.microsoft.com/en-au/library/cc733145.aspx)“命令。 – will 2016-03-07 13:56:14

1

对于Linux的shell:一般情况下,任何一个会工作。假设这两个文件名实际上是目录,包括或省略最后的斜杠应该是可选的。

案例,你可能会注意到一个区别:如果目录实际上是一个符号链接到一个目录,使用最终

  • /失败
  • 几个命令,像rsync的,特别是对待文件名参数结束带/不同