详解Windows(十四)——PowerShell与命令提示符

一、Windows命令行工具概述

1. 什么是命令行界面(CLI)

命令行界面,简称CLI(Command Line Interface),是一种通过输入文字命令来操作电脑的方式。与我们熟悉的图形用户界面(GUI,就是平常点点鼠标的那种)不同,命令行更像是直接"对话"的方式与电脑沟通。你输入文字命令,电脑就执行相应的操作,然后返回结果。虽然看起来不如图形界面直观,但命令行在执行复杂任务、批量处理和系统管理方面非常高效。

2. Windows中命令行工具的发展历史

  • 最初期:MS-DOS(Microsoft磁盘操作系统)是Windows的前身,完全基于命令行
  • Windows 95/98/XP时代:图形界面兴起,但保留了命令提示符(CMD)作为DOS的继承者
  • Windows Vista/7:引入了PowerShell 1.0,开始革新命令行体验
  • Windows 10/11:深度整合PowerShell,并引入新的Windows Terminal,命令行工具迎来"复兴"

3. 命令行工具在系统管理中的重要性

命令行工具就像是Windows系统的"后门钥匙",能够:

  • 快速执行复杂任务,几行命令可能顶上几十次鼠标点击
  • 自动化重复性工作,一次编写脚本,多次使用
  • 提供对系统更深层次的控制,某些功能在图形界面中根本无法实现
  • 远程管理服务器或其他计算机,即使没有图形界面也能操作
  • 批量处理文件或数据,效率远高于手动操作

4. 命令提示符与PowerShell的基本区别

想象一下:

  • 命令提示符(CMD):像一把老式的瑞士军刀,基本功能都有,但相对简单
  • PowerShell:则像现代多功能工具,不仅包含旧军刀全部功能,还增加了许多新功能,而且更加智能

主要区别:

  • CMD处理的是文本,PowerShell处理的是对象(后面会详细解释)
  • PowerShell兼容CMD大部分命令,但CMD不识别PowerShell特有命令
  • PowerShell有更现代的编程特性,语法更接近高级编程语言
  • PowerShell能够直接访问.NET框架,功能更加强大

二、命令提示符(CMD)详解

1. 命令提示符的起源与历史

命令提示符是Windows的"元老级"工具,它的祖先可以追溯到1980年代的MS-DOS。当时电脑还没有图形界面,所有操作都通过命令完成。随着Windows的图形化发展,命令提示符作为"后门"被保留下来,让用户能够直接通过命令与系统交互。

2. 如何打开和启动命令提示符

打开命令提示符有多种方法:

  • 按下Win键+R,输入cmd,回车
  • 在开始菜单搜索"命令提示符"或"cmd"
  • 在文件资源管理器地址栏输入cmd并回车
  • 按住Shift键,在文件夹空白处右键,选择"在此处打开命令窗口"(部分Windows版本支持)

3. 命令提示符的界面介绍

打开命令提示符后,你会看到一个黑色背景的窗口,顶部显示版本信息,窗口中通常显示:

C:\Users\用户名>_

这里的C:\Users\用户名>表示当前所在的文件夹位置(称为"当前路径"),_是闪烁的光标,表示等待你输入命令。

4. 基础命令操作

文件和目录操作命令

  • dir:列出当前目录下的文件和文件夹(相当于图形界面中的"查看文件夹内容")
  • cd 文件夹名:切换到指定文件夹(Change Directory的缩写)
    • cd ..:返回上一级目录
    • cd \:返回到盘符根目录
    • cd /d D::切换到其他盘符(如D盘)
  • mkdir 文件夹名或md 文件夹名:创建新文件夹
  • copy 源文件 目标位置:复制文件
  • move 源文件 目标位置:移动文件
  • del 文件名:删除文件
  • rmdir 文件夹名或rd 文件夹名:删除文件夹

系统信息查询命令

  • systeminfo:显示详细的系统信息,包括操作系统版本、内存、安装日期等
  • tasklist:显示当前运行的所有进程
  • ver:显示Windows版本
  • date:显示或设置系统日期
  • time:显示或设置系统时间

网络相关命令

  • ipconfig:显示网络配置信息,如IP地址、子网掩码等
    • ipconfig /all:显示更详细的网络配置
    • ipconfig /release:释放IP地址
    • ipconfig /renew:重新获取IP地址
  • ping 网址或IP:测试与目标地址的网络连接
  • tracert 网址或IP:跟踪数据包到达目标的路径
  • netstat:显示网络连接、路由表和网络接口信息

