首页 > 系统相关 >Powershell-2学习笔记

Powershell-2学习笔记

时间:2025-01-13 09:33:13浏览次数:3  
标签:Get 别名 列出 学习 Alias 笔记 PowerShell Powershell ChildItem

声明! 学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页[B站泷羽sec](https://space.bilibili.com/350329294)

1powershell执行常用命令

netstat -ano

查看网络连接状态的命令,它会显示当前系统的网络连接信息、路由表、接口统计信息等

  • -a:显示所有的连接和监听的端口。
  • -n:显示地址和端口号时使用数字格式,而不是域名和服务名称。
  • -o:显示与每个连接关联的进程ID(PID)

Proto:协议类型(如TCP或UDP)。

Local Address:本地地址和端口。

Foreign Address:远程地址和端口。

State:连接的状态(如LISTENING、ESTABLISHED等)。

PID:与该连接关联的进程ID。

打印路由表 route print

start notepad开启记事本

2powershell执行外部命令

在 PowerShell 中执行命令时,如果该命令的可执行文件位于系统的环境变量(如 PATH)所指定的目录中,我们可以直接执行命令名称(如 notepad)。例如,记事本(notepad.exe)位于 C:\Windows\System32 目录下,而该目录通常已经包含在系统的 PATH 环境变量中,因此我们可以直接输入 notepad 来启动记事本。

然而,对于那些不在系统环境变量中的命令,我们不能仅通过命令名来执行它们。此时,我们需要指定命令的完整路径,并结合 PowerShell 的 & 操作符来执行。例如,如果 wordpad.exe 不在系统环境变量中(通常位于 C:\Program Files\Windows NT\Accessories),我们可以使用以下命令来启动它:

& "C:\Program Files\Windows NT\Accessories\wordpad.exe"

这里,& 操作符是用于调用指定路径下的命令或脚本的有效方式,尤其当命令包含空格或特殊字符时必须加上引号。

对于环境变量中已有的路径,我们可以通过 $env:PATH 来查看。例如,使用以下命令来打印当前 PATH 环境变量的值:

$env:PATH

总结来说,当执行系统路径中已包含的命令时,可以直接使用命令名;而对于不在 PATH 中的命令,则需要提供完整路径,并使用 & 操作符来确保正确执行。

get-command

常用用法

  1. 列出所有命令: 执行 Get-Command 不带任何参数,它会列出所有已加载的命令(包括 cmdlet、函数、应用程序等)。
    Get-Command
  2. 根据命令名称获取特定命令: 你可以通过指定命令名称来获取具体的命令信息。例如,获取 Get-Process 命令的详细信息:
    Get-Command Get-Process
  3. 根据命令类型过滤: 你可以通过 -CommandType 参数来过滤不同类型的命令。-CommandType 支持的值包括:
    • Cmdlet:PowerShell 原生命令
    • Function:PowerShell 函数
    • Alias:命令的别名
    • Application:外部程序或应用
    • Script:PowerShell 脚本

Get-ChildItem [-Path] <string> [-Recurse] [-Filter <string>] [-File] [-Directory]

常用用法

  1. 列出当前目录的内容: 默认情况下,Get-ChildItem 列出当前工作目录中的所有文件和文件夹。
    Get-ChildItem
  2. 列出指定目录的内容: 你可以通过 -Path 参数指定一个特定的路径来列出该目录中的内容。
    Get-ChildItem -Path "C:\Users"
  3. 递归列出所有子目录和文件: 使用 -Recurse 参数可以递归地列出所有子目录中的文件和文件夹。
    Get-ChildItem -Path "C:\Users" -Recurse
  4. 列出指定类型的文件: 你可以使用 -File 参数仅列出文件,或者使用 -Directory 参数仅列出目录。
    • 列出所有文件:
      Get-ChildItem -Path "C:\Users" -File
    • 列出所有目录:
      Get-ChildItem -Path "C:\Users" -Directory
  5. 使用通配符过滤文件: 使用 -Filter 参数可以根据通配符来过滤文件。例如,要列出所有 .txt 文件:
    Get-ChildItem -Path "C:\Users" -Filter "*.txt"
  6. 列出包含隐藏文件和系统文件的内容: 使用 -Force 参数,可以列出包括隐藏文件和系统文件在内的所有文件和文件夹。
    Get-ChildItem -Path "C:\Users" -Force
  7. 列出某个注册表路径下的项: Get-ChildItem 不仅限于文件系统,它也支持注册表路径。例如,列出注册表中 HKEY_LOCAL_MACHINE 下的所有项:
    Get-ChildItem -Path "HKLM:\"
  8. 列出某个证书存储区的证书: 通过 Get-ChildItem 也可以列出证书存储区中的证书。
    Get-ChildItem -Path Cert:\CurrentUser\My
  9. 查看文件的详细信息: 你可以将 Get-ChildItem 与 Format-List 或 Select-Object 配合使用来查看文件的详细属性(如大小、创建时间等)。
    Get-ChildItem -Path "C:\Users" | Format-List *

常见选项

  • -Path:指定要列出内容的路径。
  • -Recurse:递归列出子目录中的文件和文件夹。
  • -Filter:使用通配符来过滤匹配的文件或文件夹。
  • -File:仅列出文件。
  • -Directory:仅列出目录。
  • -Force:包括隐藏文件和系统文件。
  • -Name:仅显示文件或目录的名称,而不是完整路径。

Get-Alias 是 PowerShell 中的一个 cmdlet,用于获取当前会话中的命令别名。命令别名是 PowerShell 中用于简化长命令的短名称。别名可以是 PowerShell 命令、外部程序、脚本等的简短替代形式。

3,PowerShell 中,可以通过创建自定义别名来简化常用命令的使用。自定义别名可以是针对 PowerShell cmdlet、外部程序、脚本甚至复杂命令的替代方式。

如何自定义别名

1. 使用 Set-Alias 临时创建别名

Set-Alias 用于在当前会话中创建临时别名。一旦 PowerShell 会话关闭,别名会丢失。

语法:

Set-Alias -Name <别名> -Value <命令>

示例:

# 创建一个别名 `np` 来启动记事本
Set-Alias -Name np -Value notepad

# 使用别名
np

2. 使用 New-Alias 临时创建别名

New-Alias 功能与 Set-Alias 类似,但更适合在脚本中创建别名。

语法:

New-Alias -Name <别名> -Value <命令>

示例:

New-Alias -Name ed -Value notepad
ed

3. 创建永久别名

临时别名仅在当前会话中有效。如果需要创建永久别名,可以将别名定义添加到 PowerShell 配置文件中。

步骤:

  1. 打开 PowerShell 配置文件:
    notepad $PROFILE
    如果文件不存在,可以创建一个:
    New-Item -ItemType File -Path $PROFILE -Force
  2. 在配置文件中添加别名定义:
    Set-Alias -Name ll -Value Get-ChildItem
    Set-Alias -Name np -Value notepad
  3. 保存并关闭文件。
  4. 重新加载配置文件或重启 PowerShell:
    . $PROFILE
  5. 现在,这些别名在每次启动 PowerShell 时都会自动加载。

高级别名:针对复杂命令

如果需要为复杂的命令创建别名,可以使用函数,而不是 Set-Alias。

示例:

# 打开配置文件
notepad $PROFILE

# 添加一个函数
function mydir {
    Get-ChildItem -Recurse -Force | Where-Object { $_.Extension -eq ".txt" }
}

# 添加别名指向该函数
Set-Alias -Name txtfiles -Value mydir

# 保存并关闭配置文件

使用:

txtfiles

这将递归列出所有 .txt 文件。

管理别名

  • 查看当前会话中的所有别名:
    Get-Alias
  • 查看特定别名的详细信息:
    Get-Alias -Name np
  • 删除别名(仅对当前会话有效):
    Remove-Item Alias:np

注意事项

  1. 别名命名规则:
    • 别名不能与已有的命令名冲突。
    • 避免使用过短或不清晰的别名名称,以免混淆。
  2. 权限问题:
    • 编辑 $PROFILE 文件需要写权限。
    • 系统别名(如 ls)不能直接覆盖,但可以删除后重新定义。
  3. 适用范围: 自定义的别名仅适用于 PowerShell,无法在其他命令行环境(如 CMD)中使用。

标签:Get,别名,列出,学习,Alias,笔记,PowerShell,Powershell,ChildItem
From: https://blog.csdn.net/zhongyuekang820/article/details/145098519

相关文章

  • RISCV学习(4)GD32VF103 MCU芯片学习
    笔者有空学习了GD32的RSICV芯片,故来总结一下。GD32RISCV芯片系列GD:GidaDeivce,兆易创新,生产的MCU的内核架构系列如下图所述,主要是ARM架构的,Cortex-M23、M3、M4、M33以及M7,然后也涉及到了RISC-V架构的,笔者今天就来聊一下RISCV架构的MCU产品。GD32的RISC-V的芯片类型主......
  • 07、Docker学习,容器间通信
    Docker学习,容器间通信今天在Docker中安装Nacos连接MySQL的时候出现了问题,发现容器间需要通信。现在记录下来:1、创建自定义网络(用于容器间通讯)dockernetworkcreatecommon-network2、查看网络dockernetworkls3、重新安装mysqldockerrun-p13306:3306--......
  • 【机器学习】Kaggle实战Rossmann商店销售预测(项目背景、数据介绍/加载/合并、特征工程
    文章目录1、项目背景2、数据介绍3、数据加载3.1查看数据3.2空数据处理3.2.1训练数据3.2.2测试数据3.3.3商店数据处理3.3.4销售时间关系4、合并数据5、特征工程6、构建训练数据和测试数据7、数据属性间相关性系数8、提取模型训练的数据集9、构建模型9.1定义评价......
  • 深度学习实战中英字符识别-网页版
    文章目录前言视频演示效果1.DB文字定位环境配置安装教程与资源说明1.1DB概述1.2DB算法原理1.2.1整体框架1.2.2特征提取网络Resnet1.2.3自适应阈值1.2.4文字区域标注生成1.2.5DB文字定位模型训练2.CRNN文字识别2.1CRNN概述2.2CRNN原理2.2.1CRNN网络架构实现2......
  • THREE.js学习笔记3——Animations
    这一小节主要学习动画。在JavaScript中的动画,其实就是渲染一帧,停顿一会儿,再渲染一帧。所以我们需要在每一帧都更新物体和重新渲染。调用window.requestAnimationFrame();函数来实现。ThepurposeofrequestAnimationFrameistocallthefunctionprovidedonthenextframe......
  • 【芯片封测学习专栏 -- D2D 和 C2C 之间的区别】
    请阅读【嵌入式开发学习必备专栏Cache|MMU|AMBABUS|CoreSight|Trace32|CoreLink|ARMGCC|CSH】文章目录OverviewD2D(Die-to-Die)互联D2D定义D2D特点D2D使用场景C2C(Chip-to-Chip)互联C2C定义C2C特点C2C使用场景D2D和C2C的差异总结实际案例D2D......
  • 【AI游戏】使用强化学习玩 Flappy Bird:从零实现 Q-Learning 算法(附完整资源)
    1. 引言FlappyBird是一款经典的休闲游戏,玩家需要控制小鸟穿过管道,避免碰撞。虽然游戏规则简单,但实现一个AI来自动玩FlappyBird却是一个有趣的挑战。本文将介绍如何使用 Q-Learning 强化学习算法来训练一个AI,使其能够自动玩FlappyBird。我们将从游戏的基本框架开......
  • 机器学习模型评估指标
    模型的评估指标是衡量一个模型应用于对应任务的契合程度,常见的指标有:准确率(Accuracy):正确预测的样本数占总样本数的比例。适用于类别分布均衡的数据集。精确率(Precision):在所有被预测为正类的样本中,实际为正类的比例。高精确率意味着较少的假正例。召回率(Recall):......
  • Win32汇编学习笔记10.OD插件
    筛选器异常插件Win32汇编学习笔记10.OD插件-C/C++基础-断点社区-专业的老牌游戏安全技术交流社区-BpSend.net被调试程序: ......
  • 毕设学习第四天之Java的IO流
     File类File对象=newFile(路径名) 两个静态变量pathSeparatorChar提供系统级的路径分隔符字符。pathSeparator将其表示为字符串前者文件分隔符unix下为:,windows下为;,而后者无论哪个分隔符均为/  四大构造方法File(Stringpathname)通过给定的路径名字符串......