博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PowerShell 学习笔记——运行命令
阅读量:6174 次
发布时间:2019-06-21

本文共 1265 字,大约阅读时间需要 4 分钟。

谈到“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 等命令行工具。

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

转载地址:http://anmba.baihongyu.com/

你可能感兴趣的文章
LNMP架构介绍,MySQL安装,PHP安装,Nginx介绍
查看>>
LS命令
查看>>
apache在默认404、403提示页面中隐藏apache版本和系统信息
查看>>
面试题剖析,如何保证消息队列的高可用?
查看>>
深入理解 Java 多线程核心知识:跳槽面试必备
查看>>
python初步
查看>>
Spring Boot FeignClient 捕获异常信息
查看>>
站在巨人肩膀上的牛顿:Kubernetes和SAP Kyma
查看>>
技术工坊|浅谈区块链的Layer2扩展(北京)
查看>>
SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
查看>>
Apache和PHP结合 及 Apache默认虚拟主机
查看>>
添加自定义监控项目配置邮件告警测试告警不发邮件的问题处理
查看>>
solidity智能合约的经典设计模式
查看>>
华为交换网络基础、基本配置、STP/RSTP
查看>>
SpringCloud 微服务 (十七) 容器部署 Docker
查看>>
不定项选择题
查看>>
netty 分析博客
查看>>
Spring Cloud构建微服务架构服务注册与发现
查看>>
BCGControlBar教程:如何将MFC控件的BCGControlBarBCGSuite添加到对话框中
查看>>
深入理解Java8 Lambda表达式
查看>>