PowerShell入门学习1

目录

PowerShell认识

基本概念-管道和重定向

1.管道:把上一条命令的输出作为下一条命令的输入

2.重定向:把命令的输出保存到文件中,‘>’为覆盖,’>>’追加

PowerShell命令

如何查找PowerShell指令

1. 根据名称筛选

2.根据部分名称筛选

3.根据动词和名词进行筛选

常用PowerShell命令

1.文件管理

2.脚本和模块

3.进程管理

4.服务管理

5.其他常用命令

总结

参考资料


PowerShell认识

PowerShell 是一种命令行 shell 和脚本语言一体化工具。它跨平台运行,可用于各种任务。 

PowerShell 的独特之处在于,可以使得命令行用户和脚本编写者可以利用.NET Framework的强大功能。 这个功能让它可以更轻松地在一个管道中连接不同的命令。

基本概念-管道和重定向

1.管道:把上一条命令的输出作为下一条命令的输入

65d86211d2fd4267b7ef7b49766737f7.png

example: 先使用ls获取当前目录的所有文件信息,然后使用Sort -Descending对文件信息按照Name降序排列,最后将排序好的文件的Name和Mode格式化成Table输出。

PS C:\Users\zzf> cd C:\Users\zzf\Downloads\Powershell学习\PipeTest
PS C:\Users\zzf\Downloads\Powershell学习\PipeTest> ls | sort -Descending Name | Format-Table Name,Mode

Name  Mode
----  ----
c.txt -a----
b.txt -a----
a.txt -a----

2.重定向:把命令的输出保存到文件中,‘>’为覆盖,’>>’追加

### > ###
PS C:\Users\zzf\Downloads\Powershell学习\PipeTest> cd C:\Users\zzf9\Downloads\Powershell??\RedirectTest
PS C:\Users\zzf\Downloads\Powershell学习\RedirectTest> Get-Content .\a.txt
THIS IS A TEST BY ZZF.
PS C:\Users\zzf\Downloads\Powershell学习\RedirectTest> "I wrote something else to overwrite this document.">a.txt
PS C:\Users\zzf\Downloads\Powershell学习\RedirectTest> Get-Content .\a.txt
I wrote something else to overwrite this document.
### >> ###
PS C:\Users\zzf\Downloads\Powershell学习\RedirectTest> Get-Content .\a.txt
THIS IS A TEST BY ZZF.
PS C:\Users\zzf\Downloads\Powershell学习\RedirectTest> "I want to add some thing to this file!">>a.txt
PS C:\Users\zzf\Downloads\Powershell学习\RedirectTest> "1111111111111">>a.txt
PS C:\Users\zzf\Downloads\Powershell学习\RedirectTest> "2222222222222">>a.txt
PS C:\Users\zzf\Downloads\Powershell学习\RedirectTest> "3333333333333">>a.txt
PS C:\Users\zzf\Downloads\Powershell学习\RedirectTest> Get-Content .\a.txt
THIS IS A TEST BY ZZF.
I want to add some thing to this file!
1111111111111
2222222222222
3333333333333

PowerShell命令

在前文中,我们使用了一个PowerShell命令“Get-Content”,下面将介绍PowerShell命令格式:

PowerShell命令基本格式:Verb-Noun,其中Verb表示动作,Noun表示对象。

如何查找PowerShell指令

当想知道系统上安装的所有命令列表时,使用Get-Command,但返回的列表非常庞大。

当想了解动词时,可以使用 Get-Verb

当然,可以根据名称、动词、名词以及参数类型缩小搜索范围:

1. 根据名称筛选

Get-Command -Name Get-help

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Cmdlet          Get-Help                                           3.0.0.0    Microsoft.PowerShell.Core

2.根据部分名称筛选

使用通配符*来匹配其他形式的字符串:

Get-Command -Name *-help

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Cmdlet          Get-Help                                           3.0.0.0    Microsoft.PowerShell.Core
Cmdlet          Save-Help                                          3.0.0.0    Microsoft.PowerShell.Core
Cmdlet          Update-Help                                        3.0.0.0    Microsoft.PowerShell.Core

3.根据动词和名词进行筛选

###列出所有动词为Get的命令###
Get-Command -Verb Get

###列出所有以U开头的名词命令###
Get-Command -Noun U*

###组合参数###
Get-Command -Verb Get -Noun U*

常用PowerShell命令

1.文件管理

###获取指定目录中的文件和子文件列表###
Get-ChildItem 或者 ls
Get-ChildItem C:\\Windows\\System32

###移动或者重命名文件或目录###
Move-Item 或者 mv
重命名:Move-Item C:\Users\zzf\b.txt C:\Users\zzf\c.txt
移动文件:MoveItem C:\Users\zzf\c.txt C:\Users\zzf\11

###复制文件或目录###
Copy-Item 或者 cp
Copy-Item .\b.txt .\c.txt   ##前者为被复制文件的路径,后者为目标文件路径##

###删除文件或目录###
Remove-Item 或者 rm
Remove-Item .\c.txt

###新建文件###
New-Item 或者 mkdir
New-Item .\d.txt

###更改当前工作目录###
Set-Location 或者 cd
Set-Location C:\Users\zzf2

2.脚本和模块

###导入PowerShell模块###
Import-Module

###创建自定义PowerShell模块###
New-Module

###从模块导出命令###
Export-ModuleMember

###让每一台计算机完成各自的工作,并将结果返回###
Invoke-Command

3.进程管理

###列出正在运行的进程,常用选项包括-Name 和 -Id
Get-Process

###终止一个进程###
Stop-Process

###启动一个新进程### ###这里打开了一个记事本###
Start-Process -FilePath "C:\Windows\System32\notepad.exe"

4.服务管理

###获取系统中所有服务列表###
Get-Service

###启动指定服务###
Start-Service -Name Spooler

###重启指定服务###
Restart-Service

###停止指定服务###
Stop-Service

5.其他常用命令

###获取当前日期和时间###
Get-Date

###生成一个随机数###
Get-Random

总结

1. 管道:把上一条命令的输出作为下一条命令的输入

2. 重定向:把命令的输出保存到文件中,‘>’为覆盖,’>>’追加

3. 帮助:

Get-Command -Name Get-help
Get-Command -Name *-help
Get-Command -Verb Get
Get-Command -Noun U*
Get-Command -Verb Get -Noun U*

4. 常用命令:

  • 增删改查
Get-ChildItem 或者 ls
Move-Item 或者 mv
Copy-Item 或者 cp
Remove-Item 或者 rm
New-Item 或者 mkdir
Set-Location 或者 cd
  • 脚本和模块
Import-Module
New-Module
Export-ModuleMember
Invoke-Command
  • 进程管理
Get-Process
Stop-Process
Start-Process
  • 服务管理
Get-Service
Start-Service -Name Spooler
Restart-Service
Stop-Service
  • 其他命令
Get-Date
Get-Random

参考资料

探索 PowerShell - PowerShell | Microsoft Learn

PowerShell 快速入门_powershell脚本从零开始_恋喵大鲤鱼的博客-CSDN博客

Powershell管道和重定向 – PowerShell 中文博客 (pstips.net)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值