Windows PowerShell 零基础学习手册
Windows PowerShell 零基础学习手册(个人实操归档版)
Windows PowerShell 零基础学习手册(个人实操归档版)
一、PowerShell 基础概述
1.1 个人核心理解(自用总结)
PowerShell 是 Windows 下的高级终端,大量借鉴 Linux 终端(bash)的特性。
学习逻辑:只要会 Linux 命令,就可以直接套用学习 PowerShell,上手成本极低,不用重新学习一套全新语法。
1.2 什么是 PowerShell
Windows 系统原生自带终端,是 CMD 的升级版。
兼顾 Windows 系统管理 + Linux 命令风格。
支持通配符、管道、脚本编程、系统权限管理。
弥补 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-ChildItemdir本质 =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 专属优势(适配本人学习方案)
改造 Windows 短板:弥补 Windows 没有原生 bash、终端弱小的缺点。
学习成本极低:依托已掌握的 Linux 命令,不用重新学习 Windows 命令行。
无需虚拟机:物理机 Windows 直接拥有类 Linux 终端环境。
配合开发工具:适配 NPM、Java、PHP、Vim 开发,统一终端操作习惯。
六、新手注意事项
PowerShell 区分简单大小写,尽量统一小写编写命令,和 Linux 保持习惯一致。
通配符
*慎用,批量删除不可恢复,不要随意在系统目录执行 rm 指令。部分高阶 Linux 命令在 PowerShell 无适配,基础文件操作完全通用。
权限问题:修改系统目录文件,需要以管理员身份运行 PowerShell。
原生规则:PowerShell 标准写法为「动词-名词」,ls、rm 只是别名,正规开发建议熟记原生全名。
七、通俗易懂总结(自用背诵版)
PowerShell = Windows版Bash,大量借鉴Linux终端特性。
命令结构:动词+名词,逻辑性强,Get-ChildItem为核心查看命令。
别名真相:ls=dir=Get-ChildItem,兼容Linux只是做了别名映射。
通配符口诀:*匹配任意文件,rm + 后缀批量删除。
个人用途:改造Windows开发环境,补齐终端短板,不用频繁切换系统。
改造 Windows 短板:弥补 Windows 没有原生 bash、终端弱小的缺点。
学习成本极低:依托已掌握的 Linux 命令,不用重新学习 Windows 命令行。
无需虚拟机:物理机 Windows 直接拥有类 Linux 终端环境。
配合开发工具:适配 NPM、Java、PHP、Vim 开发,统一终端操作习惯。
五、新手注意事项
PowerShell 区分简单大小写,尽量统一小写编写命令,和 Linux 保持习惯一致。
通配符
*慎用,批量删除不可恢复,不要随意在系统目录执行 rm 指令。部分高阶 Linux 命令在 PowerShell 无适配,基础文件操作完全通用。
权限问题:修改系统目录文件,需要以管理员身份运行 PowerShell。
六、通俗易懂总结(自用背诵版)
PowerShell = Windows版Bash,大量借鉴Linux终端特性。
核心优势:一套Linux命令,通吃Linux + Windows。
通配符口诀:*匹配任意文件,rm + 后缀批量删除。
个人用途:改造Windows开发环境,补齐终端短板,不用频繁切换系统。