Powershell中“ cd ..”命令中的“ ..”(DotDot)是什么意思?

时间:2019-10-05 06:45:44

标签: powershell cmd command-line cd

我已经知道它的作用。它只是向后一个目录或文件夹

但是对我来说,神秘的是那两个点。

cd.. #it has the same function as popd with the difference that it changes the 
     #current working directory

如果有人告诉我放置这两个的哲学是什么,我将非常感谢。

2 个答案:

答案 0 :(得分:2)

文件系统路径中的

.. 表示给定路径的 父级路径

..之前没有显式路径,则隐含路径为当前[工作]目录,因此..指的是当前目录的父目录目录

简而言之:带有参数cd ..更改为当前目录的 parent 目录,即目录中上一级目录目录层次结构。

..cd的特定于Shell的使用:

  • 旧版命令处理器cmd.exe (“命令提示符”)-似乎专门用于内部cd命令(请参阅Mofi对问题的评论)-考虑一个.字符以隐式启动cd命令的 argument

    • 因此,像往常一样,使用空格字符cd 命令.. 参数分开, 不必要;也就是说,您可以输入cd .. 而不是cd..,这是cmd.exe用户多年来习惯的快捷方式。
  • PowerShell 允许在命令名称中使用.个字符,因此提交 cd..不会 使用参数cd 调用Set-Location命令(.. cmdlet的内置别名)-相反,它从字面上查找命令命名为 cd..

    • 为容纳习惯于cmd.exe快捷方式的cd..用户,PowerShell附带了一个无参数函数,其名称为cd.. ,以便在cd..中有效地在PowerShell中将cmd.exe作为命令提交。

      • 不过,请注意,cd..有效,也未指定其他组件;也就是说,类似cd..\Foo(在cmd.exe中有效)失败
    • Get-Command cd.. | Format-List显示有关此函数的信息,这表明它仅调用Set-Location ..,相当于cmd.exe的{​​{1}}

答案 1 :(得分:1)

这两个点表示“目录中的上一层”。

cd指定更改目录,而..表示“上一级”。因此,cd..的意思就是您在问题中所说的。

示例:假设您位于文件夹 C:\ x \ y 中。如果您输入cd..,您将进入 C:\ x