欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PowerShell入门

程序员文章站 2023-12-30 15:11:28
...
PowerShell快捷键
命令 快捷键
ALT+F7 清除命令的历史记录
PgUp PgDn 显示当前会话的第一个命令和最后一个命令
End 将光标移至当前命令的末尾
Del 从右开始删除输入的命令字符
Esc 清空当前命令行
F4 删除命令行至光标右边指定字符处
Home 光标移至命令行最左端
Ctrl+C 取消正在执行的命令
Ctrl+左/右方向键 在单词之间移动光标
Ctrl+Home 删除光标最左端的所有字符
Tab 自动补齐命令或者文件名
重定向与管道
  • 重定向:命令的输出保存到文件中,'>'为覆盖,'>>'追加
    "Powershell Routing" >test.txt
    将字符串输入到test.txt文件,并覆盖原内容

  • 管道:把上一条命令的输出作为下一条命令的输入
    ls | sort -Descending Name | Format-Table Name,Mode
    通过ls获取当前目录的所有文件信息,然后通过Sort -Descending对文件信息按照Name降序排列,最后将排序好的文件的Name和Mode格式化成Table输出

数学运算

除基本加(+)、减(-)、乘(*)、除(/)、模(%)运算以及外,还能自动识别KB,MB,GB,TB,PB等计算机容量单位并进行相关计算。

外部命令
  • netstat查看网络端口状态
  • ipconfig查看自己的网络配置
  • route print查看路由信息
  • cmd /c 接收cmd命令参数 可以通过Cmd /c help 查找可用的Cmd控制台命令
  • 字符串前加& 执行字符串表示的命令 如&"ls"
cmdlet命令别名
  • 查询别名所指的真实cmdlet命令
    Get-Alias -name lsget-alias ls$alias:ls
  • 查看所有以Remove打头的cmdlet的命令的别名
    ls alias: | where {$_.Definition.Startswith("Remove")}
  • 查看所有别名和指向cmdlet的别名的个数
    ls alias: | Group-Object definition | sort -Descending Count
  • 创建别名
    Set-Alias -Name Edit -Value notepad
  • 删除别名
    del alias:Edit
  • 保存别名
    通过Export-Alias将别名导出到文件Export-Alias alias.ps1
    通过Import-Alias将别名导入 Posh Import-Alias alias.ps1
    若显示异常,提示别名已经存在,可以使用Force强制导入Import-Alias -Force alias.ps1
  • 利用函数扩展别名 即将经常使用的参数默认设定在别名 以$args作为参数占位符
Posh> function test-conn { Test-Connection  -Count 2 -ComputerName $args}
Posh> Set-Alias tc test-conn
调用优先级
  1. 别名:控制台首先会寻找输入是否为一个别名,如果是,执行别名所指的命令。因此我们可以通过别名覆盖任意powershell命令,因为别名的优先级最高。
  2. 函数:如果没有找到别名,会继续寻找函数,函数类似别名,只不过它包含了更多的powershell命令。因此可以自定义函数扩充cmdlet 把常用的参数给固化进去。
  3. 命令:如果没有找到函数,控制台会继续寻找命令,即cmdlet,powershell的内部命令。
  4. 脚本:没有找到命令,继续寻找扩展名为“.ps1”的Powershell脚本。
  5. 文件:没有找到脚本,会继续寻找文件,如果没有可用的文件,控制台会抛出异常

上一篇:

下一篇: