目前国内相关的书籍和公众号好像并不是很多,而比较系统的从零基础开始讲起的也比较少,所以就有了这么一个打算,将自己的学习历程和经验分享给大家。由于本人是自学的powershell,难免错误之处或者浅薄之谈,欢迎指出,当第一时间改正。
powershell主要面向Windows的管理员,所以如果这方面平时和工作中基本用不到的话,无需花时间看这个,请把时间用在更加需要学习的地方。
前面我会说的稍微基础些,但是节奏可能会较快,后面会直接结合例子讲解,这样不会显得枯燥。
关于powershell的介绍大家可以直接看WIKI词条,英文不好的可以看我这篇文章PowerShell 概述(https://my.oschina.net/chaoyuew/blog/1616386是我自己对WIKI的简单汉化)。
个人觉得比较精髓的以下几点:
集成到Windows中, 无需像学习Java,Python之类的还要下载各种软件,配置各种环境变量,这个就像CMD一样,可以直接打开运行
面向对象,powershell中一切皆对象,并基于.NET支持C#语法等
脚本语言,无需编译,写好直接运行
由于是微软开发的,所以原则上可以用来自动化任何Windows操作,无论本地还是远程
你在linux上用的基本命令在这里基本都能用,而且功能保持一致,类似cd ,ls …
开源!!!
初窥一览
说了这么多,在哪里找到它?直接打开C:\Windows\System32\WindowsPowerShell\v1.0 就能发现下面2个exe可直接双击打开,或者以管理员身份打开,虽然现在最新的powershell已到6.0版本,但是路径一直没变,江湖消息称:当时微软是打算可以同时安装多个powershell版本到电脑中,类似可以同时安装1.7和1.8版本的Java。但是可能考虑到新版本会完全兼容旧版本功能,所以放弃了这种设计,而文件名还保留了原始的V1.0名称。
Powershell安装目录
powershell初始状态
powershell_ise初始状态
管理员身份打开
管理员身份打开powershell初始状态(powershell_ise类似)
补充一点,在任意目录的地址栏输入powershell或者powershell_ise,然后按enter,打开的shell的工作目录就是当前目录。
基本命令
powershell比较人性化的一点就是它的命令都遵循动词-名词形式,而且都是最简单的单词。例如Get-Process从字面意思上就能猜出来是要查询进程的命令,而事实上确实如此,输入Get-Process按enter结果如下。
Get-Process结果
同时如上文中所说,powershell支持原有Linux命令如ls获取当前目录文件列表,对应的powershell命令是Get-ChildItem,还是一个字面上就能看出来是干什么的命令。
Get-Process结果
我们可以通过Get-Help Get-ChildItem查看这个命令的详细用法和解释,发现别名下面就有ls,这就是为什么输入ls能有相同的效果,补充一点,Get-Help命令有个短写法为Get-ChildItem -?,效果一致。
Get-Help Get-ChildItem
Get-ChildItem -?
这里我们提到了Get-Help命令,这是三大powershell常用命令之一(以后会专门写一篇讲解这3个命令的文章),就是字面意思,专门查看命令的详细帮助信息。
Get-Help
Get-Member
Get-Command
最后以学习新语言都会用到的第一个程序Hello-World结束本篇文章,下篇会详细讲解语法。
运行Hello-World.ps1
领取专属 10元无门槛券
私享最新 技术干货