Linux 的 Windows 子系统已成为一个重要的开发工具,但它对于运行庞大的网络 Linux 工具包也很有用。 建立在 Windows NT 基础上的现代版本的 Windows 也有自己的网络工具。
如果您在 WSL 下运行 Linux,您可能想知道应该关注哪组工具。 由于能够运行真正的 Linux 命令,Windows 或 Linux 的选择变得更加清晰。 从 WSL 访问丰富的网络工具包更有意义。
Linux 是服务器的标准
虽然 Linux 仍然只代表少数台式计算机,但它在服务器计算领域占据主导地位。 来自的统计 ZDNet 2015 年证明,全球前 100 万台 Web 服务器中有 96.3% 使用 Linux。 世界上的 超级计算机 500 强, 其中 100% 运行 Linux。 没错,都是。
因为 Linux 在服务器计算中无处不在,所以如果您真的想学习网络知识,那么如果您还没有熟悉 Linux,那么您会想要熟悉 Linux。
过去,在同一台机器上运行 Linux 和 Windows 的方法是安装双引导系统,但这可能需要时间。 它还需要磁盘空间,并且需要切换系统。 像这样的工具 赛格温 也可以使用,但它们只是 Linux 命令到 Windows 的端口,并且工作方式不完全相同。
虚拟机允许 Linux 和 Windows 同时运行,但虚拟机会消耗大量资源,有时很难集成主机和来宾系统。
WSL 消除了切换上下文的需要,让您立即提高工作效率。
为 Linux 设置 Windows 子系统
如果您只是在学习网络,那么在 Windows 机器上设置 WSL 很容易,而不必与安装、多重引导或与新操作系统之上的新界面抗争。 您可以在亲身体验网络工具的同时拥有熟悉的 Windows 环境。
如果您已经是一位经验丰富的 Linux 用户,那么 WSL 还可以为您提供很多。 您可以直接在 Windows 中运行熟悉的网络工具,并且可以在同一命令行上混合和匹配 Windows 和 Linux 命令。 您无法在虚拟机或独立 Linux 安装中执行此操作。
在任何情况下,您都会在 WSL 上找到与在 Linux 服务器上相同的环境。 这意味着命令将在两个系统上以相同的方式工作。 您可以遵循适用于 Linux 的文档。
当您对自己的 Linux 技能充满信心时,您将能够将所学应用到成熟的 Linux 安装中。
开源工具包
使用 WSL 的主要原因是获得对 Linux 提供的开源网络工具包的访问权限。
您可能正在构建一个 Web 应用程序,因此您需要测试 Web 和数据库服务器。 您可以安装 Apache Web 服务器和 MariaDB 数据库服务器,两者都用于在现实世界中运行大量网站。
您可以使用 ping、tracepath、MTR 对网络连接进行故障排除,并使用 nmap 深入挖掘远程服务器。
关键是您可以访问在 Linux 机器上找到的相同工具,并且它们的工作方式相同。 这意味着从 Windows 到 Linux 再返回是无缝的。
虽然其中许多工具都有本地 Windows 端口,但开发人员通常优先考虑 Linux 版本。 这意味着,如果您在使用 Windows 版本时遇到任何问题,那么问题很可能是您使用的是 Windows。
WSL 运行本机 Linux 二进制文件,这意味着您将运行与在 Linux 机器上完全相同的版本。 现在 WSL2 使用了虚拟化的 Linux 内核,就行为而言,它更像是一个标准的 Linux 机器。
这意味着工具将按照开源开发人员期望的方式工作。
集成 Windows 和 Linux
WSL 最好的部分之一是能够从同一命令行混合和匹配 Windows 和 Linux,无论是在 Linux 还是 PowerShell 中。
要从 Windows 访问 Linux 文件系统,只需在 shell 中键入:
$ Explorer.exe .
这将打开 Windows 资源管理器到当前目录。 您可以将任何 Linux 目录替换为“.”。 并在资源管理器中打开它。
Windows 资源管理器中的 Linux 主目录
您还可以通过附加在 Linux 中运行任何 Windows 命令 。可执行程序 给它。 如果您想在记事本中编辑 .bashrc,对于 example, 类型:
<预
$ notepad.exe .bashrc
您还可以通过 /mnt/ 从 Linux 访问 Windows 文件系统[drive letter] 目录。 如果您的 Windows 驱动器是 C:,它将是/mnt/c。
转到 Windows 端, wsl 命令将在您的 WSL Linux 安装中运行附加到它的任何内容,并在 PowerShell 中返回结果:
wsl ls
此命令将为您提供 Linux 目录列表。
为什么要混合搭配 Windows 和 Linux 命令? 您可能只是更喜欢一个系统中的命令而不是另一个系统中的命令。 Windows tracert 和 Linux tracepath 命令都创建跟踪数据包到服务器的路由的跟踪路由,但显示的结果不同。
Tracepath Linux 命令从 PowerShell 在 WSL 中运行:
Linux 中的 Windows Tracert 命令:
您可能已经为 Windows 生成了 OpenSSH 密钥。 如果您想使用 Linux 版本,则必须创建另一个密钥。 使用 WSL,您可以只使用现有的密钥。 您只需在 WSL 中输入:
ssh.exe username@server
能够从同一命令行运行不同的操作系统命令简直是惊人的。 您可以将两个不同的系统作为一个系统运行,而无需双重引导或使用虚拟化应用程序。 WSL 只是一个非常灵活的解决方案。
网络强国
使用 WSL,您无需在 Linux 或 Windows 之间进行选择,即可在您的系统上释放后者的网络功能。 您可以保留现有桌面并在 Windows 中发出 Linux 命令,在 Linux 中发出 Windows 命令。
它是双引导和虚拟机的强大替代方案。 随着管道中 WSL 的更多改进,包括运行图形应用程序的能力,看起来 WSL 只会随着时间的推移变得更好。 无论您是老手还是刚接触网络,为什么不尝试一下呢?