ber*_*ers 10 shortcut windows-subsystem-for-linux
我想ls在Windows 10的命令行中使用许多其他Linux工具.我知道有GnuWin32和其他二进制替代品,但这些都不如Windows子系统Linux(WSL)那样优雅; 包括更新机制.
使用WSL,可以ls ...从命令行调用bash -c "ls ...",这非常有效.但是,理想情况下,我只需ls在命令行上输入.我可以创建一个ls.bat基本上@bash -c "ls %*"- 但我必须为我想要导出的每个命令执行此操作.是否有更直接的方式将ls(和许多其他人)导出到命令行?
nik*_*eee 18
显然,这是WSL最受欢迎的功能,Microsoft现在支持此功能.要在命令提示符(或PowerShell)中使用linux命令,只需在命令前加上wsl.所以,例如,这是你如何ls从CMD 运行.
C:\temp> wsl ls
<- contents of C:\temp ->
Run Code Online (Sandbox Code Playgroud)
或者这是您更新包列表的方式.
C:\temp> wsl sudo apt-get update
[sudo] password for username:
Hit:1 http://archive.ubuntu.com/ubuntu xenial InRelease
Get:2 http://security.ubuntu.com/ubuntu xenial-security InRelease [94.5 kB]
Run Code Online (Sandbox Code Playgroud)
更多细节可以在官方文档中找到.我不确定您是否在寻找不涉及任何前缀的解决方案.如果是这样的话,我还不知道任何解决方案.
Microsoft不直接支持您的要求,但是...
CMD /?通知我们以下两个注册表项:HKey_Local_Machine\Software\Microsoft\Command Processor\AutoRun和HKey_Current_User\Software\Microsoft\Command Processor\AutoRun,/D在打开新的“命令提示符”窗口时,将检查两个(只要未指定该选项)运行的内容(按此顺序)。如果我们将这两件事与一个FOR循环放在一起,并将一个漂亮的,易于自定义的文件放在您的用户文件夹中,那么我们可以非常近似地认为我想要的东西。
我将其放在HKLM中,并在中引用一个%USERPROFILE%名为的文件exportlinuxcommands,以便所有用户都可以使用,但可以轻松地按用户自定义,并且仅对设置该文件的用户起作用。如果只希望一个用户使用它,或者不希望每个用户对其进行自定义,则必须对说明进行一些修改。
HKey_Local_Machine\Software\Microsoft\Command ProcessorIF EXIST %USERPROFILE%\exportlinuxcommands FOR /F %i in (%USERPROFILE%\exportlinuxcommands) DO @doskey %i=bash -c "%i $*"作为“值数据”。现在,您只需要在您的%USERPROFILE%文件夹(即C:\Users\YourUserName)中创建一个文件exportlinuxcommands,并在每行Linux命令中都使用别名即可。例如:
ls
rm
cat
Run Code Online (Sandbox Code Playgroud)
要删除一个吗?从文件中删除它,它将不会在打开的下一个命令提示符窗口中显示。
是否想稍后再添加?只需将其添加到自己的文件中,下次打开“命令提示符”窗口时,它将出现在该文件中。
| 归档时间: |
|
| 查看次数: |
4264 次 |
| 最近记录: |