powershell

PowerShell 是 Windows 自带的现代化命令行工具 + 脚本语言,一个功能强化版的shell(shell的本质是一个命令解释器,能够让用户用文字命令控制电脑程序,是用户与内核交互的界面)。

powershell的特点

  • 基于 .NET:这是 PowerShell 最核心的区别。它处理的是**.NET 对象**,而不是文本字符串。

  • 动词-名词 结构:几乎所有的核心命令(称为 Cmdlet)都遵循 动词-名词 的格式,例如 Get-ServiceStop-Process。这使得命令非常容易预测和学习。

  • 极其强大的管道:由于传递的是对象,PowerShell 的管道不仅可以传递数据,还可以传递数据的所有属性和方法。这允许你执行极其复杂的级联操作。

  • 面向对象:你可以直接访问对象的属性(如文件的大小、进程的 CPU 使用率)和方法(如停止进程、重启服务)。

  • 深度集成 Windows:PowerShell 可以深入管理 Windows 的各个方面,包括注册表、WMI(Windows 管理规范)、服务、进程、网络、用户账户等。

  • 跨平台 (PowerShell Core):现代版本的 PowerShell (PowerShell 6.0 及更高版本,称为 PowerShell Core) 是开源且跨平台的,可以运行在 Windows、Linux 和 macOS 上。

常用powershell命令

1:#:在powershell中用于注释

2:powershell中不区分大小写

文件/文件夹操作

列出当前目录文件

Get-ChildItem
#别名
ls
dir

进入文件夹

cd 文件夹名

#返回上一级
cd ..
#一个..表示一级,两级用../..,依次叠加

创建文件

New-Item 文件名
#别名
ni 文件名

创建文件夹

mkdir 文件夹名

复制文件

Copy-Item 源文件 目标路径
#别名
cp a.txt d:\

移动文件

Move-Item a.txt d:\
#别名
mv a.txt d:\

删除文件

Remove-Item test.txt
#别名
rm test.txt

查看文件内容

Get-Content test.txt
#别名
gc test.txt
进程/系统信息

查看所有进程

Get-Process
ps

查看指定进程

Get-Process qq

进程信息中的属性列

  • Handles:句柄数,指进程当前打开的系统资源(如文件、注册表项、线程、事件等)的句柄数量。句柄是操作系统用来追踪资源的唯一标识符,数值越高说明该进程正在操作的资源越多。

  • NPM(K):非分页池内存(单位:KB),这是内核为驱动程序和系统组件分配的内存,这部分内存不能被交换到虚拟内存(页面文件),必须常驻物理内存。数值过高可能意味着驱动或内核模块存在内存泄漏。

  • PM(K):私有内存(单位:KB),指进程独占使用的物理内存,这部分内存不能被其他进程共享。它是衡量进程实际占用内存大小的重要指标,也是判断内存泄漏或资源占用异常的关键数据。

  • WS(K):工作集内存(单位:KB),指进程当前在物理内存中实际使用的内存总量,包括共享内存和私有内存。它反映的是操作系统为该进程分配的“活跃”内存,数值会随进程活动动态变化。

  • CPU(s):CPU 时间(单位:秒),指该进程自启动以来累计占用的 CPU 时间总和,不是实时占用率。例如 2.14 表示该进程总共使用了 2.14 秒的 CPU 时间。

  • Id:进程 ID,操作系统为每个进程分配的唯一数字标识符,用于在系统中精确识别和管理进程。例如任务管理器或命令行中通过 ID 来结束特定进程。

  • SI:会话 ID,指该进程所属的用户会话编号。在多用户或远程桌面环境中,不同用户的进程会运行在不同的会话中,SI 用于区分这些会话。

  • ProcessName:进程名称,即进程对应的可执行文件名(不含 .exe 后缀),如 chromenotepadexplorer 等,是识别进程身份的最直观信息。

结束进程

# 结束进程
Stop-Process -Name 进程名
Stop-Process -Id 1234

查看系统服务

Get-Service

启动/停止服务

Start-Service 服务名
Stop-Service 服务名

查看电脑信息

Get-ComputerInfo
网络相关

查看IP

ipconfig

ping

#Test-Connection返回结构化信息,更直观
Test-Connection www.baidu.com
ping www.baidu.com

查看端口占用

netstat -ano

查看DNS

Get-DnsClientServerAddress
磁盘、用户、权限
# 查看磁盘
Get-PSDrive

# 查看磁盘空间
Get-Volume

# 查看当前用户
whoami
$env:USERNAME

# 以管理员运行 PowerShell
Start-Process powershell -Verb RunAs

实用小命令

# 清屏
cls

# 查看历史命令
history

# 查找命令,看所有命令
Get-Command 关键字

# 帮助(非常重要)
Get-Help 命令名
Get-Help Get-Process

管道

  • | 就是管道符
  • 作用:把前面命令的输出,传给后面命令当输入
# 找出占用内存最大的5个进程
Get-Process | Sort-Object WS -Descending | Select-Object -First 5

# 导出进程到 CSV
Get-Process | Export-Csv process.csv

#Where-Object (别名 ?):按条件过滤。

ls | ? Length -gt 100MB (找出大于 100MB 的大文件)

#Select-Object (别名 select):挑选你关心的属性。

ps | select ProcessName, Id, CPU (只看这三列数据)

#Export-Csv:一键导出报表。

Get-Service | Export-Csv D:\services.csv (把所有服务存成 Excel 表格)

#ConvertTo-Json:转换成 JSON 格式,方便程序员对接。
Get-Service | ConvertTo-Json >D:\services.csv

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值