5. 批处理文件(.bat)的创建与使用

批处理文件是将多条命令按顺序写入文本文件,扩展名为.bat的文件。双击即可依次执行所有命令,常用于自动化重复任务。

创建批处理文件步骤:

  1. 打开记事本
  2. 输入你想执行的命令,每条命令占一行
  3. 保存文件,扩展名设为.bat(例如:清理临时文件.bat)
  4. 双击文件即可执行

简单批处理文件示例:

@echo offecho 开始清理临时文件...del /q %temp%\*echo 清理完成!pause

6. 命令提示符的优缺点

优点:

  • 系统资源占用少,在低配置电脑上也能快速运行
  • 启动迅速,执行命令高效
  • 兼容性好,在所有Windows版本中基本相同
  • 对于简单任务,命令较为简洁

缺点:

  • 功能相对有限,复杂操作需要组合多条命令
  • 只能处理文本,不能直接处理复杂数据结构
  • 错误处理能力弱,脚本编写不够灵活
  • 语法不够直观,对新手不够友好

7. 常见使用场景

  • 快速查看和修改文件系统
  • 执行简单的网络诊断(如ping测试)
  • 运行简单的批处理自动化任务
  • 查询系统基本信息
  • 当图形界面出现问题时的应急操作

三、PowerShell入门

1. PowerShell的诞生背景与发展历程

PowerShell诞生于21世纪初,微软意识到传统CMD已经难以满足现代系统管理需求,特别是在服务器环境中。因此,他们设计了这款全新的命令行工具,融合了命令行的便捷性和面向对象编程的强大功能。PowerShell最初代号为"Monad",2006年正式发布1.0版本。

2. PowerShell版本演进

  • PowerShell 1.0(2006年):首次推出,基本功能建立
  • PowerShell 2.0(2009年):添加远程处理功能
  • PowerShell 3.0-5.1(2012-2016年):增强功能和兼容性,成为Windows内置组件
  • PowerShell Core 6.0+(2018年起):开源跨平台版本,可在Linux和macOS上运行
  • PowerShell 7.0+(2020年起):整合了Windows PowerShell和Core版本的优点

3. 如何打开和启动PowerShell

打开PowerShell的方法:

  • 按下Win键+X,选择"Windows PowerShell"或"终端"(Windows 11)
  • 在开始菜单搜索"PowerShell"
  • 按下Win键+R,输入powershell,回车
  • 右键点击开始菜单图标,选择PowerShell选项

4. PowerShell的界面特点

PowerShell的默认界面与CMD类似,但有明显区别:

  • 默认背景为深蓝色(而不是CMD的黑色)
  • 提示符以"PS"开头,如:PS C:\Users\用户名>
  • 命令执行结果通常更加格式化,颜色也更丰富
  • 可以使用Tab键自动补全命令和路径

5. PowerShell与传统CMD的区别

从使用角度看:

  • PowerShell支持CMD中几乎所有命令,还有自己独特的命令体系
  • PowerShell命令(cmdlet)遵循"动词-名词"结构,如Get-Process
  • PowerShell处理的是对象而非纯文本,可以直接操作对象的属性和方法
  • PowerShell内置了强大的脚本语言功能,接近编程语言
  • PowerShell对系统有更深入的访问权限,可以管理注册表、证书等高级功能

四、PowerShell核心概念

1. cmdlet(命令小程序)工作原理

cmdlet(读作"command-let")是PowerShell的基本命令单元,它们都遵循"动词-名词"的命名方式:

  • 动词部分描述要执行的操作(如Get, Set, New, Remove)
  • 名词部分描述操作的对象(如Process, Service, Item)

例如:

  • Get-Process:获取当前运行的进程
  • Stop-Service:停止一个服务
  • New-Item:创建一个新文件或文件夹

这种统一的命名约定使命令更易记忆和理解,新手也能猜出许多命令。

2. PowerShell的对象导向特性

这是PowerShell最强大的特点。与CMD只处理文本不同,PowerShell处理的是完整的对象。

简单举例:

  • 在CMD中,dir命令输出的是文本列表
  • 在PowerShell中,Get-ChildItem(dir的别名)输出的是文件对象集合,每个文件都有属性(如大小、创建日期)和方法(如复制、删除)

这意味着你可以:

