PowerShell控制台

打开PowerShell,显示如下界面:

命令提示符前缀为:

PS C:\Users\MaRui>

PS的意思为正在运行PowerShell中,而C:则是我的主目录驱动器号,不同机器会有所不同。

最最最基本的操作与cmd、dos、sh等相同。

cmdlet命令

虽然有超过一百条新的PowerShell命令需要去学习,但是,与大多数命令行界面一样,PowerShell命令已经被标准化。它使用“动词-名词”的命名形式作为一个cmdlet命令。该标准大大降低了学习难度,并且对所有cmdlet命令提供了更好的描述性帮助。

要查看当前PowerShell中所有的cmdlet,使用如下命令:

get-command <enter>

接下来,让我们使用特定的动词列出所有的命令。下面是使用动词"Get“筛选后的cmdlet:

get-command -Verb Get <enter>

其他命令同样可以使用这种筛选方法。这样子组合之后,上百条命令就很好记忆了。

简单举例其他基本常用命令:

get-help <enter>

get-help * <enter>

get-service <enter>

get-help get-service <enter>

试试下列按键吧,看看会发生什么:


Page Up - 跳转到历史缓冲区中的第一个命令。

Page Down - 跳转到历史缓冲区中的最后一个命令。

UpArrow - 向后显示历史缓冲区命令。

DownArrow - 向进显示历史缓冲区命令。

Home - 跳跃到命令行的开头。

End - 跳跃到命令行的末尾。

Ctrl + LeftArrow - 到最左侧字符。

Ctrl + RightArrow - 到右侧单词结尾。

Tab - 完成输入(在控制台中键入GET - C和按TAB键,再按下Tab试试)。

F7键 - 显示历史缓冲区(使用向上和向下箭头键来浏览缓冲区)。

或者在别的窗口复制一段文字,在PowerShell上按鼠标右键试试,类似于sh下的鼠标中键的作用。


在PowerShell命令中,还有一类被称之为“原生窗口命令”。例如我们可以从PowerShell命令行启动services.msc的GUI窗口。

services.msc <enter>

既然我们使用PowerShell,那么就可以无视services.msc了。

下列是对服务进行操作的命令<以Brower服务为例>:

get-service -name Browser <enter>
stop-service -name Browser <enter>
get-service -name Browser <enter>

需要注意的是:在使用cmdlet停止服务时不会有任何迹象来向用户告知该服务已经成功停止的。

同样,启动服务命令:

start-service -name Browser <enter>

启动服务后也不会有任何反馈性迹象表明服务正常启动,除非服务启动失败。

这一段的命令就简单介绍到这里,是不是很简单?只需要记着“动词-名词”这一形式就可以了!

下面贴出PowerShell中的基本运算语法示例

PS C:\> 99 + 100
199

在PowerShell中,可以非常简单的进行数学运算,你所要做的仅仅是输入表达式这么简单,结果就会自动输出,在此过程中不需要使用其他shell中的打印语句等,运算结束后得到的执行结果也不会被随意丢弃掉,而是直接输出,往后我们会学习如何将结果进行丢弃。

PS C:\> "Hello World!"
Hello World!

"Hello World”,就像上面的数学计算,直接输入字符串即可。使用过Perl脚本的会觉得这里很熟悉,因为PowerShell很大程度上借鉴了Perl的优点。

PS C:\> (7 - 2 * 3) / 5
0.2

对于四则混合运算,PowerShell也能很好的支持。在表达式中可以使用( )来调整运算符的优先级和结合性。需要注意的是,PowerShell支持若干种不同的数据类型,例如:int、float、double等等。往后我们会接触到类型转换等内容。

PS C:\> (2+2)*3/7 > c:\fun.txt
PS C:\> type c:\fun.txt
1.71428571428571

同样,除了屏幕输出外,我们可以将结果存储到临时文件,然后使用type命令将文件的结果取回。

PS C:\> $n = (2+2)*3
PS C:\> $n
12
PS C:\> $n / 7
1.71428571428571

另外,我们还可以通过对变量赋值,将运算结果存储到变量中,并使用该变量进行后续的计算。

PS C:\> $files = dir
PS C:\> $files[3]

PS C:\> $files = dir
PS C:\> $files[3]
    Directory: Microsoft.PowerShell.Core\FileSystem::C:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
d-r-- 2010-3-26 21:25 Program Files

作为一个面向对象的语言,我们可以简单的将命令返回的结果赋值给变量。这里的$files中包含了目前所处目录下的目录项的对象集合,使用普通数组访问语法就可以获得该位置的对象。例子中显示了Program Files目录。注意:PowerShell中的数组下标是从0开始的,这点与.Net Common Language Runtime完全一致。

这一节就到这里。有兴趣的童鞋可以继续关注下一节内容。

本文转自melvillo 51CTO博客,原文链接:http://blog.51cto.com/marui/289837,如需转载请自行联系原作者

