PowerShell 命令速查

PowerShell 文件操作、进程管理、网络调试、快捷键的完整命令速查。

#platform / windows #type / howto #status / evergreen

[!info] related notes

PowerShell 命令速查

分屏快捷键(Windows Terminal)

操作快捷键说明
左右拆分窗格Alt + Shift + +将当前窗口垂直切开(左/右)
上下拆分窗格Alt + Shift + -将当前窗口水平切开(上/下)
自动拆分窗格Alt + Shift + D根据长宽比自动选择最优方向
切换焦点Alt + 方向键在各个分屏之间跳转
调整分屏大小Alt + Shift + 方向键微调当前选中分屏的边缘
关闭当前分屏Ctrl + Shift + W只关闭当前选中的小窗口
新建标签页Ctrl + Shift + T打开新的标签页
切换标签页Ctrl + Tab / Ctrl + Shift + Tab下一个/上一个标签页
关闭标签页Ctrl + Shift + W关闭当前标签页
放大字体Ctrl + =放大终端字体
缩小字体Ctrl + -缩小终端字体
重置字体大小Ctrl + 0恢复默认字体大小

文件与目录操作

命令说明常用示例
lsGet-ChildItem列出目录内容ls -Force(含隐藏文件)
ls -Recurse递归列出所有文件ls -Recurse -Filter *.ts
cd <path>Set-Location切换目录cd ..(上级目录)
pwdGet-Location显示当前路径pwd
mkdir <name>New-Item -ItemType Directory创建目录mkdir src/components
touch <file>创建空文件(PowerShell 无原生 touch)New-Item -ItemType File app.log
cp <src> <dst>Copy-Item复制文件/目录cp -Recurse src/ backup/
mv <src> <dst>Move-Item移动/重命名mv old.txt new.txt
rm <path>Remove-Item删除文件rm -Recurse -Force dist/
cat <file>Get-Content查看文件内容cat app.log
cat <file> -Tail 20查看文件末尾 20 行cat app.log -Tail 50
cat <file> -Wait实时追踪文件变化(类似 tail -f)cat app.log -Wait
head -n <N>查看前 N 行Get-Content file.txt -TotalCount 10
Select-String -Pattern <p>搜索文件内容(类似 grep)cat *.log | Select-String "ERROR"
wc -l统计行数(Get-Content file.txt | Measure-Object -Line).Lines
du -sh查看目录大小(Get-ChildItem -Recurse -Force | Measure-Object -Property Length -Sum).Sum / 1MB
Compress-Archive压缩文件/目录Compress-Archive -Path ./project -DestinationPath ./project.zip
Expand-Archive解压 zip 文件Expand-Archive -Path ./project.zip -DestinationPath ./output
which查找命令路径(Get-Command node).Source
open <path>在资源管理器中打开explorer .
touch更新文件时间戳(Get-Item file.txt).LastWriteTime = Get-Date

进程管理

命令说明常用示例
Get-Process列出所有进程Get-Process node
Get-Process | Sort-Object CPU -Descending按 CPU 使用排序Select-Object -First 10
Stop-Process -Name <name>按名称终止进程Stop-Process -Name node
Stop-Process -Id <pid>按 PID 终止进程Stop-Process -Id 1234
tasklist列出进程(CMD 兼容)tasklist | findstr chrome
taskkill /PID <pid> /F强制终止进程taskkill /PID 1234 /F
Get-Process | Where-Object {$_.CPU -gt 100}过滤高 CPU 进程自定义阈值

网络与端口

命令说明常用示例
Test-Connection <host>Ping 测试Test-Connection google.com -Count 4
Test-NetConnection -Port <port>测试端口连通性Test-NetConnection localhost -Port 3000
Get-NetTCPConnection列出所有 TCP 连接Get-NetTCPConnection -State Listen
Get-NetTCPConnection -LocalPort <port>查看指定端口Get-NetTCPConnection -LocalPort 8080
(Get-NetTCPConnection -LocalPort 8080).OwningProcess获取占用端口的进程 ID然后用 Get-Process -Id <pid> 查看
netstat -ano | findstr :<port>查看端口占用(CMD 兼容)netstat -ano | findstr :3000
curl <url>Invoke-WebRequestHTTP 请求curl https://api.github.com
Invoke-WebRequest -Uri <url> -OutFile <file>下载文件Invoke-WebRequest -Uri https://example.com/file.zip -OutFile ./file.zip

环境变量与系统信息

命令说明常用示例
$env:<NAME>读取环境变量$env:PATH
$env:<NAME> = "<value>"设置环境变量(仅当前会话)$env:NODE_ENV = "production"
[Environment]::GetEnvironmentVariable("<NAME>")读取持久环境变量[Environment]::GetEnvironmentVariable("PATH", "User")
[Environment]::SetEnvironmentVariable("<NAME>", "<value>", "User")设置持久环境变量需重启终端生效
Get-ComputerInfo查看系统信息Get-ComputerInfo | Select-Object WindowsProductName, OsVersion
systeminfo系统信息(CMD 兼容)systeminfo
hostname显示计算机名hostname
whoami显示当前用户whoami
Get-Date获取当前日期时间Get-Date -Format "yyyy-MM-dd HH:mm:ss"

管道与对象操作

命令说明常用示例
Where-Object {condition}过滤对象Get-Process | Where-Object {$_.CPU -gt 50}
Select-Object <props>选择属性Get-Process | Select-Object Name, CPU
Select-Object -First <N>取前 N 个Get-Process | Select-Object -First 5
Sort-Object <prop>排序Get-Process | Sort-Object CPU -Descending
ForEach-Object {script}遍历处理1..10 | ForEach-Object { $_ * 2 }
Measure-Object统计(计数、求和、平均)Get-Process | Measure-Object
Group-Object <prop>分组Get-Process | Group-Object Name
Tee-Object -FilePath <file>输出到屏幕同时写入文件Get-Process | Tee-Object -FilePath procs.txt
Out-File <file>输出重定向到文件Get-Process > procs.txt
Export-Csv <file>导出为 CSVGet-Process | Export-Csv procs.csv

常用技巧

场景命令说明
杀掉占用端口的进程Get-NetTCPConnection -LocalPort 8080 | ForEach-Object { Stop-Process -Id $_.OwningProcess -Force }一行搞定
批量重命名文件Get-ChildItem *.txt | Rename-Item -NewName { $_.Name -replace '.txt', '.md' }将 .txt 改为 .md
递归查找文件Get-ChildItem -Recurse -Filter *.ts查找所有 .ts 文件
搜索文件内容Get-ChildItem -Recurse -Filter *.ts | Select-String "TODO"在所有 .ts 中搜索 TODO
计算目录大小 MB(Get-ChildItem -Recurse -Force | Measure-Object -Property Length -Sum).Sum / 1MB含隐藏文件
完整压缩(含隐藏文件)Compress-Archive -Path (Get-ChildItem -Force) -DestinationPath archive.zip -CompressionLevel Optimal包含 .git 等
设置永久 PATH[Environment]::SetEnvironmentVariable("PATH", $env:PATH + ";C:\tools", "User")添加到用户 PATH
查看命令帮助Get-Help <cmd> -Full查看完整帮助
查看命令别名Get-Alias列出所有别名
执行外部命令& "C:\Program Files\app\app.exe" arg1 arg2路径有空格时用 &
创建于 2025/9/29 更新于 2026/7/15