在Windows 10中使用Linux工具应该知道的18件事

Windows 10现在可以运行(许多)Linux二进制文件。是的,真的。为了充分利用Linux的Windows子系统,您需要了解以下内容。

去年,微软为Windows 10增加了一项不寻常的新功能:Linux支持。Linux的Windows子系统(WSL)——有时在Windows上称为Bash——是“微软在Windows内核之上和内部运行的与Linux兼容的基础设施的实现,”高级程序经理Rich Turner告诉CIO.com。这意味着在不离开Windows的情况下运行Linux二进制文件。

Turner解释说:“Windows上的Bash为开发人员、IT管理员和其他希望或需要在Windows工具和应用程序之外运行Linux命令行工具的技术专业人员提供了一套工具集。”它是在Canonical(以及一个大型的Linux用户社区)的帮助下开发的,它不是要把Linux变成Windows,或者把Windows变成Linux。只是一些Linux工具在开发和部署中是如此普遍,以至于能够在不启动虚拟机(VM)的情况下使用它们是非常有用的。这就是mac在开发者中如此受欢迎的原因之一:MacOS基于BSD,即UNIX,因此它可以运行Bash等Linux工具。现在,Windows 10也可以。

“在Windows上使用Bash,开发人员可以在高度兼容的Linux环境中运行真正的、未经修改的Linux命令行工具,以及他们最喜欢的Windows生产力和开发工具,”Turner解释说。想想Office和Vi,或者PowerShell和grep,并列使用。

WSL正在快速发展,随着创建者的更新,Turner说它已经足够满足日常使用了。但是一旦你理解了Windows 10和Linux交互的一些东西,它就更容易使用了。

1.这是为开发人员

WSL有没有让Windows工作更好的开发人员来说,需要轻松地连接到Linux的后端,或使用工具,往往可以在Linux而不是Windows,或那些工具已编译的二进制文件,假设您将使用Linux, Linux文件系统。Turner称其为“对于任何致力于多平台解决方案的开发人员,特别是那些致力于构建web站点和服务、分布式系统或存储服务的开发人员来说,是一个非常好的工具集”。

2.WSL是一个Linux发行版,而不是Linux内核

WSL在你的电脑上安装一个Linux发行版(目前,ubuntu16.04是你自动获得的发行版,它是受支持的,尽管将来会有更多的选择)。Linux二进制程序像往常一样进行系统调用,但是Turner解释说,这些系统调用只会转到Windows内核。“来自用户模式命令行工具的调用与操作系统内核交互,”Turner说。这意味着您只需要安装和使用Linux二进制文件,而不需要更改任何东西,因为您是在Windows上。

3.它不是虚拟机

当您在VM的Windows上运行Linux时,您会得到一个绕过许多Windows的独立操作系统。WSL比VM使用更少的CPU和内存,因为您仍然在Windows中,所以可以在同一组文件上同时使用Windows和Linux工具。这也意味着它将在Windows VM中工作,而不必担心嵌套虚拟化。

4.这不是Cygwin

Cygwin是一个库,它在Windows中为您提供了一个类unix的图形化环境,包括一个命令行界面,您必须专门为它编译软件。使用WSL, Linux二进制文件在标准Windows环境中打开,您不需要修改它们就可以在Windows上运行。

5.如何安装和启动它

您需要一个64位版本的Windows 10创作者更新(版本1703或更高)。第一次打开设置>更新和安全>为开发人员,打开开发人员模式,然后选择标记的复选框用于Linux的Windows子系统(测试版)打开或关闭Windows功能控制面板(你也可以把它输入到一个提升的PowerShell窗口:启用windows soptionalfeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux)。重新启动你的电脑,打开命令提示符并输入bash下载Ubuntu映像;这还向启动bash的“开始”菜单添加了一个快捷方式。第一次使用它时,您将被提升为创建UNIX用户名和密码(这是与Windows帐户不同的帐户)。

6.您不需要一个管理帐户来使用它

您确实需要管理凭证来打开WSL,但这可以通过DISM或其他管理工具来完成,因此在pc上没有管理帐户的开发人员在启用WSL后仍然可以使用它。

7.即使符号链接也不需要管理员权限

Windows从Vista开始就支持符号链接,但出于安全原因,你不得不使用一个提升的命令提示符来创建和修改它们。这给Git和npm等工具带来了问题,它们在创建和恢复repos和包时使用符号链接。对于创作者更新,一旦您打开开发人员模式,您就不需要提升表单管理来使用符号链接。

8.这不仅仅是抨击

Bash是进入WSL的方法;它总是第一个运行的WSL进程,如果您关闭bash,那么正在运行的所有其他Linux进程也将关闭。但是您可以在bash中使用apt来安装Linux二进制文件。您可以使用其他壳zsh和鱼一样,您可以使用常见的Linux工具apt, grep、sed, awk,顶部,tmux和ssh,您可以使用开发工具像Vim, Emacs, git和GNU调试器(GDB),您可以运行sshd服务,Apache, nginx, MySQL和PostgreSQL,您可以运行语言工具像npm节点。js, Ruby的gems, Java的Apache Maven, Python的Pip以及任何你在Ubuntu上经常使用的东西。

