一、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