Windows10系统配置

本文记录一下在使用 Windows10 系统过程中的一些常见配置:

PowerShell

环境变量

ls env::查看所有环境变量

ls env:NODE*:搜索环境变量

$env:Path:查看单个环境变量

参考资料:

  1. Powershell下设置环境变量
  2. 关于环境变量 - PowerShell

WSL

安装流程

前置条件

Windows 10 version 2004 and higher (Build 19041 and higher) or Windows 11

可以 查看 WIndows 版本信息

安装

  • 以管理员身份运行 powershell 或 cmd

  • 在打开的终端窗口中运行 wsl --install

    • 当第一次使用wsl时运行该命令会默认安装 Ubuntu 系统。
    • 已经安装过wsl时运行该命令会列出帮助信息

    第一次打开新安装的 Linux distribution (即wsl系统)时会打开一个控制窗口,并需要等待文件解压和存储在本机上,等待即可

  • 可以通过wsl --list --online列出可以在线安装的wsl发行版本:

    image-20220522210152668

  • 可以通过wsl --install -d kali-linux指定安装的wsl为kali发行版:

    image-20220522210402831

WSL代理配置

配置代理后测试代理不能使用ping,因为ping使用ICMP协议,而代理只支持TCP/UDP数据包。应该使用curl:

curl https://www.youtube.com | head -1

参考资料:

  1. Install Linux on Windows with WSL
  2. WSL的基本命令
  3. WSL2配置代理 - Leaos - 博客园
  4. 为 WSL2 一键设置代理 - 知乎
  5. httping:测量网站延迟_Linux教程_Linux公社-Linux系统门户网站
  6. windows上使用代理,使用ping命令会超时
  7. WSL2-解决无法ping通主机/配置使用主机代理_wsl 使用代理_会伏丘的博客-CSDN博客

WSL普通用户无法登录

wsl -u root

参考资料:

  1. windows subsystem for linux - [process exited with code 1], can’t open WSL, zsh - Stack Overflow

cmd

别名设置

在windows系统中可以使用类似Linux中alias的别名设置。

  • 编写cmd_auto.bat脚本文件,内容如下:
@doskey javac=javac -encoding utf8
@doskey ls=dir /b
@doskey grep=findstr

@doskey即等价于Linux中的alias

  • 在注册表中的Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor添加AutoRun字符串项,并设置cmd_auto.bat的路径,其等价于Linux中的/etc/profile/~/.bashrc文件设置,会在cmd启动时自动运行。

参考资料:

  1. 在cmd中为命令设置别名以及启动cmd时自动执行bat
  2. window alias给cmd命令起别名
  3. Windows版Grep – findstr示例

cmd中文乱码

  • chcp 65001:临时改为UTF-8编码。

参考资料:

  1. CMD中文乱码 - 码农在路上 - 博客园

Scoop

Scoop是Windows系统下一款流行的包管理工具
推荐包:

  1. GitHub - solidiquis/erdtree: A multi-threaded file-tree visualizer and disk usage analyzer.:目录结构树状展示
  2. GitHub - Slackadays/Clipboard: Your external brain that remembers anything, anytime, anywhere. Save time and effort the 𝗲𝗮𝘀𝘆 way! 😄:实现终端复制、剪切和粘贴。

参考资料:

  1. Scoop

cmd自动补全和命令高亮

clink用于替代cmd终端;starship用于定制shell。

参考资料:

  1. GitHub - chrisant996/clink: Bash’s powerful command line editing in cmd.exe
  2. GitHub - starship/starship: ☄🌌️ The minimal, blazing-fast, and infinitely customizable prompt for any shell!

cmd默认以管理员身份运行并关闭UAC prompt

主要参考资料2配置。

参考资料:

  1. How To Always Open Command Prompt As Administrator
  2. Use the Windows Task Scheduler to run apps without UAC prompts, with admin rights
  3. How to Run Programs as Administrator (Elevated) without UAC Prompt » Winhelponline

cmd配置Fira Code字体

参考资料:

  1. Font not in Windows 10 console properties list - Super User
  2. Ligatures not working with Fira Code Light in console · Issue #941 · tonsky/FiraCode · GitHub
  3. cmd.exe support · Issue #431 · tonsky/FiraCode · GitHub
  4. Detect path of font on Windows - Super User
  5. How to Customize the Font in Windows Command Prompt: 15 Steps

在配置Docker后, Clash for Windows中端口不能设为1080,一直为0

原因:
Docker会用到wsl,wsl会用到hyper-V,hyper-V会让win10的动态端口变成1024开始的13977个端口,然后hyper-V会随机保留端口,大概2860个左右,刚好占用了clash端口。
解决方法:
一种是把动态端口改到更高的端口区域去,或者将使用的端口从hyper-V保留端口中排除。

参考资料:

  1. WIN10更新后端口显示为0的解决方法 · Issue #671 · Fndroid/clash_for_windows_pkg · GitHub
  2. Win10 各种端口占用问题的解决办法 - hyuuko - 博客园
  3. 解决 Windows 10 端口被 Hyper-V 随机保留(占用)的问题 - 知乎