PowerShell之简单命令

本文介绍了PowerShell,一种跨平台的任务自动化解决方案,以及它如何在Windows、Linux和MacOS上工作。通过实例展示了PowerShell中类似Linux shell的命令,如Get-Content、Get-Process等,并详细说明了如何使用它们进行日志查看、文件操作、进程管理和SSH连接。此外,还涵盖了过滤日志、文件复制、删除、查看进程信息和服务状态检查等实用技巧。

一、PowerShell

PowerShell是一种跨平台的任务自动化解决方案,由命令行shell,脚本语言和配置管理框架组成。可以在Windows,Linux和MacOS上运行。

PowerShell的shell命令和Linux shell命令相似,例如PowerShell的Get-Content和Linux的cat类似,都是对文本进行读取,在PowerShell中可以直接简写为cat。同样还有Get-Process可简写为ps;Copy-Item可简写为cp;Remove-Item可简写为rm;等等。

二、shell命令

1.查看日志

  • 用utf8格式(-Encoding),从文本倒数第10行读取日志(-Tail),并滚动日志(-wait)。cat == Get-Content

> cat tomcat9-stderr.log -Encoding utf8 -Tail 10 -wait

  • 滚动过程中,过滤非关键信息(Discovery,Registry)(-NotMatch):

> cat tomcat9-stderr.log -Encoding utf8 -Tail 10 -wait | select-string “Discov”,“Regis” -NotMatch

  • 在文件前100行(-TotalCount),查找关键字(com.abc.xxx),并查看上下50行的信息:

> cat tomcat9-stderr.log -Encoding utf8 -TotalCount 100 | select-string “com.abc.xxx” -Context 50,50

2.文件复制与删除

  • 把当前文件夹下的csv文件复制到C:\backup(Copy-Item)。cp == Copy-Item

> Copy-Item “*.csv” -Destination “C:\backup”

可简写为

> cp *.csv C:\backup

  • 删除当前目录下的csv文件(Remove-Item)

> Remove-Item “*.csv”

可简写为

> rm *.csv

  • 删除当前目录及子目录下的csv文件

> Get-ChildItem * -Include *.csv -Recurse | Remove-Item

  • 删除超60天未访问的文件

> Get-ChildItem -Recurse | Where-Object LastAccessTime -le (Get-Date).AddDays(-60) | Remove-Item

3.查看进程信息

  • 查看tomcat进程是否存在。ps == Get-Process

> ps -name tomcat*

  • 查看tomcat进程(id=11)信息

> ps -Id 11 | format-list *

  • 查询tomcat有多少进程在运行中(measure-object)

> ps -name tomcat* | measure-object

  • 查看服务是否运行正常

> netstat -ano | select-string 8080

  • 统计当前mysql连接数

> netstat -ano | select-string 3306 | select-string EST | measure-object

4.ssh连接

> ssh root@192.168.17.134

三、shell脚本

1. du.ps1

在linux中 du -h -d 1 能查看当前路径下文件和文件夹的大小,希望在windows中也实现类似功能。

  • 将du.ps1(见置顶文件)放置到任一目录,例如:C:\Users\XXX
  • 创建快捷命令du
    打开powershell执行
    notepad $PROFILE
    将如下代码添加到文件末尾
function du-dir {
    & "C:\Users\XXX\du.ps1" $args
}
Set-Alias du du-dir
  • 执行脚本
    查询当前路径下文件和文件夹大小:

du

查询指定路径下文件和文件夹大小:

du -Path “C:\Users\XXX\AppData\Local”

结果展示:

Name                                      Type           Size Path
----                                      ----           ---- ----
JetBrains                                 Directory   2.50 GB C:\Users\XXX\AppData\Local\JetBrains
Google                                    Directory   2.02 GB C:\Users\XXX\AppData\Local\Google
Microsoft                                 Directory   1.94 GB C:\Users\XXX\AppData\Local\Microsoft
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值