PowerShell: 作为一个PowerShell菜鸟,如何快速入门?掌握这些就够了

可能大家看到这个标题要说我是标题党了,不过没关系了。这篇文章算是我的处女作,所以再怎么花哨我都不觉得过分。好啦,废话不多讲。

作为一个考试不喜欢写作文,工作不喜欢写总结,平时不喜欢写日记的人----我居然写blog了。工作10年之后我开始写blog了!!!!天啊我到底是哪根筋不对。

1. 我为什么要写PowerShell?

其实没有太多原因,本人平生所学驳杂,但是无一专精,实在惭愧。但是PowerShell又是自己在平时日常工作中用的最多的一种脚本语言,所以就选他了。但是在这里我不会系统的讲什么是PowerShell,语法是什么,只是给大家分享一些日常使用的小技巧,来帮助我们提高工作效率.

可能大家要问了,不是有Python吗?不好意思本人用powershell的时候Python还没有现在这么火。况且语言没有好坏,适合自己的才是最好的。

2. 开始我们的PowerShell之旅

用Mac/Linux的大神们出门右拐。
其实我个人对PowerShell是有感情的。为啥?因为他简单上手快,Windows原生的。而且自从PowerShell开源之后发展迅速,功能强大,扩展性好。而且在Windows平台下的Server管理异常的强大,简直就如同Linux下的Shell。

a) 打开PowerShell

>使用鼠标打开

点击开始->Windows PowerShell ,就打开了一个PowerShell的运行环境
用鼠标打开PowerShell
PowerShell窗口

>使用键盘打开

1 按Windows->输入PowerShell
在这里插入图片描述
2 按Windows+R->输入PowerShell
在这里插入图片描述

b) 来来来,试试Hello World

来看看我们的系统里面都有那些程序在跑

Get-Process

在这里插入图片描述
啊?什么?
你们说这不是Hello World 别天真了,都这么时代了还要真的来个Hello World?
来吧来吧

Write-host "Hello World"

言归正传,我们再来看看有几个powershell进程

get-process | ?{$_.Name -eq "powershell"}

结果如下
在这里插入图片描述
我们来看下这条简单语句中包含的几个神奇的符号

符号含义
|管道操作符
?相当于命令 where-object 设置查询条件
$_自动变量
-eq比较运算符
第一个管道操作符 |

这个管道操作符可以说简直是PowerShell的艺术魅力所在。在PowerShell里面一切输入输出皆为对象(区别与其它的脚本语言),任何对象都可以往管道里面塞。

那么何为对象(单生狗请忽略)?何为管道?

对象我不解释了,大家都是老司机了谁有没有点面向对象的sense是吧。这个特点其实是基于高级语言而来的,因为PowerShell是基于C#开发的,而C#是强类型的高级语言,一切实例皆为对象。所以PowerShell也继承了这个优点。所以其实PowerShell其实是可以和C#无缝集成的。那么使用过C#的老司机要恭喜你了,完全没压力使用PowerShell,完全不需要什么学习成本。分分钟就能学会。

管道呢?字面意思大家都能理解。一根管子嘛,这头进去,那头出来。但是真正的艺术不在于一根管道。

想象一下我们把多跟管子用接头链接起来,然后把生产原料(对象)从管子的一头放进去,会从管子的另一头出来什么?哈哈当然还是生产原料(对象)这一点很重要。你们可能要骂我了,这说了等于没说。

我们再想象一下如果链接管子的不再是接头而是各种各样的生产设备,那么另一头出来的有可能是美酒,有可能汽油,有可能是牛奶或者奶粉。就像下面这张图。没错这才是管道艺术,你不需要关心里面发生了什么,只需要用管道链接你的生产设备(处理程序)那么就能创造出你想要的艺术。

那么PowerShell也是可以这样的,我们可以用多个管道符来链接不同的处理程序,然后最终输出我们想要的结果。
比如:

Command-1 | Command-2 | Command-3

在这里插入图片描述

不过瘾?来看个稍微复杂点的

Get-ChildItem -Path *.txt |
  Where-Object {$_.length -gt 10000} |
    Sort-Object -Property length |
      Format-Table -Property name, length

还可以简化一下

Get-ChildItem -Path *.txt | ?{$_.length -gt 10000} | sort  -Property length | ft -Property name, length