# 获取所有txt文件并按大小排序Get-ChildItem -Filter *.txt | Sort-Object -Property Length

3. 管道(Pipeline)与对象传递

管道操作符|允许将一个命令的输出作为另一个命令的输入,形成命令链:

# 获取前5个最大的日志文件Get-ChildItem -Filter *.log | Sort-Object -Property Length -Descending | Select-Object -First 5

在PowerShell中,管道传递的是完整对象,而不仅仅是文本,这使得处理更加灵活。

4. 别名系统(Alias)

为了便于从CMD迁移和提高输入效率,PowerShell提供了大量命令别名:

  • dir = Get-ChildItem(列出目录内容)
  • cls = Clear-Host(清屏)
  • cd = Set-Location(更改目录)

你可以用Get-Alias命令查看所有可用别名,甚至可以创建自己的别名:

New-Alias -Name "ll" -Value "Get-ChildItem"

5. 脚本执行策略

出于安全考虑,PowerShell默认不允许运行未签名的脚本。执行策略有几个级别:

  • Restricted:不允许运行任何脚本(默认)
  • RemoteSigned:允许运行本地脚本,但远程下载的脚本需要签名
  • AllSigned:允许运行已签名的脚本
  • Unrestricted:允许运行任何脚本(不推荐)

查看当前策略:

Get-ExecutionPolicy

修改执行策略(需要管理员权限):

Set-ExecutionPolicy RemoteSigned

6. 模块(Module)系统

模块是PowerShell功能的扩展包,类似于软件插件。Windows内置了许多模块,你也可以安装第三方模块:

# 列出已安装的模块Get-Module -ListAvailable# 导入模块Import-Module ModuleName# 从PowerShell Gallery安装新模块Install-Module -Name ModuleName

常用模块包括Active Directory管理、Azure云服务管理等。

五、PowerShell实用功能

1. 基础命令操作

帮助命令

# 获取命令帮助Get-Help Get-Process# 查找包含"process"的命令Get-Command *process*# 查看命令示例Get-Help Get-Process -Examples# 在线查看详细帮助Get-Help Get-Process -Online

文件系统操作命令

# 列出文件和文件夹Get-ChildItem(别名:dir, ls)# 创建新文件夹New-Item -Path "C:\测试" -ItemType Directory# 复制文件Copy-Item "源文件.txt" -Destination "目标文件.txt"# 移动文件Move-Item "文件.txt" -Destination "C:\目标文件夹"# 删除文件Remove-Item "文件.txt"

系统管理命令

# 查看所有运行中的进程Get-Process# 停止指定进程Stop-Process -Name "notepad"# 查看系统服务Get-Service# 启动服务Start-Service -Name "服务名"# 查看系统事件日志Get-EventLog -LogName System -Newest 10

2. 变量与数据类型

PowerShell中的变量以$符号开头:

# 创建变量$name = "小明"$age = 20$files = Get-ChildItem# 显示变量内容$name$files | Format-Table# 变量类型$name.GetType()  # 返回System.String

常见数据类型:

  • 字符串:$text = "Hello"
  • 数字:$num = 42
  • 布尔值:$isValid = $true
  • 数组:$array = 1,2,3,4,5
  • 哈希表:$person = @{Name="小明"; Age=25}

3. 脚本编写基础

PowerShell脚本是扩展名为.ps1的文本文件。脚本示例:

# 简单备份脚本.ps1param ([string]$SourceFolder,[string]$BackupFolder)# 创建带时间戳的备份文件夹$timestamp = Get-Date -Format "yyyy-MM-dd-HHmm"$destFolder = Join-Path $BackupFolder "Backup_$timestamp"New-Item -Path $destFolder -ItemType Directory -Force# 复制所有文件Copy-Item -Path "$SourceFolder\*" -Destination $destFolder -RecurseWrite-Host "备份完成!文件已复制到: $destFolder" -ForegroundColor Green运行脚本:.\简单备份脚本.ps1 -SourceFolder "C:\重要文档" -BackupFolder "D:\备份"4. 函数与模块开发

函数是可重用的代码块:

