PowerShell 学习笔记——运行命令

谈到“Shell”,很容易与脚本、编程语言等联系起来,这也是很多ITPro不去钻研PowerShell的原因。很多ITPro们认为用好PowerShell就要涉及到复杂的函数、变量、脚本,这或许是一种误解。其实,PowerShell设计的初衷是作为一个高级管理工具,提供给系统管理员使用的。因此,运行命令以达到管理系统的目的,是我们学习PowerShell的开端。

一、什么是Cmdlet

Cmdlet 是一个原生的 PowerShell 命令行工具,虽然它表面上看与普通的 Dos 命令行工具很相似,却有着本质的不同。Cmdlet 比纯 Dos 命令行命令要复杂很多。在 PowerShell 的控制台窗口中可以执行 Dos 命令行命令,反之则不行。

Screen Shot 2017-01-06 at 09.55.37.png

以上截图是分别在 PowerShell 控制台和 Dos 控制台中执行“get-command” 命令的结果。大家可以看到,左边窗口有结果反馈,而右边的 Dos 窗口是找不到命令的信息。如果我们尝试执行一个 Dos 命令的话,结果会如何呢?

Screen Shot 2017-01-06 at 10.00.10.png

二、Cmdlet的命名惯例

没有规矩不成方圆,PowerShell 的 Cmdlet 也是如此。所有的 Cmdlet 命令都是由“动词”+“-”+“名词(单数形式)”组成的,例如:get(动词)-(破折号)command(名词)。可以通过运行 Get-Verb 来查看允许使用的动词列表。

Screen Shot 2017-01-06 at 10.14.06.png

PowerShell 允许自定义名词,因此并不存在 Get-Noun 的 Cmdlet 来显示所有名词。需要注意的是,并不是所有的动词位置的词都是动词,例如:New、Where,这些词是一些带有动词性质的名词(如果你不理解,请补英文课程)。

这种命名规范最大的好处是:可以预先猜测命令,之后可以用帮助系统或者 Get-Command 命令验证。

三、别名

虽然我们掌握了 PowerShell 的命名规范,但在使用中会发现有些命令实在是太长了,以至于用命令补齐的方式也还是嫌它长,这就是需要“别名”的原因。要想知道一个 Cmdlet 命令是否有别名,请执行如下命令:Get-Alias -Definition "Get-Service"

Screen Shot 2017-01-06 at 10.26.31.png

从上图可以看到 Gsv 是 Get-Service 的别名。也可以用 New-Alias 命令创建自定义的别名,但如果你不导出的话,其生命周期仅限于本次会话。

四、一些术语

【Cmdlet】:原生的 PowerShell 命令行工具,仅存在于 PowerShell 和类似 C# 的.Net Framework 语言中。读音:command-let。

【函数(Function)】:与 Cmdlet 类似,是以 PowerShell 自己的脚本语言编写的。

【工作流(workflow)】:是嵌入 PowerShell 的工作流执行系统的一类特殊函数。

【应用程序】:是任意类型的外部可执行程序,包括类似 Ping、ipconfig 等命令行工具。

【命令】:是一个通用术语,代表任何或所有上面提到的术语。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值