是不是碉堡了?
在这里插入图片描述
如果要实现同样的功能,用C#或者其它高级语言的代码量是可以想象的。当然我们不用关心这段代码的实际意义哈:)
关于管道符的更多官方解释请移步这里。E文嘛,没关系,微软貌似可以直接转中文的,如果觉得转的不好看可以来找我。 当然观看文档的时候请注意你自己使用的版本。

第二个符号条件查询 ?

? – 实际上他是 where-object 的别名,就是为了图方便。当然你也可以把它设置成其它符号,但是建议不要有这样的骚操作。因为别人不知道,你也可能忘记,在将来的某一天你一定会说 我艹。
那么这个东西有啥用?你在数据库里面的where有啥用,这个就有啥用。就是要在茫茫对象中找到你的那个它,然后用管道送到下一站盘它。上一个管道符已经演示了,这里就不赘述了。

第三个符号自动变量 $_

PowerShell 有很多保留的自动变量$_ 就是其中之一。啥是自动变量呢?就是在你的脚本运行过程中运行环境自动申明和赋值的一些变量,在合适的情况下直接引用就可以了。但是还是要注意上下文。

$_ 在管道操作过程中使用的最多。
比如下面这段代码:

Get-ChildItem -Path *.txt | %{Write-Host $_.FullName}

输出如下:
在这里插入图片描述
那么看到这里的你想象一下下面这段代码的第二个 $_ 是什么类型的呢?

Get-ChildItem -Path *.txt | %{Write-Host $_.FullName} | %{Write-host $_.length}
第四个符号比较运算符 -eq

老司机们是不是是个编程语言都有比较?如果没有,那就是我孤陋寡闻,请不要吐口水。

那为啥PowerShell要高些这么奇怪的运算符呢?不是C#无缝集成吗?因为PowerShell里面好多运算符都被保留作他用了,确切的说是Windows本身也有好多保留的符号。比如 &> , < , ^| 至于这些符号在Windows里面有啥特殊含义,不属于本文讨论范围。

所以自己挖的坑跪着也要把他填完。于是PowerShell搞了一套奇怪的逻辑运算符比较运算符, 算术运算符
下面列几个跟本文相关的几个比较运算符:
在这里插入图片描述

3. 结束语

你掌握的语言已经足够强大,没有发挥出应有的作用可能是姿势不对。
哎呀不行了,第一篇blog写的我两眼发花,高龄搬砖家真的伤不起。共勉,共勉。
晚安了各位!

我会定期更新PowerShell相关的系列文章帮你提高搬砖效率。
有什么需求的也可以直接私信我,我会把我所知道的分享给大家。

