我已经在 Linux 上使用 Bash shell 多年了,而且我使用它的速度非常快。通过频繁按下 Tab 键来调用自动完成功能,我能够在几次击键中编写长命令。
最近,我在工作中开始使用 Windows 命令提示符和 Cmd。我在 Cmd 中运行速度很慢。它具有自动完成功能,但工作方式不同。我想我了解它的工作原理,但我不知道如何有效地使用它,事实上它经常让我的速度变慢。所以我问,如何有效地使用 Cmd 的自动完成功能?
举个例子。首先,我将描述如何使用 Bash,然后描述我如何尝试使用 Cmd,以及会出现什么问题。
假设当前目录中的文件夹名称由某个大洲和某个国家组成,例如,,,,africa-nigeria
并且我想将文件夹更改为。asia-india
europe-france
europe-norway
Bash 自动完成的工作方式是,只有存在唯一扩展时,Tab 键才会扩展。否则,什么也不会发生,但您可以再次按下 Tab 键来列出可能的扩展。
因此,要在 Bash 中转到挪威,我输入cd
并进行以下击键:
- e tab为了
europe-
- n tab(什么都没发生)
- tab再次。它列出了
europe-netherlands
和europe-norway
作为潜在的扩展。 - o tab为了
europe-norway
。
太棒了!谢谢 Bash。
但是,当我在 Cmd 中尝试相同的键时,它会扩展e tab为europe-albania
,这恰好是第一个以“e”开头的文件夹,但不是我想要的文件夹!我现在应该怎么做— 可以将阿尔巴尼亚变成挪威吗?还是我必须取消命令Escape并从头开始输入所有内容?
答案1
1 年更新:我得出结论,Cmd 的自动完成功能无法使用,因此停止使用它。
我安装了碰杯它为您提供 Cmd 中的 Bash 样式的自动完成功能。
Clink 将原生 Windows shell cmd.exe 与 GNU Readline 库强大的命令行编辑功能相结合,提供丰富的完成、历史记录和行编辑功能
这个棒极了。
答案2
答案3
按下该TAB键可在所有现有目录之间切换。
尝试进入cd
几次TAB你就会明白其中的原理。
cd countries/europe-s[TAB][TAB]
例如将带你进入第二场比赛 (countries/europe-serbia)
答案4
Linux 中的 Bash 尝试匹配并自动填充所有文件所共有的所有首字符。
另一方面,Windows 命令提示符仅使用匹配的第一个元素自动填充命令提示符。
例如:在 linux bash 中:输入 cd countries\e 后TAB,bash 将进入 countries\europe-,因为它匹配所有以 e 开头的文件名,然后您可以输入接下来的几个字符并TAB再次按。
在 Windows 命令提示符中:输入 cd countries\e 后TAB,命令提示符将匹配第一个以 e 开头的文件名,在本例中为 europe-albania,但它仍然记得您只输入了“e”。因此,如果您TAB再次按此键,它将显示下一个可能的匹配项(按字母顺序排列),europe-andorra。
如果您想更快到达欧洲-挪威,您可以:
- 输入 europe-no 然后按TAB或
- 输入 e 然后一直按TAB直到显示 europe-norway