Windows 相关知识操作及部分快捷键

之前机缘巧合,搜索了一下 Windows 相关知识,发现有一些知识和快捷键确实不了解,也从没注意到过,在此记录一下作为整理,如果你有其他关于 Windows 的相关知识和快捷键可以与我一同分享。

Windows 相关知识

1. 命令行访问带空格的目录时,必需要加引号,不然访问不到:

e.g. C:\>cd "Program Files\Java"

另最新版的 Windows 系统已经帮你处理了这块,按下 Tab 联想自动会加的,有时候就是用代码执行 bat 的时候需要注意这里。

2. Windows 中一些特殊单词不能作为文件名,例如 auxcom1com2prnconnul,如果你发现有软件用用户文件名作为配置文件夹名称,你可以把自己用户名改成上面那些单词,软件可能就会崩溃。

3. Windows 路径长度最多为 260 个字符。

4. Windows 创建一个没后缀名的文件需要在文件名称后面紧跟一个点,比如 .ignore. 系统会自动识别成 .ignore

5. 文件删除不掉提示被占用,可以通过资源监视器CPU关联句柄里搜索文件,然后结束进程。

6. 使用 PROGRA~1 代替 Program Files 。cmd 访问文件最快的办法是把文件用鼠标拖入 cmd 中。

7. Windows 软件闪退想找错误日志?运行里打开 eventvwr.exe

8. Windows 文件历史记录可以备份文件十分好用,Windows 自带的搜索可以设置搜索文件的内容(包括 TXT、Word、Excel 等文件内容)。

9. 按住 ctrl + shift + alt 再打开任务管理器,任务管理器会进入精简模式,便于在系统资源不足时使用任务管理器。任务管理器卡死崩溃,按 ctrl + shift + esc 可以让崩溃的任务管理器在 10 秒内重新启动。

10. 在开始菜单点关机重启时,按住 shift 键可以修改系统启动模式或进入高级恢复选项。

11. Windows 可以设置在重要操作时要求输入密码:组策略编辑器,Windows 组件,凭据用户界面—要求输入凭据的受信任路径,点击启用。系统 UAC 需要开最高。这样安装软件,修改系统重要设置都需要验证密码。

12. 电脑配置不高,你使用软件比较卡顿时,可以在任务管理器修改进程优先级。正常改为:高于正常。

13. 资源管理器中按住 Shift 键,再按鼠标右键会弹出带有“在此处打开 CMD/PowerShell 窗口”的菜单。

14. 选中文件上按住 Shift 点鼠标右键,菜单里会多出一项复制为路径。

15. Windows 下按住 alt 键双击文件夹会打开该文件夹的属性窗口。

16. 按住 Ctrl+Shift,再单击打开可执行程序,就会通过管理员模式打开。

17. 修改 hosts 文件时,可以按 Win + R 打开“运行”窗口,在输入框中输入 drivers 直接打开 C:\Windows\System32\drivers 目录,之后再自行打开 .\etc\hosts,比一层层目录点进去要省不少事。

18. Windows 系统盘下的 User 目录可以迁移到其他盘符中,具体操作可以看我之前发过的文章《改变 Windows 用户文件夹默认路径 C:/Users》。

Windows 快捷键

win + q (query) 搜索
win + w (write) 手写笔
win + e (explorer) 资源管理器
win + r (run) 运行
win + a (alert) 通知中心
win + s (search) 也是搜索
win + d (disappear) 老板键
win + f (feedback) 系统反馈
win + x 等同于右键点击开始菜单
win + c (cortana) 微软小娜
win + v 剪切板
win + h 语言输入
win + m (minimal) 最小化窗口
win + . emoji
win + ; emoji
win + i 设置
win + p (project) 投影
win + + 放大镜
win + d (desktop) 显示桌面
win + l (lock) 锁屏
win + t (taskbar) 任务栏上固定的应用
win + tab 虚拟桌面切换
win + ctrl + 左右键 切换虚拟桌面
win + shift + s 截图
ctrl + shift + Esc 任务管理器
ctrl + shift + Enter 以管理员权限启动
ctrl + l 激活地址栏,在地址栏中键入 PowerShell 即可自动打开已当前目录路径的 PowerShell
ctrl + w 关闭窗口

