• poweshell系列学习笔记一:基础


    目录

    一、PowerShell是什么

    二、PowerShell的安装

    三、快捷键

    四、数学运算

    五、执行外部命令

    六、powershell命令集

    七、别名

    八、执行脚本和文件

     

    一、PowerShell是什么

    powershell是一个跨平台的任务自动化和配置管理框架,也就是运行在windows机器上实现系统和应用程序管理自动化的命令行脚本环境。powershell需要.NET环境的支持,同时也支持.NET对象。

    powershell和windows的cmd、linux的bash很相似,但是又有些许不同。它可以跨平台,传递的是.net对象而不是raw字符串,有面向对象的管道,也能调用.NET的许多功能,听起来很强大吧,所以power呢~

    二、PowerShell的安装

    https://www.pstips.net/powershell-introduction-and-install.html

    查看powershell当前版本

    $PSVersionTable.PSVersion

    三、快捷键

    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会将结果输出(+,-,*,/,%)  

     

     

    同时,powershell还能识别计算机容量单位

    五、执行外部命令

    内部命令是随每次启动的command.com装入du并常驻内存,而外部命令是一条单独的可执行文件。在操作时要记住的是,内部命令在任何时候都可以使用,而外部命令需要保证命令文件在当前的目录中,或已经被加载了路径。

    powershell可以像cmd一样很好的执行外部命令,如ipconfig、route print(打印路由表)、netstat、nc等

    可以输入cmd或cmd.exe来打开cmd程序

     当在powershell中输入一串字符串时,powershell会原样输出,但如果这个字符串是一个程序的名字,那么在字符串前加一个&符号,powershell会执行这个程序

    六、powershell命令集

    cmdlets是Powershell的内部命令

    cmdlet是command-let的缩写,这相当于命令提示符窗口的命令行,所有cmdlet都以标准的“动词-名词”格式命名的,方便我们理解和记忆,如Get-Command命令,就是获得(动词)—命令(名词),输入该命令回车后,Windows PowerShell会为我们显示所有的命令,一共263条哦

    常用cmdlet命令:

      1、Get-Command

      用于检索所有可用cmdlet的列表。

      2、Get-Help

      用于显示有关cmdlet和概念的帮助信息。

      3、Get-WMIObject

      用于通过WMI来检索管理信息。

      4、Get-EventLog

      用于检索Windows事件日志。

      5、Get-Process

      用于检索单个活动进程或活动进程的列表。

      6、Get-Service

      用于检索 Windows 服务。

      7、Get-Content

      用于读入文本文件,将每行视为一个子对象。

      8、Add-Content

      用于将内容附加到文本文件。

      9、Copy-Item

      用于复制文件、文件夹和其他对象。

      10、Get-Acl

      用于检索访问控制列表(ACL)。

    七、别名

    cmdlet 的名称由一个动词和一个名词组成,其功能对用户来讲一目了然。但是对于一个经常使用powershell命令的人每天敲那么多命令也很麻烦啊。能不能把命令缩短一点呢?于是“别名”就应运而生了。Powershell内部也实现了很多常用命令的别名。例如Get-ChildItem,列出当前的子文件或目录。它有两个别名:ls 和 dir,这两个别名来源于unix 的shell和windows的cmd。
    因此别名有两个作用:

      • 继承:继承unix-shell和windows-cmd。
      • 方便:方便用户使用。

    查看别名所指的真实cmdlet命令

    Get-Alias -name 命令

    查看可用的别名:

    dir alias: | where {$_.Definition.Startswith("Get")}  //查看Get开头的cmdlet命令的别名

     dir alias:获取的是别名的数组,通过where对数组元素进行遍历,$_代表当前元素,alias的Definition为String类型,因为powershell支持.net,.net中的string类有一个方法Startswith。通过where过滤集合在powershell中使用非常广泛。

    查看所有别名和指向cmdlet的别名的个数

    ls alias: | Group-Object definition | sort -Descending Count

     创建自己的别名,但是这样创建的别名会在powershell退出时自动删除

     删除内置别名

    del alias:命令

    八、执行脚本和文件

    Powershell运行文件和脚本必须使用绝对路径或者相对路径,或者要运行的文件必须定义在可受信任的环境变量中。

    脚本和批处理都属于伪可执行文件,它们只是包含了若干命令行解释器能够解释和执行的命令行代码。

    批处理是扩展名为”.bat”的文本文件,它可以包含任何cmd控制台能够处理的命令。当批处理文件被打开,Cmd控制台会逐行执行每条命令。

    首先保存这段代码作为ping.bat文件

    @echo off
    echo batch File Test
    pause
    Dir %windir%/system

    以下左边为cmd执行ping命令,右边为powershell执行ping命令,可以看到区别,在cmd中直接执行了ping.bat文件,这是十分危险的,如果有人入侵电脑,并在这个ping.bat文件内写入有害代码,那么在无意中,受害者输入了ping命令,恶意代码就会被直接执行。而在powershell中,输入ping则还是ping命令,这个机制就比较安全。

     在powershell中只有这样才会运行批处理文件

    运行vbs文件

    直接运行

    PS C:UsersOODesktoppowershell> & '.	est .vbs'

    在powershell中运行

    PS C:PS> cscript.exe .test.vbs 

     

    运行powershell文件

    PS C:UsersOODesktoppowershell> .	est.ps1

    参考:https://www.pstips.net/powershell-online-tutorials

  • 相关阅读:
    排序算法 快速排序l两种算法和堆排序
    VC之那些 strcpy 往事
    mysql常用命令小结
    pymongo学习第1篇——增删改查
    通过IntelliJ IDEA创建maven+springmvc+mybatis项目
    python爬虫2——下载文件(中华网图片库下载)
    biz_platform项目过程
    python爬虫1——获取网站源代码(豆瓣图书top250信息)
    一些不错的网址收藏
    git常用操作
  • 原文地址:https://www.cnblogs.com/xiaoxiaosen/p/13435153.html
Copyright © 2020-2023  润新知