Shell 脚本

Windows PowerShell 零基础学习手册

Windows PowerShell 零基础学习手册(个人实操归档版)

作者:洋柿子·2026-09-01·共 5 篇 · 当前 4

Windows PowerShell 零基础学习手册(个人实操归档版)

一、PowerShell 基础概述

1.1 个人核心理解(自用总结)

PowerShell 是 Windows 下的高级终端,大量借鉴 Linux 终端(bash)的特性。

学习逻辑:只要会 Linux 命令,就可以直接套用学习 PowerShell,上手成本极低,不用重新学习一套全新语法。

1.2 什么是 PowerShell

  1. Windows 系统原生自带终端,是 CMD 的升级版。

  2. 兼顾 Windows 系统管理 + Linux 命令风格。

  3. 支持通配符、管道、脚本编程、系统权限管理。

  4. 弥补 Windows 没有原生 bash 的缺陷,改造 Windows 开发环境。

1.3 CMD 与 PowerShell 区别

终端 特点 是否兼容Linux语法 适用场景
CMD 老旧、语法死板、功能简陋 几乎不兼容 简单基础指令
PowerShell 现代化、功能强、语法灵活 高度兼容Linux常用命令 开发、文件管理、系统配置

二、通配符(核心语法)

2.1 通配符符号 *

*** 代表任意字符、任意长度**,和 Linux 通配符规则完全一致。

作用:批量匹配文件、批量操作文件,不用逐个手动删除/修改。

2.2 实操:批量删除文件(手写代码)

PowerShell 中 rm 兼容 Linux 删除语法,直接复用 Linux 习惯:

rm *.html    # 批量删除全部后缀为.html的网页文件
rm *.js      # 批量删除全部js脚本文件
rm *.svg     # 批量删除全部svg图片文件

2.3 通配符拓展用法

rm test*     # 删除所有以test开头的文件
rm *.txt     # 删除所有文本文件

三、PowerShell 兼容 Linux 常用命令(对照表)

全部可以直接沿用 Linux 使用习惯,无需记忆新命令:

命令 作用 Linux 是否一致
ls 查看当前目录文件 一致
cd 切换工作目录 一致
pwd 查看当前绝对路径 一致
rm 删除文件/文件夹 一致
mkdir 创建文件夹 一致
cp 复制文件 一致
mv 移动/重命名文件 一致

四、PowerShell 原生专有命令(核心自学内容)

4.1 PowerShell 命令设计规范(独有特性)

PowerShell 拥有自己严格的官方命令格式:动词-名词,全部英文全称,可读性极强,这是和 Linux 命令最大区别。

  • 常用动词:Get(获取)、Set(设置)、New(新建)、Remove(删除)、Copy(复制)

  • 常用名词:Item(项目/文件)、ChildItem(子项目)、Service(服务)、Process(进程)

优点:不用死记硬背,见名知意,逻辑性碾压 CMD、Linux 简写命令。

4.2 最重要原生命令:Get-ChildItem

4.2.1 基础释义

Get-ChildItem:获取当前目录下所有子文件、子文件夹。

直白理解:Linux没有这个命令,这是PowerShell原生专属。

4.2.2 别名机制(重点)

为了兼容 Linux,PowerShell 给原生命令设置别名:

  • ls 本质 = Get-ChildItem

  • dir 本质 = Get-ChildItem

也就是说:平时敲的 ls、dir,全部是 PowerShell 原生命令的简写别名。

4.2.3 实操语法

Get-ChildItem                # 查看当前目录所有文件(完整版原生写法)
ls                            # 别名写法,效果一致
Get-ChildItem -Hidden         # 查看【隐藏文件】
Get-ChildItem *.js            # 结合通配符,只查看js文件
Get-ChildItem -Recurse        # 递归遍历所有子文件夹文件

4.2.4 参数解释

  • -Hidden:显示系统隐藏文件

  • -Recurse:递归遍历,深入所有子目录

  • -Filter:精准筛选文件