# 定义函数function Get-FileStats {param ([string]$Path = ".")$files = Get-ChildItem -Path $Path -File$totalSize = ($files | Measure-Object -Property Length -Sum).Sumreturn [PSCustomObject]@{FileCount = $files.CountTotalSizeMB = [math]::Round($totalSize / 1MB, 2)AverageSizeKB = [math]::Round(($totalSize / $files.Count) / 1KB, 2)}}# 使用函数Get-FileStats -Path "C:\Windows"你可以将多个相关函数整合到一个模块中,便于分享和重用。5. PowerShell远程管理功能PowerShell可以远程连接并管理其他计算机:# 启用远程管理(在目标计算机上执行)Enable-PSRemoting -Force# 连接到远程计算机Enter-PSSession -ComputerName 计算机名或IP# 在远程计算机上执行命令Invoke-Command -ComputerName 计算机名 -ScriptBlock { Get-Process }

6. PowerShell集成脚本环境(ISE)与VS Code集成

  • PowerShell ISE:Windows内置的PowerShell编辑器,有代码补全、语法高亮等功能
  • Visual Studio Code:安装PowerShell扩展后,成为功能更强大的PowerShell开发环境,支持调试、版本控制等

六、命令提示符与PowerShell的比较

1. 语法差异

  • CMD:命令简单,参数用斜杠/标识
  • dir /a /o:s
  • PowerShell:命令采用动词-名词结构,参数用破折号-标识
  • Get-ChildItem -Force -Property Length

2. 功能对比

功能

命令提示符

PowerShell

基本文件操作

复杂数据处理

对象操作

系统深度访问

有限

全面

远程管理

有限

强大

脚本编程能力

基础

高级

.NET框架访问

3. 性能比较

  • 启动速度:CMD更快
  • 单一命令执行:CMD略快
  • 复杂任务处理:PowerShell更快(因为可以用更少的命令完成)
  • 内存占用:CMD更低,PowerShell较高

4. 适用场景分析

  • CMD适合
    • 简单的文件操作
    • 基本的系统查询
    • 资源受限的环境
    • 追求启动速度
    • 执行兼容性要求高的批处理文件
  • PowerShell适合
    • 复杂的系统管理任务
    • 自动化脚本编写
    • 批量处理大量数据
    • 远程管理多台计算机
    • 与其他系统集成(如数据库、云服务)

5. 学习曲线比较

  • CMD:入门容易,但能力上限低
  • PowerShell:入门门槛较高,但掌握后功能强大,上限高

七、实际应用场景

1. 日常系统维护任务

使用PowerShell定期清理临时文件:

# 创建定期清理脚本$tempFolders = @("$env:TEMP","$env:SystemRoot\Temp","$env:SystemRoot\Prefetch")foreach ($folder in $tempFolders) {Remove-Item -Path "$folder\*" -Force -Recurse -ErrorAction SilentlyContinueWrite-Host "已清理: $folder" -ForegroundColor Green}

2. 批量文件处理

重命名多个文件:

# 为所有JPG文件添加日期前缀$files = Get-ChildItem -Filter *.jpg$date = Get-Date -Format "yyyyMMdd_"foreach ($file in $files) {$newName = $date + $file.NameRename-Item -Path $file.FullName -NewName $newName}

3. 自动化运维

监控服务状态并自动重启:

# 监控重要服务,如果停止则重启$servicesToMonitor = @("wuauserv", "Spooler")foreach ($service in $servicesToMonitor) {$status = Get-Service -Name $serviceif ($status.Status -ne "Running") {Write-Host "服务 $service 未运行,正在重启..." -ForegroundColor YellowStart-Service -Name $service} else {Write-Host "服务 $service 运行正常" -ForegroundColor Green}}

4. 系统问题排查

使用PowerShell诊断网络问题:

# 网络诊断工具function Test-NetworkConnection {param ([string[]]$Targets = @("www.baidu.com", "www.qq.com"))$results = @()foreach ($target in $Targets) {$pingResult = Test-Connection -ComputerName $target -Count 4 -Quiet$dnsResult = Resolve-DnsName -Name $target -ErrorAction SilentlyContinue$results += [PSCustomObject]@{Target = $targetPingSuccess = $pingResultIPAddress = if ($dnsResult) { $dnsResult[0].IPAddress } else { "解析失败" }}}return $results | Format-Table}Test-NetworkConnection

5. 网络管理与故障诊断

检查和重置网络适配器:

