win10调⽤wsl执⾏linux命令,win10系统电脑如何在
WSLLinuxShell。。。
win10系统电脑如何在WSL Linux Shell中运⾏程序的⽅法,Windows Linux⼦系统(WSL)的优势之⼀是,您不仅可以在Windows 10中运⾏Linux发⾏版,⽽且还具有在Linux中运⾏Windows 10程序的灵活性。
此功能使Linux可以控制Windows的各个⽅⾯,或者使Windows程序与WSL⽂件系统或Linux命令处理的输出交互。
它还允许WSL⽤户创建影响Linux发⾏版的复杂Shell脚本,还可以⽤于在Windows 10中执⾏命令。
什么电脑可以装linux系统如何从WSL Linux启动Windows 10可执⾏⽂件
Windows 10和Linux都使⽤“ PATH”变量,该变量包含在执⾏程序时搜索的⽂件夹列表。
如果尝试运⾏程序,但在PATH中不到该程序,则Linux和Windows都会告诉您不到该程序。在这种情况下,您需要使⽤其完整路径(如“ C:\ Notepad2 \ ”)启动程序。
Windows 10启动WSL发⾏版时,它将配置Linux PATH变量以包括标准Linux⼆进制⽂件夹和常规Windows 10路径。
您可以通过env | grep "PATH"在WSL Shell提⽰符下键⼊命令来查看此路径。
PATH变量
注意:普通的Windows驱动器号会⾃动挂载在'/ mnt / c','/ mnt / d'等下。
在WSL Shell中时,只需键⼊其全名(包括.exe扩展名)即可执⾏Windows 10程序。
如果执⾏命令时不包括.exe扩展名,则WSL会认为它是Linux命令。
例如,如果要启动Windows记事本以编辑PHP源⽂件,则应输⼊以下命令:
< test.php
此命令将允许您使⽤记事本⽽不是普通的Linux⽂本编辑器来编辑Linux⽂件。
如果要启动不在PATH中的程序,则需要指定完整⽂件名。
例如,如果您想使⽤7Zip来存档⽂件夹,但是该⽂件夹不在您的路径中,则可以使⽤以下命令:
"/mnt/c/program files/" a -tzip code.zip code/
请注意,由于“程序⽂件”包含空格,因此我们必须将7z.exe命令括在引号中。
应该注意的是,您将⽆法启动需要WSL中的管理特权的Windows 10程序。同样,如果Linux⽂件需要提升的权限,则将⽆法使⽤Windows程序访问它。
处理Windows命令的输出
除了启动程序以与WSL中的⽂件交互之外,您还可以在Linux中处理Windows 10程序的输出。
执⾏Windows控制台程序时,其输出直接在Linux中⽽不是Windows中显⽰。
然后可以使⽤诸如awk,sed,sort等程序来处理此输出。
作为⼀个简单的⽰例,如果我们想获取按服务名称排序的Windows 10服务列表,则可以使⽤以下命令:
< query | grep SERVICE_NAME | awk '{print $1=""; print $0}' | sort -bf| sed '/^$/d' 通过Linux命令管道输出SC.exe
此功能还允许您将Windows应⽤程序⽤作复杂的Linux Shell脚本的⼀部分。
这些Shell脚本可⽤于检查进程,监视⽂件更改,基于Windows 10进程的输出执⾏命令以及许多其他任务。
虽然您可以到⼤多数Linux程序的Windows等效版本,但通过使⽤WSL混合和匹配两种环境,您可以兼得两者。
此功能使您可以在两种环境中使⽤最舒适的⼯具。