让 Windows10 的终端像 Linux 一样好用
Windows 的终端比起 MacOS 和 Linux 来说,不那么好用。如果想让 Windows 拥有像 Linux 一样好用的终端,可以通过子系统来实现。
# 前言
由于很长时间都是用公司的苹果电脑和自己的黑苹果做开发,但自己的黑苹果并不是那么完美,于是就换成了 Windows10。其实我认为正常使用的话,Windows 比 MacOS 更好用,也许是因为我们最早接触的都是 Windows,所以 Windows 的各类操作会更加自然,觉得就应该是这样子的。
Windows不好的地方就在于它的终端,不管是最开始的cmd
,到后来的 PowerShell
,到现在的PowerShell Core
,恕我直言,全都是垃圾。
当然,也不是这样说,PowerShell Core
是现在微软力推,它肯定有它好的地方。但就如我前面所说的,也许是因为我们最早接触到的都是 Linux 的终端,所以它会更加自然,也觉得就应该是这样子的。
MacOS的终端很好用,是因为它跟 Linux 基本上一样。要让 Windows10 也拥有像 Linux 一样好用的终端,有一个方法,那就是 Windows 子系统。
关于 Windows 子系统,我以前一直以为它就是虚拟机,跟我们自己用 VMware 创建的虚拟机一样。但后来安装了才发现,子系统和虚拟机还是有差别的。子系统是集成在系统中,与系统更像是寄生/共生的关系。
回到刚才终端的问题,只要在 Windows10 中安装一个 Linux 子系统,使用子系统的终端即可解决。
# 安装子系统Linux
# 1. 开启wsl功能
进入 控制面板 - 程序和功能 - 启用或关闭Windows功能,勾选 “适用于 Linux 的 Windows 子系统” 一项,确定。然后重新启动。
# 2. 安装子系统
进入 Microsoft Store,搜索“Linux”,就能看到几个常见的 Linux发行版。可根据自己的喜好和习惯选择。这里我选择了 Ubuntu20。
安装完成之后,你就得到一台 Linux 系统的“虚拟机”。通过资源管理器输入\\$wsl
路径,可访问子系统的文件。子系统的/mnt
路径下挂载了 Windows 系统的盘符,可在此访问 Windows 的文件。
# 3. 安装 Windows Terminal
进入 Microsoft Store,搜索 “Terminal”,第一个就是了。
安装完打开,这里可以选择使用哪个终端,除了前面所说的cmd
和PowerShell
,还有刚刚安装的 Ubuntu20。
# 4. 设置默认
如果希望每次打开可以都使用 Ubuntu20 的话,可以点设置,会打开一个setting.json
文件,需要手动编辑。
找到 json 文件中的属性profiles.list
,可看到当前的终端列表,找到Ubuntu20
将对应guid
复制,覆盖defaultProfile
的值,保存即可设置为默认。
# 完成
这样一来,各种开发环境的软件可以安装 Linux 版本,像 nodejs、nginx 什么的,不过 docker 还是建议使用 Windows 版,不然会有一些坑。
代码文件也可以放到 Linux 的文件系统中,配合 VScode Remote 使用。有空再来讲讲 VScode Remote。
更重要的一点,能支持所有的 Linux 命令和 Linux 脚本。