Powershell介绍
在不同的操作系统中,会有不同的命令提示符。在Mac中,默认使用的就是Bash,也有好多人通过oh my zsh使用zsh。而在Windows系统,命令行提示符有CMD.exe和Powershell两种。
Powershell是cmd的超集,换句话说,cmd能做的事情,Powershell都能做,可以直接在Powershell中执行CMD的命令,而且Powershell还能额外做许多cmd不能做的事情。
PowerShell里的变量使用
变量可以临时保存数据,使用的时候可以把把数据存在变量中,以便进一步操作。
变量名格式
在powershell中变量名均是以美元符”$”开始,剩余字符可以是数字、字母、下划线的任意字符,并且powershell变量名大小写不敏感($a和$A 是同一个变量)。
某些特殊的字符在powershell中有特殊的用途,一般不推荐使用这些字符作为变量名。当然你硬要使用,请把整个变量名后缀用花括号括起来。
PS C:\test> ${"I"like $}="test"
PS C:\test> ${"I"like $}
test
查找正在使用的变量
PS C:\Users> ls variable:
Name Value
---- -----
"I"like $ test
...
设置变量
PS D:\> $a = 5
PS D:\> $a * 4
20
PS D:\> "sdf".substring(2)
f
PS D:\> $str = "powershell"
PS D:\> $str.substring($str.indexOf("s"))
shell
powershell支持.net的方法:截取字符串、if语句判断等这些都没有问题。可以根据自己需要来去使用。
常用的变量知识大概这么多,其它更多变量知识可以参考Powershell 定义变量。
PowerShell常用命令
Start-Process,别名:start + 路径, 打开当前文件夹
# 把路径存储为变量,打开路径地址的文件
PS D:\> $variable = "D:\"
PS D:\> start $variable
# 以管理员身份启动Powershell
PS D:\> start -FilePath "powershell" -Verb RunAs
Get-ChildItem,别名:ls、dir, 列出文件夹下所有文件
PS D:\> ls
目录: D:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2020/1/20 11:58 Downloads
...
Get-History,别名:history、h,列出之前的操作命令
PS D:\> history
Id CommandLine
-- -----------
1 Start D:
2 Start D
3 ${"I"like $}="test"
...
Get-Process, 别名:ps,查找进程, 可以通过进程名称或者进程ID来获取特定进程
➜ ~ ps wechat
Handles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName
------- ------ ----- ----- ------ -- -- -----------
1255 81 153952 183020 220.53 5832 2 WeChat
new-item,别名:ni <filename.txt>, 创建一个新的文本文件
PS D:\> ni test.txt
目录: D:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2020/7/25 16:29 0 test.txt
remove-item,别名: rm、del, 删除或删除文件
PS D:\> rm test.txt
copy-item,别名:cp,copy, 复制文件
PS D:\> cp test.txt test1.txt
get-location,别名:pwd, 当前目录位置
PS D:\> pwd
Path
----
D:\
GET-HELP, 缩写help,查看命令的帮助
get-help get-process
其他命令
- get-date, 别名:date,获取系统当前时间
- Get-Command,别名:gcm, 查找所有命令,可以通过通配符查找,如:get-command *process
- write-output, 别名:echo、 write, 把东西输出发送到管道,从那里它可以通过管道传输到另一个cmdlet或者变量
- write-host 直接输出到控制台
- get-content,别名:cat, 输出文件内容到控制台
- Install-Module module-name -Scope CurrentUser,从在线库中找到包并安装包到本地
- Import-Module module-name,导入包
- chcp, 修改当前的编码方式,默认936(GB2312),可以通过
chcp 65001
设置为UTF-8格式
更多可以查看PowerShell官方文档。
write-output 与 write-host 区别
$a = 'Testing Write-OutPut' | Write-Output
$b = 'Testing Write-Host' | Write-Host
Get-Variable a,b
编辑器
- Windows Terminal,微软新出的命令行工具,界面很好用,可以直接在Store中下载安装,如果想配置好看的Terminal主题和git配置,可以点击链接查看
- CMDER, 默认安装了很多好用的配置,比如git,也附带了好看的主题,喜欢的可以直接官网下载安装。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。