# 重置网络适配器function Reset-NetworkAdapter {$adapter = Get-NetAdapter | Where-Object { $_.Status -eq "Up" } | Select-Object -First 1Write-Host "正在重置网络适配器: $($adapter.Name)..." -ForegroundColor YellowDisable-NetAdapter -Name $adapter.Name -Confirm:$falseStart-Sleep -Seconds 5Enable-NetAdapter -Name $adapter.Name -Confirm:$falseWrite-Host "网络适配器已重置,正在等待连接..." -ForegroundColor YellowStart-Sleep -Seconds 10$newStatus = (Get-NetAdapter -Name $adapter.Name).StatusWrite-Host "当前状态: $newStatus" -ForegroundColor Green# 显示新的IP信息Get-NetIPAddress -InterfaceAlias $adapter.Name | Format-Table}

八、小白入门指南

1. 第一步:熟悉基本命令

从这些最常用的命令开始:

CMD基础命令

  • dir:查看文件
  • cd:切换目录
  • cls:清屏
  • ipconfig:查看网络设置

PowerShell基础命令

  • Get-Command:查找可用命令
  • Get-Help:获取帮助
  • Get-Process:查看进程
  • Get-Service:查看服务

2. 从命令提示符过渡到PowerShell的策略

  1. 先使用PowerShell的CMD兼容命令(别名)
  2. 逐步学习对应的PowerShell原生命令
  3. 尝试使用管道连接多个命令
  4. 学习使用变量和简单脚本
  5. 探索PowerShell特有的功能

3. 实用资源与学习渠道

  • 官方文档:Microsoft PowerShell文档
  • 在线教程:微软Learn平台
  • 社区论坛:Reddit的PowerShell社区
  • 视频教程:B站或YouTube上的PowerShell入门课程
  • 书籍:《Windows PowerShell实战指南》等

4. 常见问题与解决方法

  • 问题:无法执行PowerShell脚本 解决:以管理员身份运行PowerShell,执行Set-ExecutionPolicy RemoteSigned
  • 问题:命令语法记不住 解决:使用Get-Help 命令名 -Examples查看示例
  • 问题:不知道如何找到需要的命令 解决:使用Get-Command -Verb Get或Get-Command -Noun Service按动词或名词查找
  • 问题:脚本执行错误 解决:使用$ErrorActionPreference = "Continue"查看详细错误信息

5. 进阶学习路径建议

  1. 先掌握基本命令和文件操作
  2. 学习变量使用和基本脚本编写
  3. 尝试使用循环和条件语句
  4. 学习函数创建和模块使用
  5. 研究远程管理和自动化任务
  6. 探索与其他系统的集成

九、未来发展趋势

1. Windows Terminal的整合

Windows Terminal是微软新推出的终端应用程序,它可以同时运行CMD、PowerShell、WSL(Windows Subsystem for Linux)等多种终端。它具有:

  • 标签页功能,可同时打开多个终端
  • 丰富的自定义选项(主题、字体、背景等)
  • 支持GPU加速,性能更佳
  • 更好的复制粘贴体验

2. PowerShell Core跨平台发展

PowerShell Core(6.0以上版本)已经实现跨平台:

  • 可在Windows、Linux和macOS上运行
  • 开源开发,社区参与度高
  • 更好地支持云计算和容器环境
  • 与Azure、AWS等云服务深度集成

3. 云服务集成

PowerShell越来越多地用于云管理:

  • Azure PowerShell模块可管理整个Azure环境
  • AWS Tools for PowerShell支持管理AWS资源
  • Office 365管理模块可管理云端Office服务
  • 远程管理不再局限于本地网络,可跨云平台操作

4. AI辅助功能

未来的命令行工具可能整合AI功能:

  • 自然语言处理,用普通语言描述需求
  • 智能错误修正和建议
  • 根据历史使用模式提供命令建议
  • 自动脚本生成和优化

十、总结与建议

1. 选择适合自己的命令行工具

  • 初学者或偶尔使用:从CMD开始,学习基本命令
  • IT专业人员:直接学习PowerShell,投入时间掌握它的强大功能
  • 系统管理员:深入掌握PowerShell,尤其是远程管理和自动化脚本编写
  • 开发人员:结合PowerShell与自己的开发工具,提高工作流效率

2. 循序渐进的学习方法

命令行工具学习是一个循序渐进的过程:

  1. 了解基础:先掌握10-15个最常用命令
  2. 实践为主:每天尝试用命令行完成一项任务
  3. 解决实际问题:遇到问题时,尝试用命令行解决
  4. 编写小脚本:从简单的脚本开始,逐步提高复杂度
  5. 分享交流:与他人分享你的发现和技巧

3. 持续学习的重要性

