为什么 Windows 11 PowerShell 或终端缺少 Linux 命令行工具?

为什么 Windows 11 PowerShell 或终端缺少 Linux 命令行工具?

我使用的是 Windows 11。在终端中,通常的 Linux 命令不可用。因此,诸如chmod和之类的命令vim会返回如下命令行错误:

vim : The term 'vim' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the
spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ vim ~/.bashrc
+ ~~~
    + CategoryInfo          : ObjectNotFound: (vim:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

我该如何解决这个问题?我已经有十年没用过 Windows 了,所以请大家多多包涵!

答案1

Windows 不是 Linux。如果不安装适用于 Linux 的 Windows 子系统(WSL)、第三方工具如MinGW-w64或者赛格威或 Linux虚拟机

根据您的要求,其中一个或另一个第三方工具/套件很可能会满足您的需求。

如果您编辑问题并添加更多细节,我们就可以为您提供最合适的解决方案。

答案2

Windows 和 Linux 是可区分的操作系统,默认情况下不支持 Linux 命令或 shell 命令。但您可以安装适用于 Linux 的 Windows 子系统 (WSL)以便在系统上执行 Linux 命令。

必须注意的是适用于 Linux 的 Windows 子系统 (WSL)仅适用于Windows 10 及更高版本. 它与任何先前版本的 Windows 操作系统都不兼容。

有几种第三方工具可用于在 Windows 系统上运行 Linux 命令,例如

Git Bash
Cygwin
MSYS2
Babun
Gow
UWin
MinGW
PowerShell with Windows Compatibility Pack

用户可自行决定是否安装 WSL 或使用第三方应用程序在其 Windows 系统上执行 Linux 命令。

您还可以使用Oracle VM VirtualBox在一台计算机上同时运行多个操作系统,而无需单独的硬件,包括 Linux。

答案3

在 Windows PowerShell 中,某些 Linux 命令无法使用,因为它们有预定义的别名。

例如,ls是 的别名,Get-ChildItems或者cat是 的别名Get-Content。但正如其他用户所说,Windows 本身并不支持 Linux 可执行文件。

您可以查看使用命令设置的所有别名Get-Alias,也可以使用定义自己的别名Set-Alias -Name "youralias" -Value "yourcommand",还可以通过将它们添加到配置文件中来持久保存它们。您可以在变量中找到您的配置文件$profile。PowerShell 配置文件与 相当.bashrc

答案4

是的,你可以使用VIM机器内部Windows安装git bash适用于 Windows 架构。

  • Git bash 类似于 linux 终端,因此您可以在其上使用 linux 命令。

参考0

参考文献1

相关内容