引用

Windows 下有哪些程序员平时不太了解,却很重要的知识?

改变 Windows 用户文件夹默认路径 C:/Users

Windows 默认的总用户文件夹总是会在系统盘下,如果你的系统盘为 C 盘,则为: C:\Users ,许多默认文件夹也都会放在这里:

  • 文档、桌面、下载、图片、视频等文件夹都默认在这里,这些文件夹倒是可以改变位置
  • AppData 文件夹默认在用户根目录下,存储了大部分软件的数据、配置,无法被改变位置
  • .config / .ssh / .config / scoop 等配置目录也在用户根目录下,无法改变位置
  • 许多软件的默认数据位置

系统盘符:\Users\用户名\AppData 里面一般有三个文件夹,分别是 Local / LocalLow / Roaming ,简单地来说,都是用来存放软件的配置文件和临时文件的,里面有很多以软件名称或软件公司命名的文件夹,还有用户帐户的配置文件。随着系统使用时间的增加和安装软件的增多, AppData 占用的空间会越来越大。

上面这些目录会导致系统盘占用很大,即使其中有部分可以手动指派其它路径,但是每次指定都很麻烦,重装系统时候备份也不方便(用户目录里有许多细碎的小文件,备份非常慢),还不如将用户目录迁出系统盘,所有软件都用默认路径,多省事。

另外,修改了用户路径后,当安装软件只为用户安装时,默认的安装路径也会到你的用户目录所在盘,大大节省了系统盘空间。

安装 Windows 的时候修改默认用户路径(推荐)

正常安装 Windows

当 Windows 连接到网络的时候有时 Sysprep 会失败,所以建议全程关闭网络连接安装系统。安装系统的方法不多做介绍。安装系统重启后停留在选择地区的配置界面。

进入 Audit Mode(审计模式)

在系统配置选择地区的界面,按下 Ctrl + Shift + F3 ,这时 Windows 会重启,进入 Audit Mode ,然后显示一个 System Preparation Tool(系统准备工具) ,点击取消,将它关闭。

新建 relocate.xml

现在你可以将电脑连接到网络了。