【探索PowerShell 】【二】基本操作相关推荐

  1. Docker在英雄联盟游戏中的实践探索(二)

    本文讲的是Docker在英雄联盟游戏中的实践探索(二),[编者的话]这篇博客是Riot的Docker实践系列博客的第二篇,主要内容是:基于Cloudbees镜像创建新的Dockerfile,设置了一个 ...

  2. 【探索PowerShell 】【十二】筛选器 - Filters

    筛选器是函数的一种特殊形式. 定义筛选器:  Filter(关键字) 筛选器名 (参数) {代码} 与定义函数不同的是,函数使用"$input"变量来从管道符中获取信息,而筛选器使 ...

  3. EntityFramework用法探索(二)CodeFirst

    Code First,顾名思义,要先写Code,而不是先建立数据库内容. 同样使用与上文 Database First 模式相同的例子,假设需要设计一个零售系统,我们先构建一个 Customer 类. ...

  4. 【探索PowerShell 】【三】PowerShell下使用Aliases

    这一节就来介绍PowerShell下的Aliases. 在PowerShell中,为了习惯于使用,可以使用别名代替命令.例如,Windows老手可以利用像dir.move.type.cls等,当然,为 ...

  5. SketchUp的二次开发探索 (二)菜单栏中放入自己写的插件

    在初识 SketchUp 的 Ruby Code Editor之后, 我们学会了6行代码绘制球体. 但是这不是一个 完整 的插件, 在使用的时候还需要打开 Ruby Code Editor, 粘贴我们 ...

  6. 【探索PowerShell 】【一】初识

    Windows PowerShell 是一个新的-- 好吧,我相信你在看本文之前已经把这句话看过N遍了-- PowerShell是一个由微软的提供的全新shell程序,使用了全新的命令提示和脚本环境. ...

  7. 一个SQL性能问题的优化探索(二)(r11笔记第38天)

    继续前几天的一个案例一个SQL性能问题的优化探索(一)(r11笔记第33天) 如下的SQL语句存在索引字段CARD_NO,但是执行的时候却走了全表扫描,因为这是一个核心表,数据量很大,导致数据库负载很 ...

  8. 【探索PowerShell 】【六】脚本基础简要

    在后续的教程中,我将主要介绍PowerShell的脚本是如何编写的.这一节,先做一个概览和大体的介绍,今天是假日,就先不写太多,明天开始逐条讲解. PowerShell脚本基础知识概览: 常量.变量. ...

  9. iOS底层探索(二) - 写给小白看的Clang编译过程原理

    iOS底层探索(一) - 从零开始认识Clang与LLVM 写在前面 编译器是属于底层知识,在日常开发中少有涉及,但在我的印象中,越接近底层是越需要编程基本功,也是越复杂的.但要想提升技术却始终绕不开 ...

  10. 【Python应用探索笔记二】百度语音合成与识别

    目录 一.使用国内源安装Python的第三方库 二.录音函数模块 1.固定录音时间的录音方式 2.根据音量大小控制录音开关 三.发送音频文件到百度API 四.语音合成 依旧是百度AI开放平台的功能,这 ...

最新文章

  1. C语言的单链表逆序和指定范围逆序
  2. linux安装python虚拟环境_linux环境下安装python虚拟环境及注意事项
  3. Filebeat常用配置
  4. sklearn自学指南(part4)--使用手册的目录
  5. python遗传算法_基于Python的遗传算法特征约简(附代码)
  6. 在mysql中 11div4_雷林鹏分享:MySQL 运算符
  7. Win8Metro(C#)数字图像处理--2.18图像平移变换
  8. Flex控制对主机网页中脚本的访问
  9. css样式:文字led效果(走马灯、轮播)
  10. 智汇华云 | 集群自动化部署服务流程之自动化集群配置(上)
  11. Tapestry5杂谈
  12. tomcat 加载js 中文乱码
  13. 欧拉角与四元数互相转换
  14. 【Unity基础知识之一】 Unity支持 IOS 64-BIT
  15. FAST-LIO论文阅读
  16. vm搭建虚拟服务器,VMware搭建vps虚拟主机,手动分区完整安装
  17. 【Nav2中文网】十一、迁移指南 (四)Galactic到Humble
  18. Android中DecimalFormat的用法
  19. unity重定向_Unity 骨骼动画的运行时重定向
  20. 操作系统中用户态和内核态(系统态)是什么?用户态如何变成内核态?

热门文章

  1. Ubuntu下搭建git服务器步骤
  2. mysql 加锁 索引_把MySQL中的各种锁及其原理都画出来
  3. mysql 碎片率_为什么所有MySQL InnoDB表都碎片化了?
  4. stm32 某个io引脚不能拉高_【stm32f407】IO引脚复用和映射
  5. oracle11g怎样进行闪回,模拟Oracle11g下用Flashback Data Archive进行恢复的若干场景
  6. airpods pro是按压还是触摸_为什么都不推荐购买AirPods Pro,看完这6个缺陷,你就明白了...
  7. python做一个本地搜索_用 python, django 实现的一个很简单的搜索引擎
  8. 数据共享是未来?通用福特丰田联手推进自动驾驶标准制定...
  9. 12.13 Nginx防盗链 12.14 Nginx访问控制 12.15 Nginx解析php相关配置 12.16 Nginx代理
  10. 浅析 @PathVariable 和 @RequestParam(转发,非原创)