Windows运维的学习笔记(Win11&Win10)_win10运维-程序员宅基地

技术标签: PowerShell  dir  Win  

1. 基本概念

Windows默认文件系统:NTFS

Note: Windows文件系统通常是不区分大小写的。

2. 快捷键

Key Description
win+I 打开系统设置
ctrl+shift+S 打开截图功能
ctrl+shift+F 在微软拼音输入法中切换简/繁体

Note
在Parsec远程会话中,win无法被发送至客户端,所以使用win的快捷键无法生效。

3. 硬件信息

3.1 查看硬件信息

电脑管家:设备管理中心设备硬件信息

3.2 硬盘速度测试:winsat disk

使用管理员权限运行PowerShell,

# 测试系统分区读写速度
winsat disk

# 测试指定分区的读写速度
winsat disk -drive e

4. 系统设置

6.1 系统更新

Note
Windows更新时,有可能出现重启之后,电脑一直卡在“正在重新启动(Load…)”的载入界面;再咨询了Windows支持人员之后,他们说“如果是系统更新的重新启动,在载入界面停留一个小时左右不动的情况下,就可以进行强制重启了。”

6.2 存储管理

设置默认多媒体用户空间为数据分区文件夹

更改多媒体文件默认保存位置:使用win + I打开系统设置 → 系统存储选项卡 → 更改新内容的保存位置

开启存储感知:自动清理临时文件

操作方式:右键开始图标(左下角) 系统 存储 打开存储感知

清理conda缓存文件

Conda的缓存文件也会占用大量的硬盘空间,如果系统空间不足时,可以尝试清理:

conda clean -a

系统分区扩容:(傲梅)分区助手

分区助手软件可以直接在腾讯软件管理中下载;

Note:
在进行分区操作之前,注意退出腾讯电脑管家,因为防护软件可能会拦截某些关键的数据迁移操作而导致整个分区丢失等问题。(Win10自带杀毒软件 Windows Defender可不用关闭)

6.2 网络连接

查询本机IP地址

步骤:右下角WiFi图标 → 打开“网络和 Internet设置” → 当前网络连接下面选择属性 → 鼠标滚轮拖到最下方可以看到IPv4地址
Step 1:点击WiFi图标,
在这里插入图片描述

6.3 开发人员模式:for developers

微软官方教程:Enable your device for development - Windows apps | Microsoft Learn
在Cortana搜索框中输入for developers打开开发人员模式,则可以使用mklink命令了;

5. 终端工具

3.1 常见术语

Command Prompt:就是命令行终端。

3.2 常用语法

3.2.1 续行:接续换行

PowerShell:位于键盘左上角的反引号符(通常与波浪符号~ 共用一个键)
line1 | `
line2 | `
...

3.3 PowerShell

3.2.1 PS快捷键

Key Description
esc 清空当前命令行

Note:关于在PS终端里获得所有快捷键,可以输入命令PSReadLineKeyHandler
Note:关于PS快捷键汇总的博文,请参考《Powershell 快捷键》

3.3 终端设置

3.3.1 改变终端标题

CMD
title MyTerminal

3.4 文件管理

切换分区:disk_id:
Note:需要加上引号才行。
查看当前目录下的内容(ls):dir

3.5 代理设置

# Pig
set HTTP_PROXY=http://127.0.0.1:15732
set HTTPS_PROXY=http://127.0.0.1:15732
Set命令设置代理
set HTTP_PROXY=http://user:[email protected]:port

3.3.2 判断是否成功连接Internet

PowerShell
Test-NetConnection www.google.com -Port 443

如果无法连接,可能会返回如下信息:

PS:
警告: TCP connect to (172.217.160.100 : 443) failed
警告: Ping to 172.217.160.100 failed with status: TimedOut

ComputerName : www.google.com
RemoteAddress : 172.217.160.100
RemotePort : 443
InterfaceAlias : WLAN
SourceAddress : 192.168.50.30
PingSucceeded : False
PingReplyDetails (RTT) : 0 ms
TcpTestSucceeded : False

使用curl判断是否成功连接Internet
curl -v google.com

curl英文全称:Command line tool and library for transferring data with URLs

3.5 软链接(symbolic link)

3.5.1 New-Item:在PowerShell中创建软链接

Win文档:Example 7: Create a symbolic link to a file or folder | New-Item
软链接代码模板:(PowerShell需要开启管理员权限)