接下来我们要使用 System Preparation Tool (Sysprep) 工具来设置用户路径。这个工具会执行一个 xml 文件中的配置(也就是 relocate.xml)。我们现在只需要一个非常简单的 xml配置文件,只需包含以下内容:

  • Windows 的版本(32 或 64 位)
  • 用户文件夹的新路径(例如 D:/Users

新建 relocate.xml ,并使用记事本打开拷贝以下代码:

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
	<settings pass="oobeSystem">
		<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
			<FolderLocations>
				<ProfilesDirectory>D:\Users</ProfilesDirectory>
			</FolderLocations>
		</component>
	</settings>
</unattend>
警告,在操作之前,请先读一下这个:
1. Windows 以字母来标识盘符,但是当安装了 Windows 重启之后,本来你想把用户目录安装到 d 盘,但这个盘符可能会发生改变,比如变成了 e 盘,这个时候就会失败,所以一定要确定好盘符。
2. xml 文件保存到磁盘根目录(不能是 C 盘),例如我把它保存到了 D:\relocate.xml
3. 部分计算机在 Audit Mode 下因为缺少驱动,键盘无法使用,可以借助其他计算机编写,并拷贝,也可以完全用鼠标操作完成,看个人能力。

运行 Sysprep

以管理员身份运行 cmd,首先确保已停止 WMP Network Sharing Service 服务:

net stop wmpnetworksvc

然后运行以下命令:

%windir%\system32\sysprep\sysprep.exe /oobe /reboot /unattend:d:\relocate.xml

上述命令告诉系统从 Windows\System32\Sysprep 运行 Sysprep,执行 D:/relocate.xml 中的指令,为 OOBE (the firlst boot of newly installed Windows) 重启准备系统,最后重启。

完成

完成上述操作后,自动重启进入系统,检查 User 目录已经移动到了 D 盘。

在已经安装好的 Windows 系统上迁移用户目录

警告:操作之前,一定要先创建一个系统映像,做好备份。
对一个 OEM 预先安装的 Windows 使用 Sysprep 是非常危险的。电脑厂商可能有他们自己的 unattended answer file,这样可能就会忽略掉你的 unattended file。在这个过程中可能会出各种错误,所以不建议操作。
如果中途出错了,你的备份文件可以帮助你恢复。
这个操作非常有可能导致你的电脑恢复出厂设置。
警告****1703 或者更高版本,请不要禁用已存在的用户!!!
在 Win10 1703 或更高版本上,千万不要禁用现有用户,因为禁用现有用户可能会让你无法登录 Windows,进而需要重装。

新建 relocate.xml

按照上面说过的步骤新建一个 relocate.xml 文件。

运行 Sysprep

按照上面说过的步骤运行 Sysprep

OOBE

虽然你已经安装了 Windows,但是在 Sysprep 运行之后 OOBE 仍然会运行,这意味着你的电脑会经历初始化程序。

这里有两点需要注意:

  • Windows 要求你输入产品密钥,但是不需要去输入,单击跳过就可以了;
  • 之前的账户还会存在,但是 OOBE 会要求新建一个用户,如果新建的这个用户和已存在的用户名字相同,那就会发生错误。只需要新建一个随意的账户,之后,再把它删掉就可以了;

引用

Scoop 包管理工具

安装步骤

打开 PowerShell远程权限

Set-ExecutionPolicy RemoteSigned -scope CurrentUser;

若出现提示是否要更改执行策略?,输入 Y 回车

自定义 Scoop 包安装路径

$env:SCOOP='自定义路径'
[environment]::setEnvironmentVariable('SCOOP',$env:SCOOP,'User')
iwr -useb get.scoop.sh | iex

如果跳过该步骤,Scoop 将默认把所有用户安装的 App 和 Scoop 本身置于 C:\Users\\scoop

安装 Scoop

iwr -useb get.scoop.sh | iex
scoop update

或者使用国内镜像:

iwr -useb https://gitee.com/glsnames/scoop-installer/raw/master/bin/install.ps1 | iex
scoop config SCOOP_REPO 'https://gitee.com/glsnames/Scoop-Core'
scoop update

如果提示错误,说明 PowerShell 需要调整进行一些配置。这时按照提示,输入:

Set-ExecutionPolicy RemoteSigned -scope CurrentUser

然后重新运行第一条指令即可。

如果发现安装速度极慢,导致安装错误,但再次安装仍提示 scoop 已安装,那么可以输入下面这一行指令来强制删除,然后再重新安装:

del .\scoop -Force

安装 Scoop 的 bucket

安装完毕,但是我们还要再安装一个 scoop 的 bucket。scoop 默认自带的 bucket 是 main,包含大量的没有 GUI 的程序,比如 Node.js,Aria2,Git,FFmpeg 等。如果想要安装带有 GUI 的程序,可以安装名为 extras 的 bucket。

安装 extras 很简单,只需要一行指令:

scoop bucket add extras

如果出现问题,或者不想用这个 bucket 了,那么可以用下面这条语句来删除:

scoop bucket rm extras

操作命令

帮助语法

scoop help

安装操作

scoop install 软件名

安装指定Bucket中的应用

scoop install extras/sumatrapdf

安装指定版本

scoop install python@3.7.9

版本切换

scoop reset python
scoop reset python27

更新指定应用

scoop update python

禁止更新指定应用

scoop hold python

解除禁止更新指定应用

scoop unhold python

更新所有已安装应用

scoop update *

更新 bucket 库

scoop update

清理所有旧版本

scoop cleanup *

卸载操作

scoop uninstall 软件名

全局卸载(包括persist)

scoop uninstall 软件名 -p

常用软件表

01.aria2:scoop install aria2
02.everything:scoop install everything
03.cmder:scoop install cmder
04.notepad2:scoop install echo/notepad2
05.q-dir:scoop install q-dir
06.vim:scoop install vim
07.keepass:scoop install keepass
08.chrome:scoop install googlechrome
09.firefox:scoop install firefox
10.vivaldi:scoop install vivaldi
11.opera:scoop install opera
12.python:scoop install python
13.nodejs:scoop install nodejs
14.go:scoop install go
15.trafficmonitor:scoop install trafficmonitor
16.notepadplusplus:scoop install notepadplusplus
17.sublime-text:scoop install sublime-text
18.vscode:scoop install vscode
19.pycharm:scoop install pycharm
20.intellij-idea:scoop install intellij-idea
21.goland:scoop install goland
22.fscapture:scoop install echo/fscapture
23.snipaste:scoop install snipaste
24.synctrayzor:scoop install synctrayzor
25.telegram:scoop install telegram
26.notion:scoop install notion
27typora:scoop install typora

MySQL 5.7 安装

MySQL logo

配置环境变量

变量名为:MYSQL_HOME,添加你的 MySQL 文件夹所在位置

编辑 Path,复制 ;%MYSQL_HOME%\bin 到原有值的后面

配置 my.ini 文件

在 MySQL 目录下新建 my.ini 文件,my.ini 文件的内容为:

[mysqld]
#端口号
port = 3306
#mysql-5.7.27-winx64的路径
basedir=D:\Program Files\mysql-5.7.36-winx64
#mysql-5.7.27-winx64的路径+\data
datadir=D:\Program Files\mysql-5.7.36-winx64\data 
#最大连接数
max_connections=200
#编码
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]

