什么是mkdir别名的PowerShell Verb-Noun定义?

时间:2018-04-01 11:02:36

标签: powershell

在Windows PowerShell中,别名md与定义mkdir相关,定义似乎也是别名(即不是动词 - 名词定义。),因为此命令指示:

: get-item -path alias:* | where-object {$_.Definition -eq "mkdir"}

CommandType     Name
-----------     ----
Alias           md -> mkdir

3 个答案:

答案 0 :(得分:10)

PowerShell的Get-Command cmdlet允许您反映命令名称:

PS> Get-Command md

CommandType     Name                                               Version    Source                 
-----------     ----                                               -------    ------                 
Alias           md -> mkdir                                                                          

这告诉您md别名,并且它已解析为名为mkdir的命令。

PS> Get-Command mkdir

CommandType     Name                                               Version    Source                 
-----------     ----                                               -------    ------                 
Function        mkdir                                                                                

这告诉您mkdir功能

要查看该函数的定义(函数体),请访问.Definition返回的对象上的Get-Command属性:

(Get-Command mkdir).Definition # outputs the function's body

上述输出会告诉您mkdir New-Item -ItemType DirectorySplit。 换句话说:它提供了一个特定于文件系统的快捷方式,用于为更通用的proxy function cmdlet创建目录 - 请参阅New-Item以了解PowerShell对驱动器概念的概括。

答案 1 :(得分:2)

mkdir是一个内置函数,可作为New-Item的快捷方式,-ItemType "Directory"为硬编码。它是“让生活变得更轻松”的一部分 - 用于实现从cmd / bash和unix的bash转换更容易的MS包,就像dirtype ++别名(cmd-commands)和{ {1}},ls ++(unix bash-commands)

您可以使用cat查看其功能:

Get-Command

答案 2 :(得分:1)

mdmkdir的别名。但是,mkdir命令不是别名,而是实际上类似于此的PowerShell函数:

Function mkdir($folder)
{
    New-Item $folder -ItemType "directory"
}