PowerShell入门指南(二)·挑战CMD和Bash的PowerShell
作为CMD/Bash的代替使用
如果你想把PowerShell当作原来的CMD命令行使用是完全可以的,甚至还有部分Bash的语法可以使用
PowerShell 命令 | PowerShell 简称 | CMD 命令 | UNIX 命令 | 描述 |
---|---|---|---|---|
Get-ChildItem | gci,dir,ls | dir | ls | 显示当前目录下的所有文件和文件夹 |
Test-Connection | ping | ping | ping | 向目标站点发送一个ICMP接受响应,检查网络连通性 |
Get-Content | gc,type,cat | type | cat | 获取文件内容 |
Get-Command | gcm | help | type, which, compgen | 列出可用的命令 |
Get-Help | help,man | help | apropos,man | 在控制台列出命令的使用文档 |
Clear-Host | cls,clear | cls | clear | 清除屏幕内容 |
Copy-Item | cpi,copy,cp | copy,xcopy,robocopy | cp | 拷贝文件/文件夹到指定位置 |
Move-Item | mi,move,mv | move | mv | 移动文件/文件夹到新位置 |
Remove-Item | ri,del,erase,rmdir,rd,rm | del,erase,rmdir,rd | rm,rmdir | 删除文件/文件夹 |
Rename-Item | rni,ren,mv | ren,rename | mv | 重命名文件/文件夹 |
Get-Location | gl,cd,pwd | cd | pwd | 显示当前工作目录 |
Pop-Location | popd | popd | popd | 将工作路径更改为最近压入堆栈的位置 |
Push-Location | pushd | pushd | pushd | 将工作路径存储到堆栈上 |
Set-Location | sl,cd,chdir | cd,chdir | cd | 更改当前工作目录 |
Tee-Object | tee | 不支持 | tee | 将输入通过管道传递到文件或变量 |
Write-Output | echo,write | echo | echo | 将字符或其他对象输出到标准输出流上 |
Get-Process | gps,ps | tlist,tasklist | ps | 列出当前全部进程 |
Stop-Process | spps,kill | kill,taskkill | kill | 终止指定进程 |
Select-String | sls | findstr | find,grep | 打印匹配的字符行 |
Set-Variable | sv,set | set | env,export,set,setenv | 创建或更改环境变量的内容 |
Invoke-WebRequest | iwr, |
不支持 | wget,curl | 从Internet上的网页获取内容 |
[^1]:curl和wget不在PowerShell Core中,因此不会干扰调用非Windows操作系统的同名组件。
功能键和快捷键
先来了解一下功能键和快捷键
- ALT+F7 清除命令的历史记录
- PgUp PgDn 显示当前会话的第一个命令和最后一个命令
- Enter 执行当前命令
- End 将光标移至当前命令的末尾
- Del 从右开始删除输入的命令字符
- Esc 清空当前命令行
- F2 自动补充历史命令至指定字符
(例如历史记录中存在Get-Process,按F2,提示”Enter char to copy up to”,键入 S,自动补齐命令:Get-Proce) - F4 删除命令行至光标右边指定字符处
- F7 对话框显示命令行历史记录
- F8 检索包含指定字符的命令行历史记录
- F9 根据命令行的历史记录编号选择命令,历史记录编号可以通过F7查看
- ←/→ 左右移动光标
- ↑/↓ 切换命令行的历史记录
- Home 光标移至命令行最左端
- Backspace 从右删除命令行字符
- Ctrl+C 取消正在执行的命令
- Ctrl+←/→ 在单词之间移动光标
- Ctrl+Home 删除光标最左端的所有字符
- Tab 自动补齐命令或者文件名
数值计算
我们可以把powershell当成一个计算器。象键入命令行那样输入数学表达式,回车,powershell会自动计算并把结果输出。常用的加减乘除模(+,-,*,/,%)运算和小括号表达式都支持。
1 | PS C:/pstest> 1+2+3 |
PowerShell也能自动识别计算机容量单位,包括KB,MB,GB,TB,PB
1 | PS C:/pstest> 1pb/1tb |
假如一个网站的每天人均PV操作为5,页面大小为80Kb,主机提供商限制的总流量为10G,那平均每天的最大访客数为:
1 | PS C:/pstest> 10GB/(80KB*5)/30 |