整理了部分近期发布的文章仅供大家参考:

  1. 为什么大神们的文章看起来那么酷?除了写的好还使用了生动的动图(gif)。一款【免费】的动图工具screentogif了解一下
  2. Powershell:使用PSCustomObject,序列化执行结果
  3. PowerShell: 为啥大神们的PowerShell窗口还有智能提示?因为他设置了这个
  4. PowerShell: 远程管理除了知道Invoke-Command,还应该掌握Enter-PSSession这个命令
  5. PowerShell: RDP管理服务器效率低下,使用invoke-command同时维护多台服务器不再难
  6. PowerShell:用原生PowerShell就能解决访问web资源时的ADFS认证问题
  7. PowerShell:不需要学Python,使用powershell也能处理Excel提高办公效率
  8. PowerShell:作为一个PowerShell菜鸟,如何快速入门?掌握这些就够了
  • 70
    点赞
  • 361
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
### 回答1: PowerShell是一种用于自动化任务和配置管理的脚本语言和命令行工具。在PowerShell中,我们可以使用线性回归来分析和预测变量之间的线性关系。 在进行线性回归分析时,我们首先需要收集足够的数据,其中包含我们感兴趣的自变量(输入)和因变量(输出)。然后,我们可以使用PowerShell中的相关函数和方法来执行线性回归。 一种常用的方法是使用PowerShell中的`Measure-Object` cmdlet来计算自变量和因变量之间的相关系数。该命令返回Pearson相关系数的值,它表示自变量和因变量之间的线性关系强度和方向。 另一种方法是使用PowerShell中的`Invoke-R`函数执行线性回归。该函数需要我们提供自变量和因变量的数据,并返回线性回归模型的系数和截距。通过这些系数和截距,我们可以预测一个给定自变量的因变量的值。 以下是一个使用PowerShell进行线性回归的示例: ```powershell # 定义自变量和因变量数据 $X = 1, 2, 3, 4, 5 $Y = 2, 4, 6, 8, 10 # 计算相关系数 $correlation = $X | Measure-Object -Correlation $Y | Select-Object -ExpandProperty Correlation # 输出相关系数 Write-Host "相关系数:" $correlation # 执行线性回归 $model = Invoke-R -X $X -Y $Y # 输出线性回归模型的系数和截距 Write-Host "系数:" $model.Coefficients Write-Host "截距:" $model.Intercept ``` 使用PowerShell进行线性回归可以帮助我们分析和预测变量之间的线性关系,从而更好地理解数据和做出相应的决策。 ### 回答2: PowerShell是一种强大的脚本编程语言,可以用于自动化任务和系统管理。虽然PowerShell本身并没有提供内建的线性回归功能,但我们可以使用其内建的数学和数据处理功能来实现线性回归。 要执行线性回归,我们首先需要收集一组相关的数据,包括自变量(即输入)和因变量(即输出)。在PowerShell中,我们可以使用数组或CSV文件来存储这些数据。 然后,我们可以使用PowerShell内建的统计计算函数来计算回归系数。首先,我们可以计算自变量和因变量的均值,然后计算自变量和因变量之间的协方差。接下来,我们可以将协方差除以自变量的方差,得到回归系数。 下面是一个示例代码,演示了如何使用PowerShell进行简单的线性回归: ```powershell # 输入数据 $inputs = @(1, 2, 3, 4, 5) $outputs = @(3, 5, 7, 9, 11) # 计算均值 $inputMean = $inputs | Measure-Object -Average | Select-Object -ExpandProperty Average $outputMean = $outputs | Measure-Object -Average | Select-Object -ExpandProperty Average # 计算协方差 $covariance = 0 for ($i = 0; $i -lt $inputs.Length; $i++) { $covariance += ($inputs[$i] - $inputMean) * ($outputs[$i] - $outputMean) } $covariance /= $inputs.Length # 计算自变量的方差 $inputVariance = $inputs | Measure-Object -Variance | Select-Object -ExpandProperty Variance # 计算回归系数 $regressionCoefficient = $covariance / $inputVariance Write-Host "回归系数: $regressionCoefficient" ``` 在上面的示例中,我们先输入了一组数据,然后计算了自变量和因变量的均值。接下来,我们通过循环计算了协方差,并使用PowerShell的统计函数来计算自变量的方差。最后,我们将协方差除以自变量的方差,得到了线性回归的系数。 这只是一个简单的示例,PowerShell还提供了其他数学和数据处理的功能,可以用于更复杂的线性回归分析。通过PowerShell的灵活性和功能强大的脚本编程能力,我们可以自定义和扩展线性回归算法,以满足特定需求。 ### 回答3: 线性回归可以通过Powershell编程语言实现。Powershell是一种用于自动化任务和脚本编写的强大工具,它支持许多数学和统计分析库。 要在Powershell中实现线性回归,可以使用线性代数库来计算斜率和截距。首先,需要收集所需的数据集,数据集应包含输入变量(自变量)和输出变量(因变量)。然后,可以根据数据集来计算最佳拟合线的斜率和截距。 在Powershell中,可以使用矩阵和向量操作来执行线性回归计算。可以使用Matrix类和Vector类来进行相关计算。首先,将输入变量和输出变量加载到矩阵和向量中。然后,可以使用矩阵和向量的操作来计算最佳拟合线的斜率和截距。 一种常见的方法是最小二乘法。最小二乘法可以最小化实际输出和预测输出之间的平方差。使用矩阵和向量操作,可以计算出斜率和截距。计算结果可以用于预测输入变量对应的输出变量。 最后,可以使用绘图库将数据集和最佳拟合线可视化。可以使用一些Powershell的图表库来生成散点图和回归线。 总而言之,Powershell可以通过使用线性代数库和数学函数来实现线性回归。将数据集加载到矩阵和向量中,执行相关计算来计算斜率和截距,并使用绘图库可视化结果。通过这种方法,可以在Powershell中实现线性回归分析。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT大厨

技术人,都不易,谢谢大大赏赐

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值