#编码
default-character-set=utf8 

安装 MySQL

以管理员身份运行命令提示符,一定要以管理员的身份运行,否则在安装过程中会出现因为管理权限不够而导致的 Install/Remove of the Service Denied!(安装/卸载服务被拒绝)

在命令提示符中进入到 D:\Program Files\mysql-5.7.36-winx64\bin 目录

输入安装命令:mysqld -install

若出现 Service successfully installed,证明安装成功;如出现 Install of the Service Denied,则说明没有以管理员权限来运行命令提示符

然后继续输入命令:mysqld --initialize,此时不会有任何提示

再输入启动命令:net start mysql,出现提示证明 MySQL 启动成功

D:\Program Files\mysql-5.7.36-winx64\bin>net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。

设置 MySQL 密码

在这里设置密码主要是为了解决 ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO) 的问题

首先停止 MySQL 服务,输入命令行 net stop mysql

D:\Program Files\mysql-5.7.36-winx64\bin>net stop mysql
MySQL 服务正在停止.
MySQL 服务已成功停止。

在 D:\Program Files\mysql-5.7.36-winx64 目录下找到 my.ini,在 [mysqld] 字段下任意一行添加 skip-grant-tables ,保存即可

重启 MySQL,输入启动命令:net start mysql,出现提示证明 MySQL 启动成功

D:\Program Files\mysql-5.7.36-winx64\bin>net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。

在输入命令 mysql -u root -p,不需要输入密码,直接回车

D:\Program Files\mysql-5.7.36-winx64\bin>mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.36 MySQL Community Server (GPL)

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

输入命令行 use mysql,进入数据库

mysql> use mysql
Database changed

输入命令行 update user set authentication_string=password("××××××") where user="root"; ××××××是你设置的新密码,敲击回车后若出现信息,证明修改成功

mysql> update user set authentication_string=password("123456") where user="root";
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1

启动任务管理器,在“服务”中找到 MySQL,点击右键,然后点击停止即可

然后在刚刚的 my.ini 文件中删除 skip-grant-tables 这一行并保存关闭

再次以管理员身份运行命令提示符,输入启动命令:net start mysql,再输入 mysql -u root -p,再输入刚刚设置的密码,出现以下信息证明设置成功

D:\Program Files\mysql-5.7.36-winx64\bin>mysql -u root -p
Enter password: ******
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.36

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

输入命令行 use mysql 验证一下,结果报错

mysql> use mysql
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql>

既然没有重置密码,那就重置密码,键入命令行 alter user user() identified by "××××××";

mysql> alter user user() identified by "123456";
Query OK, 0 rows affected (0.00 sec)

再次输入命令行 use mysql 验证,成功

mysql> use mysql
Database changed

至此,MySQL 5.7 安装及配置完成