在Creators更新中,windows10的bashshell现在允许您从Bash运行Windows二进制文件和标准命令提示符命令。您可以从同一个Bash shell运行Linux和Windows程序,甚至可以将Windows命令合并到Bash脚本中。
相关:Windows10新BashShell的所有功能
以下是您需要了解的有关此功能的一些基本细节:
考虑到这一点,让我们来看看如何运行一个程序。
相关:如何在Windows中访问Ubuntu Bash文件(以及Bash中的Windows系统驱动器)
要运行Windows程序,请在bashshell中输入程序的.exe文件的路径。请记住,您的Windows C:drive在Bash的/mnt/C中可用。Bash环境也区分大小写,因此必须指定正确的大小写。
假设您想启动位于C:\Windows\System32的Ping实用程序\PING.EXE. 您可以运行以下命令:
/mnt/c/Windows/System32/PING.EXE以下命令不起作用,因为Bash区分大小写:
/mnt/c/windows/system32/ping.exe如果路径包含诸如空格和方括号之类的复杂字符(如ProgramFiles文件夹),则这会稍微复杂一些。必须在空格、方括号和其他复杂字符前面加“\”字符来“转义”。
例如,假设您想运行位于C:\ProgramFiles(x86)\Internet Explorer的Internet Explorer程序\进程名. 您必须在Bash中运行以下命令:
/mnt/c/Program\ Files\ \(x86\)/Internet\ Explorer/iexplore.exe请注意空格和括号字符前的“\”。这些字符必须是“转义”的,否则Bash不会意识到这些字符是文件路径的一部分。
bashshell将参数直接传递给您执行的命令。
例如,如果您想pingexample.com网站,您将运行:
/mnt/c/Windows/System32/PING.EXE example.com或者,如果要在记事本中打开Windows主机文件,可以运行:
/mnt/c/Windows/System32/notepad.exe "C:\Windows\System32\drivers\etc\hosts"将文件路径直接传递给Windows程序时,使用标准的Windows文件路径。这是因为Bash直接传递参数。记事本.exe其他Windows程序需要Windows文件路径。
有些Windows命令不是.exe文件,而是内置在命令提示符中。例如,这包括通常在命令提示符下运行的dir命令。要运行这样的命令,您需要运行命令行与命令提示符关联的二进制文件,并将命令作为参数传递给/C,如下所示:
/mnt/c/Windows/System32/cmd.exe /C command例如,要运行命令提示符中内置的dir命令,可以运行以下命令:
/mnt/c/Windows/System32/cmd.exe /C dirWindows Services for Linux环境处理Windows可执行文件的方式与处理Linux二进制文件的方式类似。这意味着您可以将包含.exe文件的目录添加到路径中,然后直接执行这些.exe文件。例如,要将System32目录添加到您的路径中,您可以运行:
export PATH=$PATH:/mnt/c/Windows/System32然后可以直接运行System32文件夹中的Windows.exe文件,如下所示:
PING.exe example.com notepad.exe cmd.exe /C dirWindows命令的输出可以通过管道传输到Linux命令,反之亦然。例如,可以使用ipconfig.exe-all命令列出有关网络接口的详细信息,并通过管道将其发送到Linux grep命令以搜索输出。例如,要列出有关连接的所有信息并搜索与“IPv4地址”匹配的部分,您可以运行:
/mnt/c/Windows/System32/ipconfig.exe -all | grep "IPv4 Address"这是基本的过程。这些命令在合并到Bash脚本中时也可以工作,因此您可以编写一个包含Windows命令和Linux实用程序的Bash脚本。如果它在Bash shell中运行,它将在Bash脚本中工作。
而且,如果您想换一种方式,可以使用“bash-c”命令从标准的Windows命令提示符运行bash命令。
相关:如何在windows10上创建和运行bashshell脚本
...经过去一段时间了。微软在2016年的Build大会上首次宣布为BashShell添加Windows10支持。2017年5月,微软宣布将Ubuntu、Fedora和OpenSUSE引入Windows应用商店。Ubuntu是第一个到达现场的。 ...
... 两者都将显示为“Run命令”,可以选择该命令立即打开bashshell。使用这两种方法的区别在于,它们在/mnt/c/Windows/System32目录中打开。这意味着您可以在Windows10中浏览System32子目录。 ...
...访问Linux终端而经历所有这些麻烦。您可以从Windows中访问bashshell。 ...
...running_distro_name>\ 换句话说,如果您运行的是Ubuntu18.04的BashShell,您可以键入: \\wsl$\Ubuntu-18.04\ 当然,这也可以从命令行执行。在PowerShell或命令提示符下,命令cd\\wsl$\Debian\将更改为已安装Debian系统的根目录。 Linux用户的Windows...
...的文件夹也会自动配置为区分大小写。 相关:Windows10新BashShell的所有功能 如何将目录设置为区分大小写 要开始,请右键单击“开始”按钮,然后选择“PowerShell(Administrator)”命令。如果您喜欢使用命令提示符,可以在“开始...
windows10的bashshell终于有了方便的复制和粘贴键盘快捷键,但由于兼容性的原因,它们在默认情况下被禁用。这些快捷方式在2018年10月的更新中可用,该更新最初的代号为Redstone 5。 要启用复制和粘贴键盘快捷键,请右键单击LinuxB...
...Linux应用程序的完全兼容层。 我们已经介绍了windows10的新bashshell中可以做的很多事情,因此为了方便起见,我们将所有这些指南汇总到一个大列表中。 windows上linux入门 相关:如何在windows10上安装和使用Linux Bash Shell 您可以在...
...安装后启动新的Linux发行版来设置它时,系统会要求您为bashshell创建一个用户帐户。Windows将其称为“UNIX用户帐户”。因此,如果您提供名称“bob”和密码“letmein”,则Linux用户帐户的名称为“bob”,并且具有主文件夹“/home/bob...
...中。您可以访问此文件夹来备份和查看文件。您还可以从bashshell访问Windows文件。 更新:从Windows10 2019年5月的更新开始,现在有了一种从Windows应用程序访问Linux文件的正式、安全的方法。 不要用windows工具修改linux文件 Microsoft强...
Ubuntu和windows10上的其他Linux发行版默认使用bashshell,但这不是您唯一的选择。Windows有一个在Windows上运行Linux软件的兼容层,你可以用它来运行Zsh或者任何你喜欢的shell。 Zsh shell现在可以在windows10上运行。无论何时启动Bash,都可...