9.它是用于命令行工具的,但是…

WSL是为运行命令行工具而设计的,这就是它从bash shell开始的原因。但这并不意味着图形化Linux工具就不能工作了。事实上,很多都能工作,但这只是微软支持命令行工具工作的一个副作用,而不是WSL存在的原因。微软没有做任何特别的事情来支持运行图形化Linux工具,但是,同样地,它也没有做任何事情来阻止您在WSL上运行它们(如果它们对您有用的话)。

10.添加Linux支持改进了每个人的控制台

为了使Windows控制台能够很好地处理Vim、Emacs和tmux等命令行工具的文本格式,creator Update对UNIX和Linux工具在其接口中使用的ANSI代码和VT序列提供了更好的支持。它还有24位的颜色,而不是以前的16位颜色和更好的鼠标支持(Midnight Commander和Htop等工具需要的),这些都出现在所有的Windows命令行界面中,包括CMD和PowerShell控制台。

11.它不在Windows服务器上

WSL只包括在Windows 10客户端中,而不包括在Windows Server中。因此,如果您使用虚拟桌面基础设施(VDI)或其他运行Windows会话的方式,您需要运行Windows客户端才能使用WSL。

12.Bash不替换PowerShell

WSL不在Windows Server上的一个原因是,它不像PowerShell那样设计用于管理Windows Server、Active Directory、IIS、Exchange、SharePoint、System Center、SQL Server、Hyper-V和Azure等工作负载。PowerShell是一个任务自动化和配置框架,而不仅仅是一个shell, WSL不会改变这一点。

13.您需要管理更新

WSL通过Windows Update和每年两次的Windows更新定期更新。但这(基于用户的强烈反馈)不会更新你的Linux发行版。要更新Ubuntu和各种Linux二进制文件,您必须运行apt-get更新你自己(尽管微软计划及时添加一种自动化的方法)。

14.您可以(大部分)使用常用的Windows工具来管理WSL

WSL的一大优点是,您可以使用已经用于Windows系统的相同的网络监视和管理工具,而vm通常会绕过这些工具。Turner解释说:“由于WSL利用了Windows内核现有的内存、进程、网络、存储、网络和IO栈,公司在操作系统保护、管理和监视方面的投资得以保留和扩展,以帮助保护、监视和控制Linux进程。”到目前为止,Windows卫士是唯一一个与WSL一起工作并监控你的Linux进程的杀毒软件,尽管他说“许多其他的杀毒软件供应商已经在与微软合作更新他们的产品以增加对WSL的支持。”

15.它与Windows进程交叉连接

使用WSL运行的Linux进程与Windows中的任何其他进程一样,因此它们出现在任务管理器中,为您提供了一种简单的方法来终止任何挂起的进程。这也意味着你可以调用Windows可执行文件在bash只需键入完整的,区分大小写的程序的文件名(记得. exe,但你不需要指定文件的生活如果在Windows路径),或调用Linux二进制程序和Windows应用程序的输出。这意味着你可以从bash通过调用CMD开始批处理文件。EXE,将命令在bash中的输出通过管道传输到PowerShell来处理它,或者启动Visual Studio,或者调用像MSBuild这样的工具来构建刚刚从bash中编辑完成的代码。安装RunInBash命令行助手要从PowerShell或CMD运行Linux命令,在它前面输入$。

16.它与Windows文件系统交叉连接

使用WSL,您可以获得一个Linux DrvFs文件系统,并且任何来自Windows文件系统的永久连接驱动器都会自动挂载到该文件系统中,这样您就可以通过运行的Linux工具访问Windows系统上的文件。WSL甚至支持Linux inotify服务,该服务允许应用程序注册文件系统更改通知,包括Windows文件系统中的文件,这些通知可以触发操作,比如重新启动服务器或构建代码。这意味着您可以将代码保存在可以用Visual Studio编辑的地方,用Linux工具使用相同的代码,并自动执行在以任何一种方式更改代码时所发生的操作。

17.你不能在Windows应用程序中打开Linux文件

运行WSL的Linux工具可以打开Windows文件,但不要试图在Windows应用程序中打开来自Linux文件系统的文件。它不会工作,会损坏文件。

18.你会想使用Windows Insider

WSL仍在开发中,并不断获得新的特性,比如从Linux进程连接到Windows串口,或者能够安装可移动驱动器和网络共享。这些都不是在创作者更新,但你可以得到他们没有等待六个月的下一个大更新运行Windows Insider构建。

这篇题为“在Windows 10中使用Linux工具应该知道的18件事”的文章最初是由首席信息官 .

加入网络世界社区吧有个足球雷竞技app脸谱网LinkedIn对大家最关心的话题发表评论。

版权©2017Raybet2

工资调查:结果在