假设我有一个文件夹,其中的文件名称如下:
log_1.log
log_2.log
log_2.gz
我想在 log_2.gz 上执行一些操作,比如说移动。
在 Windows cmd.exe 中,我习惯于执行以下步骤:
- 类型
move
(仅此而已) - tabtabtab遍历选项卡完成选项,直到我到达
log_2.gz
- 类型
destination
但是在 bash shell 中(在 Mac OS X 10.8.3 上的 iTerm2 中),我必须这样做:
- 类型
mv l
- tab它带我去
log_
并发出恼人的哔哔声 - 类型
2
- tab它带我去
log_2.
并发出恼人的哔哔声 - 类型
g
- tab它带我去
log_2.gz
并且令人满意地沉默 - 类型
destination
如您所见,即使您知道目标文件名,bash 也需要更多步骤,但想象一下您不确定文件名中的确切内容(可能ls
太长)的场景。在几次 + 输入后,我经常发现自己处于这种情况,tab并且被迫放弃命令,ls
再次运行,复制文件名,甚至可能运行 apwd
与文件夹连接,然后从我离开的地方继续。这很烦人。