New-Item -ItemType SymbolicLink -Path "linkAbsolutePath" -Target "absolutePathFolder"

3.5.2 mklink:在CMD终端下创建软链接

格式:mklink target source
终端:仅支持CMD终端,不支持PowerShell终端。
微软教程:mklink | Microsoft Learn
其中target是目标位置,source是源位置,文件路径字符串可以加上""防止字符转义带来的问题;
关于mklink命令对文件和文件夹建立软链接的教程,请参考博文《windows软链接》

文件夹建立软链接:mklink /j

使用mklink /j建立软链接不需要管理员权限,并且删除链接之后也不会对源文件夹造成任何影响;

3.6 程序设置

查看程序的绝对路径

Get-Command program | Select-Object -ExpandProperty Path

3.7 常见命令

@echo off:关闭脚本中所有命令的回显

执行以后,后面所有的命令均不显示,包括本条命令。
关于@echo off命令的说明和代码测试,请参考博文《Windows下的bat文件的@echo off 作用》

3.8 运维脚本

3.8.1 脚本模板

CMD
@echo off
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"
cd /d D:\
cmd /k

3.8.2 执行脚本并开启命令行窗口(CMD)

cmd /k

3.8.3 Windows终端不支持.bash | .sh脚本

ChatGPT4:
.bash | .sh 文件是 Bash shell 脚本,通常只能在 Linux 和 Unix 系统(包括 macOS)上运行。Windows 系统默认不支持 Bash shell,也就是说,Windows 本身的命令提示符(CMD)或 PowerShell(PS)不直接支持运行 .bash 脚本。

Troubleshooting

(1)打开PS终端出现红色提示:无法加载文件 C:\Users\xxx\Documents\WindowsPowerShell\profile.ps1

在重装系统后,打开PS终端,会出现红色的提示信息:

无法加载文件 C:\Users\xxx\Documents\WindowsPowerShell\profile.ps1,

需要在管理员终端中执行以下命令:

Set-ExecutionPolicy RemoteSigned