命令行技术在不断发展,持续学习非常重要:

  • 定期查看官方博客和文档更新
  • 关注PowerShell社区和论坛
  • 尝试新版本中的新功能
  • 将命令行工具与其他技能结合(如DevOps、自动化测试等)
  • 参与开源项目,贡献自己的脚本和模块

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/92521.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/92521.shtml
英文地址,请注明出处:http://en.pswp.cn/web/92521.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring源码解析 - SpringApplication 属性-初始化initializers, listeners -Spring提供的钩子函数

初始化源码 public SpringApplication(ResourceLoader resourceLoader, Class<?>... primarySources) {~~~setInitializers((Collection) getSpringFactoriesInstances(ApplicationContextInitializer.class));setListeners((Collection) getSpringFactoriesInstances(A…

简单聊聊PowerShell

1、powershell和cmdpowershell简单来说也是一个控制终端&#xff0c;他也经常拿出来和windows自带的CMD来进行对比。windows系统一般来说这两者都是自带的。虽然cmd平时大家用的最多&#xff0c;但他是非常古老的&#xff0c;可以用来执行简单的批处理文件&#xff0c;如.bat等…

Spring系列之Spring AI入门

概述 GitHub&#xff0c;官网&#xff0c;目前最新版是1.0.1。 功能&#xff1a; 跨AI提供商的可移植API&#xff1a;用于聊天、文本到图像和嵌入模型。支持同步和流API选项。还支持下拉访问模型特定功能。跨Vector Store提供商的可移植API&#xff0c;包括同样可移植的新颖…

ELK常见的问题

ELK 栈在使用过程中会遇到各种问题&#xff0c;以下是常见问题分类及解决方案&#xff0c;涵盖 ​Elasticsearch、Logstash、Kibana 和 Beats&#xff08;如 Filebeat&#xff09;​​ 四大组件&#xff1a; &#x1f6a8; ​一、连接与通信问题​ 1. ​Elasticsearch 拒绝连接…

物理AI与人形机器人:从实验室到产业化的关键跨越

2025年8月9日&#xff0c;北京——世界机器人大会&#xff08;WRC&#xff09;的开幕成为物理AI与机器人技术发展的集中展示场。英伟达在大会预告中首次提出“物理AI将重塑50万亿美元市场”的论断&#xff0c;涵盖工业制造、医疗、低空经济等领域。与此同时&#xff0c;宇树科技…

使用 Vuepress + GitHub Pages 搭建项目文档(2)- 使用 GitHub Actions 工作流自动部署

在上一篇文章中&#xff0c;我们已经成功用 VuePress 搭建了项目文档&#xff0c;并使用 sh 脚本部署到了 GitHub Pages。 但随着文档的更新频率增加&#xff0c;每次都要手动推送&#xff0c;那有没有不需要手动推送的方法呢&#xff1f;那必须有。 这次我们将用 GitHub Actio…

Python爬虫实战:研究PSpider框架,构建电商数据采集和分析系统

一、引言 1.1 研究背景 在大数据时代,数据已成为驱动科技创新、商业决策和社会发展的核心资源。据 IDC 预测,全球数据量将从 2020 年的 64ZB 增长至 2025 年的 175ZB,其中互联网公开数据占比超过 60%。如何从海量网络信息中高效、精准地提取有价值的数据,成为学术界和工业…

剑指offer第2版:动态规划+记忆化搜索

前三题是同一种模型&#xff0c;所以我分别用递推、记忆化、动归来做 一、p74-JZ10 斐波那契数列 斐波那契数列_牛客题霸_牛客网 class Solution { public:int Fibonacci(int n) {// write code hereif(n1||n2) return 1;int a1,b1,c1;while(n>2){cab;ab;bc;--n;}return c…

Unity 调节 Rigidbody2D 响应速度的解决方案【资料】

可以通过多种方式调节 Unity 中 Rigidbody2D 的响应速度&#xff0c;包括降低物理更新频率、屏蔽过小值以及优化物理参数。以下是几种有效的实现方法&#xff1a;1. 降低物理更新频率&#xff08;不推荐直接修改&#xff09;虽然可以修改 Time.fixedDeltaTime 来降低物理更新频…

力扣-189.轮转数组

题目链接 189.轮转数组 class Solution {public void reverse(int[] nums, int i, int j) {while (i < j && i > 0 && j < nums.length) {int temp nums[i];nums[i] nums[j];nums[j] temp;i;j--;}}public void rotate(int[] nums, int k) {k k …

Linux命令行安装Climate Data Operators(CDO)的方法

本文介绍在Linux操作系统的发行版本Ubuntu中&#xff0c;基于命令行&#xff0c;配置Climate Data Operators&#xff08;CDO&#xff09;这个用于操作、分析气候及其他相关数据的命令行工具的方法。 最近&#xff0c;需要对一批.nc格式文件加以处理&#xff1b;在之前&#xf…

如何为您的服务器选择正确的 PHP 版本

PHP作为最流行的服务器端脚本语言之一&#xff0c;持续演进并定期发布新版本。为您的服务器选择正确的PHP版本对于网站性能、安全性和功能兼容性至关重要。本文将指导您如何做出明智的选择。了解PHP版本的生命周期在选择PHP版本前&#xff0c;首先需要了解PHP的版本支持政策&am…

从0开始的中后台管理系统-5(userList动态展示以及上传图片和弹出创建用户表单)

项目用的都是antd组件&#xff0c;这里的userList组件展示的表单组件的数据直接get请求拿过来展示的&#xff0c;这里随机生成了50个用户只是为了展示表单的api设置。首先就是表单展示需要两个参数current和pageSize两个属性控制表单的最大分页和当前页面。那么我们就设置初始值…

Spring MVC REST API设计详解:从零构建高效接口

1. Spring MVC与REST API基础1.1 RESTful架构的六大约束详解RESTful架构是Roy Thomas Fielding在2000年博士论文中提出的软件架构风格&#xff0c;它包含六个核心约束&#xff0c;这些约束共同构成了RESTful API的设计原则。客户端-服务器约束&#xff08;Client-Server&#x…

基于STM32F030C8T6单片机实现与CH224Q诱骗芯片的I2C通信和电压输出配置

基于项目的需要,对STM32F030的IIC研究了几天,终于完成了通信,接下来具体实现如下: 本单片机使用的是PB8和PB9管脚进行实现,采用的是模拟的IIC进行 void MyI2C_W_SCL(uint8_t BitValue)//这三个函数将读写io口封装起来,增强可读性 { GPIO_WriteBit(GPIOB, GPIO_Pin_8…

TSMaster-C小程序使用

打开同星的TSMaster&#xff0c;推荐用32版本的&#xff0c;比64更稳定。同星的TSMaster的C小程序支持用户嵌入代码来控制CAN报文的收发逻辑。便于开发。点击设计里面的C小程序。 比如我现在想用小程序来实现继电器0先开后关开1s关1s&#xff0c;然后继电器1开1s关1s…如此往复…

XSS渗透测试原理/步骤/攻击方法/防御/常用语法

**核心概念回顾&#xff1a;**XSS漏洞一直被评估为web漏洞中危害较大的漏洞&#xff0c;在OWASP TOP10的排名中一直属于前三的江湖地位。XSS是一种发生在前端浏览器端的漏洞&#xff0c;所以其危害的对象也是前端用户。 形成XSS漏洞的主要原因是程序对输入和输出没有做合适的处…

目标检测数据集 - 自动驾驶场景道路异常检测数据集下载「包含VOC、COCO、YOLO三种格式」

数据集介绍&#xff1a;自动驾驶场景道路异常检测数据集&#xff0c;真实场景高质量道路图片数据&#xff0c;涉及场景丰富&#xff0c;且类别丰富&#xff0c;划分为 "LMVs 轻型机动车&#xff08;汽车、摩托车、小型卡车、小型货车"、"HMVs 公交车、卡车、拖拉…

多模态新方向|从数据融合到场景落地,解锁视觉感知新范式

来gongzhonghao【图灵学术计算机论文辅导】&#xff0c;快速拿捏更多计算机SCI/CCF发文资讯&#xff5e;多模态学习&#xff08;Multimodal Learning&#xff09;是通过整合多种数据模态来提升模型对复杂场景感知与理解能力的技术&#xff0c;其核心是利用不同模态的互补性突破…

机器学习之随机森林

目录 一、什么是随机森林&#xff1f; 1. 从决策树到集成学习&#xff1a;为什么需要 "森林"&#xff1f; 2.什么是集成学习 二、随机森林的工作原理 三、随机森林构造过程 四、随机森林api介绍 五、随机森林的优缺点 六、垃圾邮件判断案例 1.数据集介绍 ​…