4.3 同类原生高频命令(动词-名词格式)

原生完整命令 别名 作用
Remove-Item rm / del 删除文件/文件夹
Copy-Item cp 复制文件
Move-Item mv 移动、重命名
New-Item 无 新建文件/文件夹
Clear-Host cls 清空屏幕

4.4 原生命令实操示例

New-Item test.txt               # 新建空白文件
Remove-Item test.txt            # 删除指定文件
Copy-Item a.txt ./code/         # 复制文件到code文件夹
Move-Item b.txt ./res/          # 移动文件

4.5 PowerShell 管道(独有高级特性)

Linux 管道传递文本,PowerShell 管道传递对象,这是本质区别,功能更强。

管道符号:|

# 筛选当前目录所有后缀为js的文件
Get-ChildItem | Where-Object {$_.Name -like "*.js"}

4.6 原生独有筛选语法

  • -like:模糊匹配(通配符匹配)

  • -eq:等于

  • -ne:不等于

# 筛选名字包含test的文件
Get-ChildItem | Where-Object {$_.Name -like "*test*"}

五、PowerShell 专属优势(适配本人学习方案)

  1. 改造 Windows 短板:弥补 Windows 没有原生 bash、终端弱小的缺点。

  2. 学习成本极低:依托已掌握的 Linux 命令,不用重新学习 Windows 命令行。

  3. 无需虚拟机:物理机 Windows 直接拥有类 Linux 终端环境。

  4. 配合开发工具:适配 NPM、Java、PHP、Vim 开发,统一终端操作习惯。

六、新手注意事项

  1. PowerShell 区分简单大小写,尽量统一小写编写命令,和 Linux 保持习惯一致。

  2. 通配符 * 慎用,批量删除不可恢复,不要随意在系统目录执行 rm 指令。

  3. 部分高阶 Linux 命令在 PowerShell 无适配,基础文件操作完全通用。

  4. 权限问题:修改系统目录文件,需要以管理员身份运行 PowerShell。

  5. 原生规则:PowerShell 标准写法为「动词-名词」,ls、rm 只是别名,正规开发建议熟记原生全名。

七、通俗易懂总结(自用背诵版)

  1. PowerShell = Windows版Bash,大量借鉴Linux终端特性。

  2. 命令结构:动词+名词,逻辑性强,Get-ChildItem为核心查看命令。

  3. 别名真相:ls=dir=Get-ChildItem,兼容Linux只是做了别名映射。

  4. 通配符口诀:*匹配任意文件,rm + 后缀批量删除。

  5. 个人用途:改造Windows开发环境,补齐终端短板,不用频繁切换系统。

  6. 改造 Windows 短板:弥补 Windows 没有原生 bash、终端弱小的缺点。

  7. 学习成本极低:依托已掌握的 Linux 命令,不用重新学习 Windows 命令行。

  8. 无需虚拟机:物理机 Windows 直接拥有类 Linux 终端环境。

  9. 配合开发工具:适配 NPM、Java、PHP、Vim 开发,统一终端操作习惯。

五、新手注意事项

  1. PowerShell 区分简单大小写,尽量统一小写编写命令,和 Linux 保持习惯一致。

  2. 通配符 * 慎用,批量删除不可恢复,不要随意在系统目录执行 rm 指令。

  3. 部分高阶 Linux 命令在 PowerShell 无适配,基础文件操作完全通用。

  4. 权限问题:修改系统目录文件,需要以管理员身份运行 PowerShell。

六、通俗易懂总结(自用背诵版)

  1. PowerShell = Windows版Bash,大量借鉴Linux终端特性。

  2. 核心优势:一套Linux命令,通吃Linux + Windows。

  3. 通配符口诀:*匹配任意文件,rm + 后缀批量删除。

  4. 个人用途:改造Windows开发环境,补齐终端短板,不用频繁切换系统。