(此解决方案参考自博文《PowerShell报错:无法加载文件C:\Users\server\Documents\windowsPowerShell\profile.ps1…》

(2)打开PS终端在第一个提示符之前出现提示:“无法将“xxxxxx”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。”

这是我在学习安装ROS2时遇到的一个问题,当时的错误信息是:

C:\dev\ros2_humble\local_setup.ps1 : 无法将“C:\dev\ros2_humble\local_setup.ps1”项识别为 cmdlet、函数、
脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
所在位置 C:\Users\songyucheng\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1:2 字符: 1
+ C:\dev\ros2_humble\local_setup.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (C:\dev\ros2_humble\local_setup.ps1:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

加载个人及系统配置文件用了 1020 毫秒。
PS C:\Users\songyucheng>

请教了GPT4,他提到:

这个错误信息表明,Powershell 试图运行你的 Microsoft.PowerShell_profile.ps1 文件中的一行命令,这行命令试图运行 C:\dev\ros2_humble\local_setup.ps1,但是这个文件不再存在。

Microsoft.PowerShell_profile.ps1 是一个特殊的脚本,它在每次启动 Powershell 时都会被运行。它通常被用来设置环境变量,以及定义函数和别名。在你的情况下,我猜测它被用来设置 ROS2 的环境。

因为你现在已经将 ROS2 从 ros2_humble 升级到了 ros2_iron,所以 C:\dev\ros2_humble\local_setup.ps1 这个文件已经不存在了。

所以需要在Microsoft.PowerShell_profile.ps1文件中将错误的脚本删除;

6. Python自动化运维

Troubleshooting

(1)对于shell命令,os.system()可以正常执行,而使用subprocess.run()则会报错"FileNotFoundError: [WinError 2] 系统找不到指定的文件"

Traceback (most recent call last):
  ...
  File "C:\Users\songyuc\mambaforge\envs\conda-general\Lib\subprocess.py", line 548, in run
    with Popen(*popenargs, **kwargs) as process:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\songyuc\mambaforge\envs\conda-general\Lib\subprocess.py", line 1026, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "C:\Users\songyuc\mambaforge\envs\conda-general\Lib\subprocess.py", line 1538, in _execute_child
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [WinError 2] 系统找不到指定的文件。

Process finished with exit code 1
原因一:这个shell命令是.cmd脚本

ChatGPT4:

  • Windows有一个文件关联机制,可以根据文件扩展名自动选择适当的程序来打开或执行文件。但是,这种机制通常在命令行界面(如CMD或PowerShell)中有效,而在Python的 subprocess.run() 中,如果没有使用shell(shell=False),这种自动关联可能不会生效。
  • 对于在Windows系统中使用 subprocess.run() 执行脚本时是否必须总是加上.cmd需要根据是否通过shell执行命令以及命令的具体格式来具体判断。在实践中,如果不确定,可以先尝试不带扩展名的形式,如果遇到问题,再考虑是否需要指定完整的文件名。

对于查看命令是否是.cmd脚本,可以通过where command来确定。

7. 软件管理

7.1 软件卸载

7.1.1 若Win10遇到后台进程无法关闭,使用Win官方修复工具

8. 进程管理

8.1 任务管理器:管理应用程序、进程和服务

【进程】:不会列出所有进程

【详细信息】:所有正在运行进程的详细信息

8. Win开发配置

8.1 MSVC VS C++ x64 生成工具

MSVC v143 - VS 2022 C++ 生成工具是Visual Studio 2022中用于开发C++代码的编译器和工具集。它支持x86、x64、ARM和ARM64架构,以及Windows桌面、UWP、Linux、Android和iOS平台。它也支持CMake和MSBuild等构建系统。

G++是GNU项目的C++编译器,它是GCC(GNU Compiler Collection)的一部分。它支持多种操作系统和硬件平台,以及多种C++标准。它也支持Makefile等构建系统。

于是,可以将 MSVC v143 - VS 2022 C++ 生成工具类比于G++,因为它们都是用于编译和链接C++代码的工具。但是,它们也有一些区别,例如:

  • MSVC v143 - VS 2022 C++ 生成工具只能在Windows上运行,而G++可以在多种操作系统上运行。
  • MSVC v143 - VS 2022 C++ 生成工具只能与 Visual Studio 2022 配合使用,而G++可以与多种IDE或编辑器配合使用。
  • MSVC v143 - VS 2022 C++ 生成工具和G++可能有不同的语法、选项、扩展和兼容性。

9. Chocolatey:包管理工具

升级Chocolatey

choco upgrade chocolatey

10. 桌面设置

选择显示的桌面图标

桌面图标设置:在桌面空白处右键 → 点击个性化 → 选择主题 → 选择桌面图标设置

3. 窗口贴靠

关于窗口贴靠的详细介绍,请参见博文《WIN11这个(分屏)功能悄悄升级了,简直太好用》

3.1 交互式分屏

可以右键点击全屏化(还原)按钮(或将光标移动到上面稍作停留),便可触发分屏机制。
在这里插入图片描述

3.2 窗口贴靠快捷键

Win+ 或 Win+

将所选窗口贴靠到屏幕左半(或右半)部分1/2,同时预览其它已经打开的应用窗口,可选择某一个窗口可自动贴靠到右半(或左半)部分。

11. 关闭使用较少的Windows服务

服务设置:鼠标右键点击左下角Win图标 → 点击计算机管理 → 选择服务和应用程序 → 选择服务

10.1 Connected User Experiences and Telemetry(收集用户诊断信息已改进Windows)

该服务在低配置电脑上可能会影响电脑的运行速度,所以在低配置电脑上禁用;

12. Edge浏览器

8.1 突破复制限制

使用SuperCopy插件

点击破解禁止复制后,即可复制文字;

Note
可以用来复制知乎中的文字。

Edge地址框加read:

有时在线文档中的文字右键无法直接复制,可以打开Edge阅读器模式,然后就可以复制文字了,
打开方式:read:http_url (“read:”后面没有空格)

8.2 ChatGPT辅助插件

MarkDownload:以Markdown格式复制网页内容

复制之后,就可以粘贴到ChatGPT中作为提示材料;

13. 磁盘管理

9.1 分区空间

9.1.1 清理C盘

清理系统文件

操作路径:右键单击【本地磁盘(C:)】 ⇒ 右键菜单中选择【属性】 ⇒ 点击磁盘清理清理系统文件

9.1.2 使用傲梅分区助手扩容C盘

如果在Win11中使用了开启了“设备加密”,则在分区助手中分区会显示为无法直接操作的状态,这时需要先关闭“设备加密”功能,再对C盘进行扩容。

9.2 交换盘符:磁盘管理

我们可以使用磁盘管理功能来交换盘符,例如:

引入一个第三的盘符做容器(类似于C++中swap的原理):
D ⇒ F;
E ⇒ D;
F ⇒ E;

14. 更新显卡驱动:GeForce Experience

我们使用 GeForce Experience 自动检测显卡并更新驱动;

15. 网络连接

15.1 Ncat: Windows上nc的替换工具

【nmap.org】:
Ncat is integrated with Nmap and is available in the standard Nmap download packages (including source code and Linux, Windows, and Mac binaries) available from the Nmap download page.

断开连接:Ctrl + C

16. 实用工具

Flameshot:截图工具 [download]

  1. 点击托盘图标开始截图
  2. 可以添加序号图标

17. Troubleshooting

(1)微软拼音输入法的文字突然变成了繁体,(之前可能使用过JetBrains的IDE)

这是因为JetBrains的套件默认使用ctrl+shift+F作为文件中搜索的快捷键,于是就会误触输入法的简繁体切换;

快捷方案

再次按下ctrl+shift+F,切换回简体文字;

推荐方案

在Win系统中关闭简繁体切换的快捷键,具体操作可以参考博文《win10自带输入法突然变成了繁体,輸入法怎麼成繁體了?》

(2)从内置存储剪切文件夹到移动硬盘时,操作时进度条一直是在0%的位置,并且超过10分钟进度条没有变化,处于卡死状态

原因分析一:之前使用了 Win-symbolic-link,并且链接失效了;

之前我们在学习 Paddle_oriented_reppoints 时,曾经使用软链接将放在其它位置的数据集文件夹链接到代码目录中,所以导致了这个错误;
排除这个故障需要观察文件传输窗口给出的信息,比如传输窗口卡在了“data”位置,那这个“data”很可能就是一个软链接,需要手动处理或者删除;
也可以将源目录中的文件一个个单独进行剪切,用来排查是哪些个文件夹中包含了软链接阻止了系统进行数据传输;

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/songyuc/article/details/124097496

智能推荐

UWB介绍以及应用_uwb 手机-程序员宅基地

文章浏览阅读1.3k次,点赞2次,收藏4次。@[TOC] (UWB介绍以及应用)UWB 介绍UWB,即Ultra Wideband(超带宽技术),UWB技术具雷达、定位和无线通信三大功能。UWB 在 2019 年被誉为连接技术的“新星”,但它却源自于上世纪 60 年代,过去实际上是一种通信协议。经过十多年的演进,UWB 基于 2ns 脉冲的特性,可以进行精准安全的空间定位,还可做到约 5 厘米的精准定位并能测量角度和距离,远程技术范围为 1 至 100 米,同时保证节点之间的安全连接。UWB 在功耗方面会高于蓝牙;UWB 可以实现 ±3°,约_uwb 手机

PHP开发APP接口实现--基本篇_php 接口地址-程序员宅基地

文章浏览阅读1.2w次,点赞7次,收藏52次。最近一段时间一直在做APP接口,总结一下APP接口开发以来的心得,与大家分享:1. 客户端/服务器接口请求流程:安卓/IOS客户端 –> PHP接口 –> 服务器端 –> 数据处理–> 返回值(客户端接收并处理)APP的通信方式:客户端 (接口地址:http://app.com/api.php?format=xml/json)客户端APP ......_php 接口地址

步进电机驱动控制-程序员宅基地

文章浏览阅读297次。#include <reg52.h>typedef unsigned char uchar;uchar direction = 0; //0为正转,1为反转uchar onoff = 0; //关为0,开为1uchar n = 0; //每次定时器中断触发时n++,当n==max时电机转动1/4uchar max = 10;uchar index = 0; //通过index指示电机..._as3435

C语言程序设计 自定义数据类型-程序员宅基地

文章浏览阅读446次,点赞12次,收藏8次。C语言程序设计实验,分享记录。(1)掌握结构体、共用体类型的定义和使用方法;(2)学会使用结构体数组及结构体指针;(3)学会使用结构体变量以及结构体指针作为函数参数实现函数调用;(4)掌握结构体和共用体在定义及使用上的区别,并能在编程时合理应用。定义一个员工数据的结构体变量,其中包括员工编号、姓名、性别、年龄、所在部门等信息。编写一个程序,从键盘输入这些数据并显示出来。编写程序,从键盘输入日期及天数,然后计算出新的日期。编写一个计算农历年份的程序,要求能够推演出某个年份的天干地支以及生肖。

开启NOTE新时代 七款Android记事本软件推荐_notevrything记事本-程序员宅基地

文章浏览阅读2.5k次。开启NOTE新时代 七款Android记事本软件推荐套用一句广告词“开启NOTE新时代”,当然此NOTE非彼NOTE。作为备忘提醒、日常记事或者记录突发灵感,记事本都可以说是最大众化的选择。当然,一百个人有一百种记事方式,挑选一款自己认为趁手的软件才能达到事半功倍的效果。今天我们就为大家挑选了七款Android平台上较为热门的记事本软件。EverNote作为一款老牌的在_notevrything记事本

Python基础入门篇【8】--python中字符串的常见操作(2)_python纵向制表符-程序员宅基地

文章浏览阅读486次。本篇主要介绍python中格式化字符串的方法及python中的转义字符的使用_python纵向制表符

随便推点

低功耗设计基础:DVS, AVS和DVFS都是如何降低功耗的?_avs 降功耗-程序员宅基地

文章浏览阅读1.8k次。https://zhuanlan.zhihu.com/p/270671041由于生产工艺的差异,导致有三种高中慢片,因此可对慢片提高电压、提高工作频率,而对快片可降低电压,以降低功耗。目前有2种方法解决此问题,AVFS和DVFS,目前常用DVFS,原因是采用几个固定的档位和频率,简单。..._avs 降功耗

WPF(3)----多窗口的实现_c# 窗口布局-程序员宅基地

文章浏览阅读2.4w次,点赞8次,收藏23次。比起MFC,WPF下的多窗口实现更有层次感。下面的例子中,在主窗口下点击SubWindow菜单键实现子窗口的跳出。1:工程右键[add] -->[Window], 本次添加的名称为SubWindow。完成之后,工程目录如下图所示:2:主窗口代码如下:MainWindow.xaml代码:

算法笔记练习 8.2 广度优先搜索(BFS) 问题 A: Jugs_codeup问题 a: jugs-程序员宅基地

文章浏览阅读399次。算法笔记练习 题解合集本题链接题目In the movie “Die Hard 3”, Bruce Willis and Samuel L. Jackson were confronted with the following puzzle. They were given a 3-gallon jug and a 5-gallon jug and were asked to fill th..._codeup问题 a: jugs

白话“卡方检验”_期望频数-程序员宅基地

文章浏览阅读1.2w次,点赞20次,收藏38次。白话“卡方检验”“卡方检验”是“假设检验”的一种,用于分析两个“类别”变量之间相关关系,是一种非参数“假设检验”,得出的结论是“两个变量相关”或者“两个变量不相关”,因此又叫“独立性检验”。关于假设检验的先验知识有:总体、样本、点估计、区间估计、显著性水平、置信区间、统计量、枢轴量、分位点、三大分布、中心极限定理(明确正态分布的重要地位)、抽样分布定理。这些知识在《概率论与数理统计》教材的“数..._期望频数

SAP转储订单(STO)_在r3中,你可以在不同的公司代码或同一公司代码下的工厂之间进行货物转储-程序员宅基地

文章浏览阅读7k次,点赞3次,收藏17次。在R3中,你可以在不同的公司代码或同一公司代码下的工厂之间进行货物转储。也就是我们平常所说的库存转储订单(STO),你也可以使用采购和分销功能,那在R3中提供了多少种方式的转储订单呢?SAP官方给出了五种方式:从业务上来讲,还有一种方式是正常的开采购订单、销售订单完成脱离转储订单。虽说这种方式比较麻烦,但实际业务过程中也是不忽视的,在这就不介绍了。 _在r3中,你可以在不同的公司代码或同一公司代码下的工厂之间进行货物转储

linux内存日志在什么位置,Linux操作环境:日志文件内存过大的解决方法-程序员宅基地

文章浏览阅读627次。很多Linux服务器里的应用程序都是无间断的输出日志,这对于服务器的硬盘是一个很大的考验。良许之前也分享过一篇文章,介绍如何让应用程序在后台执行:linux后台执行命令:&与nohup的用法通过以上方法,应用程序的日志会一直输出到日志文件myout.txt里,这个文件也会不断的增大,一直蚕食服务器硬盘。但是,我们都知道,日志对于我们而言是非常重要的,一量应用程序出现bug,或者服务器宕机,..._linux内存日志

推荐文章

热门文章

相关标签