在 Windows 中将“ls”映射到“dir”命令的最简单方法是什么?

在 Windows 中将“ls”映射到“dir”命令的最简单方法是什么?

我找到了一些关于 Windows 中的命令行别名的帖子,但其中大多数与cd经常使用的长命令/路径的别名有关,我无法让它们满足我的需要。

就我而言,当我使用命令提示符时,我会时不时地在 Windows 和 MacOS 之间切换。由于我在两者之间来回切换,我习惯性地会在其中一个或另一个中输入ls或,然后出现明显的错误。dir

具体到这个问题,我想做的是将“ls”的某种别名映射到“dir”,这样如果我不小心输入了“ls”,我就会获得与“dir”命令相同的功能。我不需要任何复杂的参数映射,只需要一个简单的别名ls即可dir

如果有适用于 cmd 的解决方案,我将非常感激您的指导。

答案1

在 PowerShell 中dirls具有相同的效果,一个是另一个的别名。

答案2

在 PowerShell 中,默认情况下已存在此类别名。(更准确地说,两者ls dirGet-ChildItemcmdlet 的别名。它还有 、 等默认别名catrm)因此,只需单独使用 Cmd 的 DOSKEY 即可。

与 Bash 类似,PowerShell 具有别名和 shell 函数:

Set-Alias -Name ls -Value Get-ChildItem
Set-Alias -Name vim -Value notepad.exe
Remove-Item -Path Alias:curl -ErrorAction Ignore
Function kssh {ssh -o PreferredAuthentications=gssapi-with-mic $args}

DOSKEY 在控制台窗口级别定义别名;它们在 Cmd 中工作,因为它一次读取一整行并让控制台处理实际输入(文件制表符补全也由控制台提供),但在 PowerShell 中不起作用,因为它以“原始”模式读取键,一次一个键(它有自己的“PSReadline”,很像 Bash 的 readline)。

相关内容